Là gì

bảng fat là gì

FAT là gì

Th.S-Nguyễn Văn Khải (TH&ĐS)

    1.

Đang xem: Bảng fat là gì

FAT (File Allocation Table) là bảng định vị File trên đĩa , bảng này liệt kê tuần tự số thứ tự của các cluster dành cho file lưu trú trên đĩa. Cluster là một nhóm các sector liền kề nhau (còn gọi là liên cung). Số lượng sector có trong một Cluster là do hệ điều hành áp đặt cho từng loại đĩa có dung lượng thích hợp. Đĩa mềm thường được nhóm 2 sector thành một cluster. Với đĩa cứng, số sector trong một cluster có thể là 4 , 8,16, 32 … Khi FAT đã chỉ định Cluster nào dành cho file thì toàn bộ các sector trong cluster đó bị file chiếm giữ kể cả khi trong thực tế file chỉ nằm trên một vài sector đầu của Cluster, còn các sector sau bỏ trống. Rõ ràng ta thấy số sector trong một cluster càng nhiều thì tình trạng lãng phí các sector bỏ trống mà file chiếm sẽ càng lớn.

    Thông tin về số lượng sector trong một cluster nằm trong 1 byte ở offset 0Dh của Boot sector. Bạn dùng lệnh L của DEBUG để nạp Boot Sector vào bộ nhớ, sau đó dùng lệnh D để xem 1 byte ở offset 0Dh này:

L 4000:0 2 0 1 ?

D 4000:0B L1 ?

Kết quả trả về là một số hệ 16

    Mỗi đĩa có 2 bảng FAT giống hệt nhau. FAT thứ nhất bắt đầu ngay sau Boot Sector và chiếm dụng nhiều sector tiếp theo, FAT thứ 2 để lưu đề phòng sự cố nằm tiếp theo sau FAT thứ nhất.

    Thông tin về số lượng sector dành cho một FAT nằm ở 2 byte từ offset 16h của Boot sector. Dùng lệnh Debug sau để xem :

L 4000:0 2 0 1 ?

D 4000:16h L2 ?

Kết quả trả về là 2 byte hệ 16 xếp ngược

    Mỗi phần tử của FAT chứa số thứ tự của Cluster mà file chiếm. Phần tử chứa mã FF FF là chỉ định kết thúc định vị của file và tiếp theo sau là FAT của file khác…Dùng lệnh Debug sau để xem nội dung của sector đầu tiên của FAT

L 4000:0 2 1 1 ?

D 4000:0 ?

Phần tử bắt đầu của FAT dành cho một FILE nào đó được chỉ ra bởi 2 byte nằm ở trường thứ 7 của đề mục ROOT của File đó.

    2. Có bao nhiêu loại FAT ? các phiên bản hiện tại của hệ điều hành DOS hoặc hệ điều hành Windows chỉ qui định có 3 loại FAT đó là FAT 12 dành cho đĩa mèm hoặc đĩa cứng có dung lượng rất bé. FAT 16 dành cho đĩa cứng có dung lượng từ 1 GB trở xuống. FAT 32 dành cho các đĩa cứng có dung lượng từ vài GB trở lên

    Độ dài của mối phần tử của FAT được tính bằng số bit . Độ dài này biểu thị khả năng chỉ thị số đếm của phần tử FAT. Với các đĩa mềm số lượng các cluster là nhỏ nên chỉ cần 12 bít đủ để chỉ thị số đếm này vì vậy các đĩa mềm dùng FAT 12 bít. Với đĩa cứng có dung lượng từ 1 GB trở lại để chỉ thị số Cluster lớn nhất thì phải dùng tới con số có độ dài 16 bít vì thế hình thành FAT 16 bít. Với các đĩa cứng có dung lượng từ vài GB trở lên , số lượng các sector trên đĩa rất lớn, đồng thời để hạn chế các sector bỏ trống trong mỗi cluster thì người ta qui định số sector trong mỗi cluster ít đi, do đó số lượng Cluster của cả đĩa sẽ rất lón. khi ấy phải dùng tới con số có độ dài 32 bít để chỉ thị số đếm này. Đây là lí do hình thành FAT 32 bit.

    Nếu dùng FAT 12 thì FAT này cũng chỉ quản lí được ổ đĩa có dung lượng lớn nhất là 64 MB, nếu dùng FAT 16 thì quản lí được ổ đĩa lớn nhất là 1024MB. Nếu dùng FAT 32 thì ngay cả khi nhóm 1sector vào 1 cluster cũng đã có thể quản lí được ổ đĩa có dung lượng hàng nghìn GB.

    3. Ưu nhược điểm của các loại FAT : Như trên đã phân tích FAT 32 quản lí ổ đĩa có dung lượng rất lớn, với số sector được nhóm trong một cluster là ít nên hiện tượng số sector bị bỏ trống cũng ít, tận dụng được dung lượng lưu trữ của đĩa. Nhược điểm căn bản của FAT 32 là mỗi phần tử FAT chiếm dụng 32 bit (4 bytes) nên cấu trúc của bảng FAT rất dài, số lượng sector dành cho FAT 32 cũng rất lớn. hơn nũa việc xử lí với số đếm 32 bít phức tạp hơn nhiếu so với việc xử lí các số đếm 16 bít. Tuy nhiên ta không cần quan tâm tới sự phức tạp này vì hệ điều hành Windows đã làm hộ ta rồi.

    4. Thông tin về kiểu FAT đọc ở offset 1C2h của Master Boot Sector 1 byte SysID cho như sau:

SysID=1 là FAT12, SysID=4,6 là FAT16 , SysID=0Bh là FAT32.

Hoặc đọc 5 bytes từ offset 36h của Boot Sector bạn cũng sẽ có thông tin về kiểu FAT.

Xem thêm bài viết thuộc chuyên mục: Là gì

Trả lời

Back to top button