Bài giảng Hệ điều hành - Chương: Giới thiệu hệ thống tập tin FAT

Môn học: Hệ điều hành  
1
• Giới thiệu hệ thống tập tin FAT  
• Vùng Boot Sector  
• Bảng thư mục gốc (RDET)  
• Bảng FAT  
• Vùng dữ liệu  
• Bảng thư mục con  
2
• FAT là hệ thống tập tin được sử dụng trên HĐH MS-DOS và  
Windows 9x (trên Windows họ NT có thêm hệ thống NTFS)  
• Có 3 loại FAT  
– FAT12  
– FAT16  
– FAT32  
• Tổ chức thành 2 vùng  
– Vùng hệ thống  
• Vùng Boot Sector  
• Bảng FAT  
• Bảng thư mục gốc (có thể nằm trên vùng dữ liệu)  
– Vùng dữ liệu  
File allocation  
table 1  
File allocation  
table 2 (duplicate)  
Boot sector  
Root directory Other directories and all files  
3
• Gồm một số sector đầu tiên của phân  
vùng (partition), trong đó:  
– Sector đầu tiên (Boot Sector):  
• Chứa các thông số quan trọng của phân vùng  
• Chứa một đoạn chương trình nhỏ để nạp HĐH khi  
khởi động máy  
– Các sector còn lại (nếu có):  
• Chứa các thông tin hỗ trợ cho việc xác định tổng  
số cluster trống & tìm kiếm cluster trống được hiệu  
quả  
• Chứa một sector bản sao của Boot sector  
4
5
6
• Nằm trên vùng hệ thống (FAT12 & FAT16) hoặc nằm trên vùng dữ  
liệu (FAT32)  
• Gồm một dãy các phần tử (gọi là entry), mỗi phần tử có kích  
thước 32 bytes chứa các thông tin của 1 tập tin hoặc một thư  
• Thông tin của mỗi tập tin/ thư mục có thể chiếm 1 hay nhiều  
entry  
• Byte đầu tiên của mỗi entry cho biết trạng thái của entry này  
– 0 – entr
– E5h – tập tin chiếm entry này đã bị xóa  
– Giá trị khác – đang chứa thông tin của tập tin/ thư mục  
• Có 2 loại entry  
– Entry chính: chứa các thông tin của tập tin  
– Entry phụ: chỉ chứa tên của tập tin  
7
…
32 bytes  
32 bytes  
Entry chính  
Entry phụ N  
…
Entry phụ 2  
Entry phụ 1  
Entry chính  
Entry chính  
…
8
Offset (hex)  
Số byte  
Ý nghĩa  
0
8
8
3
1
1
3
2
2
2
2
2
4
Tên chính /tên ngắn - lưu bằng mã ASCII  
Tên mở rộng – mã ASCII  
B
Thuộc tính trạng thái (0.0.A.D.V.S.H.R)  
Dành riêng  
C
D
Giờ tạo (miligiây:7; giây:6; phút:6; giờ:5)  
Ngày tạo (ngày: 5; tháng: 4; năm-1980: 7)  
Ngày truy cập gần nhất (lưu như trên)  
Cluster bắt đầu – phần Word (2Byte) cao  
Ngày cập nhật gần nhất (lưu như trên)  
Cluster bắt đầu – phần Word thấp  
Kích thước của phần nội dung tập tin  
10  
12  
14  
16  
18  
1A  
1C  
9
Offset  
0
Số byte  
Ý nghĩa  
1
A (10d)  
1
Thứ tự của entry (bắt đầu từ 1)  
5 ký tự UniCode – bảng mã UTF16  
Dấu hiệu nhận biết (luôn là 0Fh)  
6 ký tự kế tiếp  
1
B (11d)  
E (14d)  
1C (28d)  
C (12d)  
4
2 ký tự kế tiếp  
10  
• Nằm trên vùng hệ thống  
• Thường có 2 bảng: 1 bảng chính và 1 bảng dự phòng  
• Lưu vị trí của các tập tin/ thư mục theo kiểu danh  
sách liên
Giá trị  
X
X
3
4
EOF  
7
EOF  
6
Phần tử  
0
1
2
3
4
5
6
7
• Kích thước mỗi phần tử FAT phụ thuộc vào loại FAT  
– FAT12: kích thước mỗi phần tử là 12 bits ~ 1.5 bytes  
– FAT16: kích thước mỗi phần tử là 16 bits ~ 2 bytes  
– FAT32: kích thước mỗi phần tử là 32 bits ~ 4 bytes  
11  
• Phần tử thứ k trên bảng FAT (đánh số từ 0) cho biết trạng  
thái của cluster thứ k trên vùng dữ liệu (đánh số từ 2) 2  
phần tử đầu của bảng FAT không dùng  
Giá trị của phần tử k trên bảng FAT  
Trạng thái của cluster  
k trên vùn
Ghi chú  
0
0
0
Trống  
Hư  
= FREE  
= BAD  
= EOF  
FF7  
FFF7  
FFFF  
2 .. FFEF  
0FFFFFF7  
0FFFFFFF  
2..0FFFFFEF  
Cluster cuối của file  
Chứa nội dung file  
FFF  
2 .. FEF  
• FAT 12 qu
• FAT 16 quản lý được tối đa 65518 (FFEEh) cluster  
• Nếu số cluster quá 65518 thì dùng FAT 32  
12  
• Lưu trữ bảng FAT là dãy byte  
Giá trị  
F0 FF FF 03 40 00 FF 7F FF AB CD EF  
Byte  
0
1
2
3
4
5
6
7
8
9
A
B
• Truy xuất theo FAT 32 (mỗi phần tử 4 bytes)  
Giá trị  
F0 FF FF 03 40 00 FF 7F FF AB CD EF  
Byte  
1
3
5
B
Giá trị  
03 FF FF F0  
7F FF 00 40  
EF CD AB FF  
Ptử FAT  
0
1
2
• Truy xuất
Giá trị  
F0 FF FF 03 40 00 FF 7F FF AB CD EF  
Byte  
0
1
2
3
4
5
6
7
8
9
A
B
Giá trị  
FFF0  
03FF  
0040  
7FFF  
43  
ABFF  
EFCD  
13  
Ptử F0AT  
1
2
5
• Truy xuất theo FAT 12 (mỗi phần tử 1.5 bytes)  
Giá trị  
F0 FF FF 03 40 00 FF 7F FF AB CD EF  
Byte  
0
1
2
3
4
5
6
7
8
9
A
B
Giá trị  
FF0  
FFF  
003  
004  
FFF  
FF7  
DAB  
EFC  
Ptử FAT  
0
1
2
3
4
5
6
7
– Phần tử chẵn: F0 FF FF0  
– Phần t
• Công thức tương quan giữa phần tử thứ k và byte thứ i trên  
bảng FAT  
i = k * <kích thước phần tử FAT>  
14  
• Mỗi phần tử trên vùng dữ liệu, gọi là  
cluster, có kích thước 2n sector, tùy  
thuộc vào người dùng khi format  
• Cluster trên vùng dữ liệu đánh số từ 2  
• Công thức tương quan giữa cluster thứ k  
trên vùng dữ liệu và sector thứ i trên phân  
vùng  
i = SB + SF*NF + [SRDET] + (k – 2)*Sc  
15  
• Chứa thông tin các tập tin/ thư mục con  
của một thư mục  
• Nằm trên vùng dữ liệu, có cấu trúc hoàn  
toàn giống bảng thư mục gốc  
• Mỗi SDET luôn có 2 entry „.„ và „..„ ở đầu  
bảng mô tả về chính thư mục này và thư  
mục cha của nó  
16  
.
32 bytes  
32 bytes  
..  
Entry chính  
…
Entry phụ 2  
Entry phụ 1  
Entry chính  
…
17  
• Đọc nội dung tập tin (TYPE)  
– Xác định entry chính trong bảng thư mục  
(RDET/ SDET) chứa thông tin của tập tin dựa  
vào phần tên và phần mở rộng (lưu ý trường  
hợp tên dài)  
– Từ entry chính tìm được, ta có được chỉ số  
cluster/ phần tử FAT đầu tiên  
– Từ phần tử FAT đầu tiên này, vào bảng FAT,  
xác định các phần tử còn lại của tập tin,  
tương ứng có được các cluster của tập tin này  
các sector của tập tin  
– Đọc các sector nội dung của tập tin  
18  
• Liệt kê nội dung thư mục (DIR)  
– Xác định entry chính trong bảng thư mục (RDET/ SDET)  
chứa thông tin của thư mục dựa vào phần tên (lưu ý  
trường hợp tên dài)  
– Từ entry chính tìm được, ta có được chỉ số cluster/ phần  
tử FAT đầu tiên  
– Từ phần tử FAT đầu tiên này, vào bảng FAT, xác định các  
phần tử còn lại của tập tin, tương ứng có được các cluster  
của tập tin này các sector của tập tin  
– Đọc các sector nội dung tìm được theo từng entry (32  
bytes) và hiển thị thông tin của các tập tin và thư mục con  
của thư mục này  
19  
• Tạo tập tin (COPY CON)  
– Tìm đủ số entry trống liên tiếp nhau trên bảng thư mục  
(RDET/ SDET) để chứa thông tin của tập tin (lưu ý trường  
hợp tên dài)  
– Kiểm tra trên bảng FAT xem còn đủ số cluster trống để  
chứa nội dung của tập tin không  
– Lưu thông tin của tập tin vào các entry trống tìm được  
– Ghi giá trị vào các phần tử FAT trống tìm được theo dạng  
danh sách liên kết, đồng thời lưu nội dung tập tin vào các  
cluster tương ứng (theo chỉ số sector)  
20  
Tải về để xem bản đầy đủ
pdf 29 trang yennguyen 30100 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương: Giới thiệu hệ thống tập tin FAT", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_dieu_hanh_chuong_gioi_thieu_he_thong_tap_tin_fa.pdf