Bài giảng Hệ điều hành Chương 4 Quản lý file nêu các khái niệm cơ bản giới thiệu 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. 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 đó.
Trang 1CHƯƠNG 4 QUẢN LÝ FILE
Trang 21 Các khái niệm cơ bản
Trang 3Giới thiệu
3
Trang 4Hệ 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
…
Trang 6Tập tin – phân loại
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
File âm thanh, video,
File text File.txt
Trang 7Tậ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
Trang 8Tập tin – thuộc tính
Quyền hạn sử dụng
Trang 9Tập tin – thuộc tính
Một số thông tin khác
9
Trang 10Tậ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
Trang 117 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, dir
11
Trang 12Tậ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
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
Trang 13Thư 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
www fun
3013
13
Trang 14Thư 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 ( )
Trang 152 Tổ chức thông tin trên đĩa từ
Trang 16Đĩa từ - cấu trúc
read-write head
track sectors
Trang 17Đĩ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
Trang 18Đĩ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
Trang 19Đĩa từ - cấu trúc
Head 0 Head 2
19
Trang 20Đĩ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.
Trang 21Đĩ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
Trang 22Đĩa từ - thuật toán đọc đĩa
Trang 23TRUY XUẤT ĐĨA CỨNG
3 yếu tố ảnh hưởng thời gian truy xuất đĩa
Seek time: thời gian di chuyển đầu đọc tới track
Latency: thời gian để quay đĩa sao cho sector cần đọc
nằm dưới đầu đọc
Transfer time: thời gian đọc/ ghi dữ liệu lên sector
Thực tế:
Seek time >> latency time > transfer time
Tối ưu seek time định thời truy xuất đĩa
Tối ưu latency time:
Làm đĩa nhỏ, quay nhanh hơn, lưu trữ dữ liệu liên quan gần nhau
Chọn kích thước sector, nơi lưu trữ các file thường dùng hợp lý
23
Trang 24CÁC GIẢI THUẬT ĐỊNH THỜI ĐĨA
Bài toán: Cóù n yêu cầu đọc đĩa ở các track khác nhau x1, x2, … , xN vào các thời điểm tương ứng t1, t2, …, tN
phục vụ các yêu cầu đó vào thời điểm nào?
Tiêu chuẩn đánh giá
Công bằng
Hiệu suất cao
Thời gian đáp ứng trung bình thấp
Dự đoán được thời gian phục vụ
Một số giải thuật tiêu biểu:
FCFS
Trang 25First 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ụ
7
21 8
24
scheduling queue
Trang 26Shortest Seek Time First - SSTF
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ờ…
Trang 29 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):
29
Trang 30LOOK – 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.
Trang 31LOOK – 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
Trang 323 Hệ thống quản lý tập tin trên
Windows
Trang 33° Phân hoạch đĩa cứng theo chuẩn Basic Disk
(Tối đa 4 Primary Partitions hoặc 3 Primary Partitions + 1 Extended Partition, trong số đó có 1 Active Partition)
Master Boot Record
MBR Partition 1 Partition 2 Partition 3 Partition 4
BR
Boot Record (Sector)
FAT1 FAT2 RootDir
Thư mục Gốc Đầu mục (Directory Entry) trỏ đến tập tin hay thư mục con
2 3 Các liên cung (Cluster) dữ liệu
1 Cluster= n Sector
1 Sector= 512 Bytes
FAT File System
33
Trang 36° Ổ đĩa NTFS trong Windows 2000/XP/2003
– Simple Volume: Ổ đơn dựa trên 1 vùng nhớ của
Dynamic Disk (phân biệt với Basic Disk ).
Một đĩa cứng có thể phân hoạch thành nhiều ổ đơn.
– Spanned Volume: Ổ ghép trải trên nhiều ổ đơn.
– Striped Volume: Ổ song song Nội dung mỗi tập tin
rải trên nhiều ổ đơn Còn gọi là RAID-0
– Mirrored Volume: Ổ ánh xạ gương Bao gồm 1 ổ đơn
được ánh xạ tự động sang 1 ổ đơn khác Còn gọi là
RAID-1
– RAID-5 Volume (Redundant Array of Inexpensive
Disks): Trải trên 3 hoặc hơn ổ đĩa đơn Dữ liệu được rải trên các ổ đĩa thành phần cùng với thông tin chẵn lẻ (parity) để đảm bảo khả năng kháng lỗi (fault
tolerance) mà Striped Volume không làm được.
Trang 37Master Boot Record
STT Số bytes Nội dung
1 1 Chỉ thị Partition (80h = Active, 00h = Không Active)
2 1 Head bắt đầu
3 2 Cylinder bắt đầu (10 bits), Sector bắt đầu (6 bits)
4 1 Chỉ thị hệ thống (Nhận diện HĐH)
5 1 Head kết thúc
6 2 Cylinder kết thúc (10 bits), Sector kết thúc (6 bits)
7 4 Sector lô-gic bắt đầu (tương đối với sector đầu tiên)
8 4 Tổng số sector của Partition
– Chứa chương trình Khởi động , Đọc bảng mô tả các Partition trên đĩa , Tìm Active Partition , Chọn HĐH , Chuyển điều khiển cho chương trình trong Boot Record của Partition vừa chọn.
– Mỗi Partition được mô tả bằng 16 bytes sau:
37
Trang 38Boot Record
1 3 Lệnh nhảy đến đầu đoạn mã boot của Boot Record
2 8 Tên và số hiệu phiên bản HĐH (ví dụ: MS DOS 6.0)
3 2 Số bytes / Sector (thường là 512 bytes)
4 1 Số Sector / Cluster
6 1 Số bảng FAT (thường là 2)
7 2 Số đầu mục (Directory Entry) trong Thư mục gốc
8 2 Tổng số sector của Partition
9 1 Nhận dạng thiết bị (ví dụ: F8 h -> Đĩa cứng)
10 2 Số sector / bảng FAT
11 2 Số sector / rãnh (track)
12 2 Số đầu đọc (head)
13 4 Số sector ẩn (hidden sectors)
14 4 Tổng số sector của Partition
15 1 Số đĩa vật lý
Trang 39Cấu trúc Directory Entry trong hệ tập tin
FAT12 và FAT16
Nếu tên tập tin bắt
đầu bằng mã E5 h,
tập tin đã bị loại bỏ
Thời gian cập nhật gần nhất:
- Giờ ( 5 bit), Phút ( 6 bit), Giây ( 5 bit)
- Ngày ( 5 bit), Tháng ( 4 bit), Năm ( 7 bit)
39
Trang 40Cấu trúc Directory Entry trong hệ tập tin FAT32
Ngày truy cập gần nhất
Nửa cuối của số hiệu Cluster đầu tiên Nửa đầu của số hiệu
Cluster đầu tiên
Trang 41Các thuộc tính
41
Trang 42BAD
Không sử dụng cho vùng dữ liệu
vùng dữ liệu.
(cluster tương ứng chưa dùng)
gif
42
Trang 43Quá 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