Cung cấp cơ chế
Lưu trữ
truy cập dữ liệu và chương trình trên đĩa
Đơn vị lưu trữ: tập tin (file)
Thư mục là 1 dạng tập tin đặc biệt
Một số hệ thống tập tin hiện nay:
FAT: FAT12, FAT16, FAT32
NTFS
Ext2, ext
Vfat
43 trang |
Chia sẻ: lylyngoc | Lượt xem: 1868 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 4 Quản lý file, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƢƠNG 4
QUẢN LÝ FILE
1. Các khái niệm cơ bản
Giới thiệu
3
Hệ thống tập tin
Cung cấp cơ chế
Lưu trữ
truy cập dữ liệu và chương trình trên đĩa
Đơn vị lưu trữ: tập tin (file)
Thư mục là 1 dạng tập tin đặc biệt
Một số hệ thống tập tin hiện nay:
FAT: FAT12, FAT16, FAT32
NTFS
Ext2, ext
Vfat
…
4
Tập tin (file)
Đơn vị thông tin của bộ nhớ ngoài. Được HĐH
ánh xạ trên ổ đĩa vật lý
Tập hợp dữ liệu có quan hệ với nhau phục vụ
cho một chương trình nào đó
Được quản lý bới hệ điều hành – quản lý tài
nguyên
Xác định bằng tên tập tin
Example.c
5
Tập tin – phân loại
Loại file Ví dụ Ý nghĩa
Thực thi file.exe File chứa mã lệnh dùng để load lên bộ nhớ và thực thi
Backup File.bak Backup file
Nguồn File.c File chứa mã nguồn gồm các dòng code, hàm,…
Đối tượng File.o File được tổ chức thành các khối được trình liên kết hiểu
Batch
File.sh
File.bat
File chứa tập các lệnh
Thư viện
File.dll
File.lib
File chứa thư viện các hàm để dùng cho các chương trình
Hình ảnh
File.jpg
file.bmp
File hình ảnh được mã hóa bằng các chuẩn JPEG, RLE,…
Multimedia
File.mp3
File.wma
File.rm
File âm thanh, video, ..
File text File.txt
Nén File.zip
Tài liệu
File.pdf
File.doc
…..
Một số loại file thông dụng6
Tập tin – thuộc tính
Tên tập tin
Loại tập tin
Nơi lưu tập tin
Kích thước tập tin
Thời gian
Thuộc tính
7
Tập tin – thuộc tính
Quyền hạn sử dụng
8
Tập tin – thuộc tính
Một số thông tin khác
9
Tập tin – cấu trúc
(a) Chuỗi các bit, byte – file mã hóa
(b) Tập các record – file danh sách sinh viên
(c) Dạng cây - BTree
10
Tập tin – thao tác
1. Tạo – create
2. Ghi dữ liệu – write
3. Đọc dữ liệu – read
4. Xóa – delete
5. Mở - open
6. Đóng – close
7. Ghi thêm dữ liệu – append
8. Di chuyển đến 1 khối dữ liệu bất kỳ - seek
9. Đọc thuộc tính – get attr
10. Gán thuộc tính – set attr
11. Đổi tên – rename
12. Sao chép – copy
13. Tìm kiếm - search
14. Liệt kê – list, dir11
Tập tin – phương pháp truy cập
Giả thiết: có 1 tập tin lưu danh sách sinh viên
Đặt vấn đề: cần đọc thông tin của sinh viên thứ N
Kích thƣớc mỗi
record
Giải quyết Phƣơng pháp
khác nhau Phải đọc từ đầu Truy cập tuần tự
Giống nhau 1. Tính vị trí logic lưu SV thứ N là
p
2. Di chuyển đến vị trí p và đọc
Truy cập ngẫu
nhiên
Khác nhau
(Có 1 bảng lưu vị
trí lưu mỗi SV)
1. Tra bảng
2. Di chuyển đến vị trí p và đọc
Truy cập index
12
Thư mục
Là một tập tin đặc biệt. Trong nhiều hệ thống thư mục
được coi như là tập tin
Giúp cho việc quản lý các tập tin dễ dàng hơn.
Gom nhóm các tập tin vào trong các thư mục theo ý
nghĩa và mục đích sử dụng của người dùng.
Giúp định vị các tập tin 1 cách nhanh chóng.
Có thể chứa thư mục con. root
bob sue
www fun3013
13
Thư mục - Đường dẫn (Path)
Dùng để xác định vị trí lưu tập tin khi hệ thống
được tổ chức thành cây thư mục:
Đường dẫn tuyệt đối:
Ví dụ: “C:\Downloads\software\baigiang.doc”
Đường dẫn tương đối:
Ví dụ: “software\baigiang.doc” nếu thư mục hiện hành là
“C:\Downloads\”
Các thư mục đặc biệt:
Thư mục hiện hành (.)
Thư mục cha (..)
14
2. Tổ chức thông tin trên đĩa từ
Đĩa từ - cấu trúc
read-write head
track
sectors
16
Đĩa từ - cấu trúc
Cấu trúc vật lý của đĩa từ:
Hình tròn, gồm nhiều mặt gọi là head.
Mỗi mặt có nhiều đường tròn đồng tâm gọi là
track.
Trên các đường tròn (track) được chia thành các
cung tròn gọi là sector.
Tập các track đồng tâm gọi là cylinder
Mỗi mặt có 1 đầu đọc để đọc ghi dữ liệu
Mỗi lần đọc/ghi ít nhất 1 cung tròn (512B).
17
Đĩa từ - cấu trúc
Vị trí của mỗi sector trong đĩa được thể hiện bằng
3 tham số : {sector, track, head}.
Head được đánh số từ trên xuống bắt đầu từ 0.
Track được đánh số từ ngoài vào bắt đầu từ 0.
Sector được đánh số bắt đầu từ 1 theo chiều
ngược với chiều quay của đĩa.
Mỗi lần đọc ghi N sector
18
Đĩa từ - cấu trúc
Head 0 Head 2
19
Đĩa từ - dung lượng đĩa
Kích thước đĩa phụ thuộc vào các yếu tố sau:
Số mặt từ, head
Số track trên mỗi mặt từ
Số sector trên mỗi track
Kích thước (byte) trên mỗi track.
20
Đĩa từ - tổ chức đĩa
Các thông số trên đĩa mềm 1.44MB:
2 head, 80 track/head, 18 sector/track.
Dung lượng đĩa = 2 head/disk *80 track/head *18
sector/track = 2880 sector/disk = 0.5 KB/sector *
2880 sector/disk = 1440 KB/disk (~ 1.4MB)
Sector logic: 0 đến 2879 và tương ứng với các
sector vật lý như sau:
Sector 0..17 tương ứng với sector vật lý (1,0,0)..(18,0,0)
Sector 18..35 tương ứng với sector vật lý (1,0,1)..(18,0,1)
…
Sector 2879 tương ứng với sector vật lý (18,79,1).
21
Đĩa từ - thuật toán đọc đĩa
First-Come-First-Serve (FCFS)
Shortest Seek Time First (SSTF)
SCAN, C-SCAN
Look, C-Look
…
22
TRUY XUAÁT ÑÓA CÖÙNG
3 yeáu toá aûnh höôûng thôøi gian truy xuaát ñóa
Seek time: thôøi gian di chuyeån ñaàu ñoïc tôùi track
Latency: thôøi gian ñeå quay ñóa sao cho sector caàn ñoïc
naèm döôùi ñaàu ñoïc
Transfer time: thôøi gian ñoïc/ ghi döõ lieäu leân sector
Thöïc teá:
Seek time >> latency time > transfer time
Toái öu seek time ñònh thôøi truy xuaát ñóa
Toái öu latency time:
Laøm ñóa nhoû, quay nhanh hôn, löu tröõ döõ lieäu lieân quan
gaàn nhau
Choïn kích thöôùc sector, nôi löu tröõ caùc file thöôøng duøng
hôïp lyù
23
CAÙC GIAÛI THUAÄT ÑÒNH THÔØI ÑÓA
Baøi toaùn: Coùù n yeâu caàu ñoïc ñóa ôû caùc track khaùc nhau
x1, x2, … , xN vaøo caùc thôøi ñieåm töông öùng t1, t2, …, tN
phuïc vuï caùc yeâu caàu ñoù vaøo thôøi ñieåm naøo?
Tieâu chuaån ñaùnh giaù
Coâng baèng
Hieäu suaát cao
Thôøi gian ñaùp öùng trung bình thaáp
Döï ñoaùn ñöôïc thôøi gian phuïc vuï
Moät soá giaûi thuaät tieâu bieåu:
FCFS
SSTF
SCAN, N-step-SCAN, C-SCAN
CLOOK
24
First Come First Serve - FCFS
Phục vụ theo thứ tự yêu cầu
Đơn giản nhưng không đáp ứng tốt dịch vụ
ti
m
e
cylinder number
1 5 10 15 20 25
12
Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):
142721824
scheduling
queue
24
8
21
7
2
14
12
25
Shortest Seek Time First - SSTF
ti
m
e
cylinder number
1 5 10 15 20 25scheduling
queue
24
8
21
7
2
14
12
Chọn nhu cầu gần với vị trí hiện hành nhất.
Có nhiều yêu cầu chờ ..chờ…và chờ…
26
SCAN
Di chuyển đầu đọc về 1 phía của đĩa đến block xa
nhất sau đó di chuyển về phía kia.
Còn gọi là thuật toán thang máy.
12 14 2 7 21 8 24
Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):
ti
m
e
27
SCAN vs. FCFS
Trong
trường
hợp này,
SCAN tốt
hơn
FCFS vì
hạn chế
sự di
chuyển
của đầu
đọc đĩa
Sector number
1 5 10 15 20 25
ti
m
e
ti
m
e
28
C-SCAN
Nguyên tắc:
Tương tự thuật toán SCAN.
Chỉ khác khi di chuyển đến 1 đầu của đĩa thì trở về
vị trí bắt đầu của đĩa.
12 14 2 7 21 8 24
Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):
ti
m
e
29
LOOK – C-LOOK
Nhận xét:
Hai thuật toán lập lịch SCAN và C-SCAN luôn luôn
di chuyển đầu đọc của đĩa từ đầu này sang đầu kia
và di chuyển đến khối cuối cùng ở mỗi hướng.
Nguyên tắc:
Giống SCAN và C-SCAN nhưng chỉ di chuyển đầu
đọc đến khối xa nhất chứ không đến cuối.
30
LOOK – C-LOOK
Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):
12 14 2 7 21 8 24
31
3. Hệ thống quản lý tập tin trên
Windows
° Phaân hoaïch ñóa cöùng theo chuaån Basic Disk
(Toái ña 4 Primary Partitions hoaëc 3 Primary Partitions + 1 Extended
Partition, trong soá ñoù coù 1 Active Partition)
Master Boot Record
MBR Partition 1 Partition 2 Partition 3 Partition 4
BR
Boot Record (Sector)
FAT1 FAT2 RootDir ...
Thö muïc Goác
Ñaàu muïc (Directory Entry) troû ñeán taäp tin hay thö muïc con
2 3
Caùc lieân cung (Cluster)
döõ lieäu
1 Cluster= n Sector
1 Sector=512 Bytes
FAT File System
33
Basic type
Tối đa 4 phân vùng (partition)
Loại partition
Primary
Mỗi phân vùng: ấn định 1 ký tự
Extended
Có thể tạo nhiều logicial drive, ấn định 1 ký tự cho mỗi
logical drive
34
Dynamic type
Chia thành nhiều volume, Không bị giới hạn số
lượng
Loại Volume
Simple
Striped
Spanned
Mirrored (RAID-1)
Redundant Array of Independent Disks (RAID-5)
35
° OÅ ñóa NTFS trong Windows 2000/XP/2003
– Simple Volume: OÅ ñôn döïa treân 1 vuøng nhôù cuûa
Dynamic Disk (phaân bieät vôùi Basic Disk).
Moät ñóa cöùng coù theå phaân hoaïch thaønh nhieàu oå ñôn.
– Spanned Volume: OÅ gheùp traûi treân nhieàu oå ñôn.
– Striped Volume: OÅ song song. Noäi dung moãi taäp tin
raûi treân nhieàu oå ñôn. Coøn goïi laø RAID-0.
– Mirrored Volume: OÅ aùnh xaï göông. Bao goàm 1 oå ñôn
ñöôïc aùnh xaï töï ñoäng sang 1 oå ñôn khaùc. Coøn goïi laø
RAID-1.
– RAID-5 Volume (Redundant Array of Inexpensive
Disks): Traûi treân 3 hoaëc hôn oå ñóa ñôn. Döõ lieäu ñöôïc
raûi treân caùc oå ñóa thaønh phaàn cuøng vôùi thoâng tin chaün
leû (parity) ñeå ñaûm baûo khaû naêng khaùng loãi (fault
tolerance) maø Striped Volume khoâng laøm ñöôïc.
36
Master Boot Record
STT Soá bytes Noäi dung
1 1 Chæ thò Partition (80h = Active, 00h = Khoâng Active)
2 1 Head baét ñaàu
3 2 Cylinder baét ñaàu (10 bits), Sector baét ñaàu (6 bits)
4 1 Chæ thò heä thoáng (Nhaän dieän HÑH)
5 1 Head keát thuùc
6 2 Cylinder keát thuùc (10 bits), Sector keát thuùc (6 bits)
7 4 Sector loâ-gic baét ñaàu (töông ñoái vôùi sector ñaàu tieân)
8 4 Toång soá sector cuûa Partition
– Chöùa chöông trình Khôûi ñoäng, Ñoïc baûng moâ taû caùc
Partition treân ñóa, Tìm Active Partition, Choïn HÑH,
Chuyeån ñieàu khieån cho chöông trình trong Boot Record
cuûa Partition vöøa choïn.
– Moãi Partition ñöôïc moâ taû baèng 16 bytes sau:
37
Boot Record
STT Soá bytes Noäi dung
1 3 Leänh nhaûy ñeán ñaàu ñoaïn maõ boot cuûa Boot Record
2 8 Teân vaø soá hieäu phieân baûn HÑH (ví duï: MS DOS 6.0)
3 2 Soá bytes / Sector (thöôøng laø 512 bytes)
4 1 Soá Sector / Cluster
5 2 Döï tröõ
6 1 Soá baûng FAT (thöôøng laø 2)
7 2 Soá ñaàu muïc (Directory Entry) trong Thö muïc goác
8 2 Toång soá sector cuûa Partition
9 1 Nhaän daïng thieát bò (ví duï: F8 h -> Ñóa cöùng)
10 2 Soá sector / baûng FAT
11 2 Soá sector / raõnh (track)
12 2 Soá ñaàu ñoïc (head)
13 4 Soá sector aån (hidden sectors)
14 4 Toång soá sector cuûa Partition
15 1 Soá ñóa vaät lyù
16 1 Döï tröõ
17 1 Kyù hieäu HÑH
18 4 Serial Number
19 11 Volume Label
20 1 Döï tröõ
21 450 Ñoaïn maõ cuûa Boot Record duøng naïp HÑH töø ñóa
38
Caáu truùc Directory Entry trong heä taäp tin
FAT12 vaø FAT16
Neáu teân taäp tin baét
ñaàu baèng maõ E5 h,
taäp tin ñaõ bò loaïi boû
A D V S H R
A - Archive
D - Directory
V -Volume Label
S - System
H - Hidden
R - Read-Only
Soá hieäu
Cluster
ñaàu tieân
cuûa taäp
tin hay
thö muïc
con
Thôøi gian caäp nhaät gaàn nhaát:
- Giôø (5 bit), Phuùt (6 bit), Giaây (5 bit)
- Ngaøy (5 bit), Thaùng (4 bit), Naêm (7 bit)
39
Bytes
Caáu truùc Directory Entry trong heä taäp tin FAT32
Ngaøy truy caäp gaàn nhaát
Nöûa cuoái cuûa soá hieäu
Cluster ñaàu tieân
Nöûa ñaàu cuûa soá hieäu
Cluster ñaàu tieân
40
Bytes
Checksum
Caáu truùc Directory Entry duøng chöùa moät phaàn
teân daøi trong Windows
Soá thöù töï
Toång kieåm
tra
Caùc thuoäc tính
41
° Baûng FAT
...
12, 16 hoaëc 32 bits -> FAT12, FAT16, FAT32
2
1
0
3
4
5
6
7
8
9
10
11
12
File A.gif treân caùc Cluster: 6, 4, 2
A 6
4
2
EOF
BAD
Khoâng söû duïng cho
vuøng döõ lieäu
°Moãi doøng trong FAT (keå töø doøng 2
trôû ñi) töông öùng vôùi 1 Cluster trong
vuøng döõ lieäu.
°Moät soá maõ ñaëc bieät (trong FAT32):
– EOF coù maõ FFFFFFFF h
– BAD coù maõ FFFFFFF7 h
– Troáng öùng vôùi maõ 00000000 h
(cluster töông öùng chöa duøng)
gif
42
Quá trình boot hệ thống
1. POST (Power-On-Self-Test)
2. Tải MBR để đọc thông tin bảng phân vùng.
3. Tìm phân vùng “active”.
4. Chuyển quyền điều khiển về cho đoạn mã chương
trình nằm trong Boot Record của phân vùng “active”
5. Tải HĐH tại phân vùng “active”.
Power on
Reboot
Khởi tạo hệ thống
CPU, device controller, main memory, load đoạn code khởi động hđh
43