FAT (File Allocation Tables)

Một phần của tài liệu Tìm hiểu về nguyên lý hoạt động của ổ đĩa cứng (Trang 63 - 68)

CẤU TRÚC LOGIC VÀ TỔ CHỨC DỮ LIỆU TRÊN Ổ ĐĨA CỨNG

3.3.3.FAT (File Allocation Tables)

Về cơ bản, bảng FAT ổ đĩa cứng giống hệt như việc tổ chức trên đĩa mềm, song chúng chỉ khác về kích thước. Đối với đĩa mềm, do kích thước đĩa hạn chế nên chỉ dùng 12bits để đánh địa chỉ là đủ, thường được gọi là FAT 12.(12bits đánh được 212 địa chỉ điểm vào của FAT, nếu dùng 1 Cluster = 1 Sector ta sẽ đánh địa chỉ cho đĩa có dung lượng 212 . 512 = 221 = 2MB lớn hơn các loại đĩa mềm hiện nay).

Song đối với đĩa cứng có dung lượng lớn, nếu dùng FAT 12 để quản lý toàn bộ đĩa cứng ta phải tăng chỉ số Cluster =250 Sector(1.024.000/4096) =

125KB. Song mỗi lần ghi dùng một Cluster nên nếu ghi một File có kích thước 100Byte cũng phải sử dụng 125KB thật là lãng phí. Để khắc phục tình trạng trên người ta đưa ra bảng FAT 16 (216 điểm vào) và FAT 32, FAT NTFS (232 điểm vào) để quản lý cho đĩa cứng. Với tốc độ tăng dung lượng của đĩa cứng như hiện nay trong tương lai chắc chắn sẽ có FAT 64 và hơn nữa. Tuy nhiên, với một ổ đĩa nhỏ mà ta dùng bảng FAT lớn sẽ gây lãng phí không gian chứa bảng FAT và ảnh hưởng đến tốc độ truy tìm.

Bảng FAT là danh sách các mục vào nghĩa là có bao nhiêu cluster trên đĩa thì có bấy nhiêu mục vào trong bảng FAT. DOS dùng FAT để quản lý các không gian trong phần dữ liệu. Khi DOS ghi tập tin lên đĩa thì nó sẽ tìm các Cluster còn trống để ghi và nó cũng phát hiện Cluster nào bị lỗi. Muốn tìm một tệp tin ở trên đĩa thì đầu tiên DOS tìm ở thư mục gốc. Độ dài của bảng FAT chính là ám chỉ độ dài của mục vào (entry) tính là bit. Độ dài này phụ thuộc vào số lượng cluster có ở trên đĩa. Nếu số cluster <4096 (212) thì độ dài của mục vào sẽ là 12 bit và lúc đó bảng FAT được gọi là FAT12. Hai mục vào đầu tiên của bảng FAT dùng để lưu trữ mô tả về đĩa:

+ F0h: đĩa mềm 3 1/2 + FDh: đĩa mềm 5 1/4 + F8h: đĩa cứng

Mỗi mục vào trong bảng FAT chứa một mã xác định cho biết vùng tương ứng trên đĩa đã được sử dụng, còn trống hoặc không thể sử dụng. Các mục vào có 2 nhiệm vụ sau:

+ Cho biết tính trạng của liên cung tương ứng còn rỗi hay đã bị chiếm.

+ Dữ liệu được ghi ở liên cung nào, phần này bao giờ cũng ghi số hiệu của liên cung mà chứa phần kế tiếp của tệp tin. Số hiệu liên cung đầu tiên bao giờ cùng được ghi ở bảng TM gốc.

Đàm Phương KHMT1K2 HaUI 2011

này sẽ bị đánh lại bằng 00h. Tuy nhiên một vài entry bao gồm một số giá trị hexa và ý nghĩa của chúng như sau:

+ 0000h : liên cung tương ứng còn rỗi

+ FFF0h ÷ FFF6h : liên cung tương ứng dành riêng + FFF7h : liên cung tương ứng bị hỏng

+ FFF8h÷ FFFFh : liên cung cuối cùng của tệp tin.

Như vậy là mỗi một tệp tin ở trên đĩa là tương ứng với một chuỗi các mục vào trên bảng FAT và các mục vào đó tạo thành một danh sách liên kết mà con trỏ ở đầu danh sách thì nằm ở bảng thư mục gốc. Mỗi mục vào trong danh sách liên kiết đó chứa số hiệu của liên cung kế tiếp. Do FAT được dùng để điều khiển toàn bộ phần dữ liệu sử dụng cho nên có đến 2 bản sao giống nhau của nó trên đĩa để đề phòng trường hợp một bản bị hỏng. FAT 12 dùng 12bit để mã hoá có thể đánh tới 212 = 4096 liên cung (mỗi liên cung = 4 sector = 4*512=2048 byte = 2Kb). FAT 12 chỉ dùng đối với đĩa mềm và các ổ đĩa cứng có dung lượng <15M. FAT 16 dùng 16 bit để mã hoá có thể đánh tới 216 = 65536 liên cung. Tuỳ thuộc vào dung lượng đĩa mà liên cung sẽ chiếm bao nhiêu sector. FAT 32 dùng 32 bit mã hoá có thể đánh tới 232 = 4.294.967.296 liên cung. Tuỳ thuộc vào dung lượng đĩa mà liên cung sẽ chiếm bao nhiêu sector.

Hình 44: Kích thước partition và kích thước cluster tương ứng

- Bởi vì máy tính lưu trữ dữ liệu trong các cluster. Nội dung của các tập tin có thể được lưu trữ trong một hoặc nhiều cluster. Nếu tập tin không điền kín hết cluster cuối cùng mà hệ điều hành dành cho chúng, phần trống đó coi như bỏ phí. Bằng cách sử dụng các cluster nhỏ hơn, FAT 32 ít phí phạm phần dư trong cluster hơn và cho phép tăng dung lượng đĩa còn trống.

- FAT 32:

+ Ưu điểm: Tiết kiệm dung lượng đĩa

+ Nhược điểm: Khi chúng ta truy cập tập tin nằm trên nhiều cluster, đầu từ phải truy cập vào bảng FAT nhiều hơn làm giảm tốc độ của máy tính.

- FAT 16:

+ Ưu điểm: Tốc độ truy cập nhanh hơn + Nhược điểm: Lãng phí dung lượng đĩa

NTFS(New Technology File System) là hệ thống file có hiệu suất cao và

có thể tự sửa lỗi sử dụng cho Windows XP, 2000, NT. Hệ thống này hỗ trợ vấn đề bảo mật ở cấp độ file, nén file và kiểm định. Nó cũng hỗ trợ đĩa dung lượng lớn và giải pháp lưu trữ cao như RAID. NTFS cung cấp khả năng kết hợp giữa sự thực thi, độ tin cậy và tính tương thích không có trong hệ thống FAT đồng thời làm giảm thời gian thực thi các hoạt động trên file như đọc, ghi, tìm kiếm và cả các hoạt động nâng cao như khôi phục hệ thống file ở các đĩa cứng dung lượng rất lớn. NTFS bao gồm các đặc trưng bảo mật cần thiết cho các máy dịch vụ file (file server) và các máy tính cá nhân đầu trên (high-end) trong môi trường làm việc theo nhóm. NFTS cũng hỗ trợ điều khiển xử lý dữ liệu và cấp quyền quản lý dữ liệu nhằm bảo đảm tính chính xác của dữ liệu. NTFS có thể cho phép cấp quyền xử lý cho file hay folder theo từng user riêng lẻ.

Đàm Phương KHMT1K2 HaUI 2011

thường chứa luôn cả những không gian trống không dùng đến mà người ta vẫn thường gọi là “không gian rỗng” ở phần cuối của cluster. Ta thử làm một phép tính đơn giản để minh hoạ vấn đề này:

Cho 1 cluster = 4 KB; ta có 1 file test.txt dung lượng 14 KB như vậy khi ta lưu file test.txt xuống đĩa cứng file này sẽ được tách thành 4 cluster lần lượt là :

Cluster 1 -> 4KB đầu tiên Cluster 2 -> 4KB tiếp theo Cluster 3 -> 4KB tiếp theo

Cluster 4 (cluster cuối cùng) ->lưu trữ 2KB còn lại và 2KB bị bỏ trống.

2KB bỏ trống này không thuộc về bất cứ file nào, không lưu bất cứ dữ liệu nào vì cluster 4 đã được chỉ định thuộc về file test.txt do đó đây là một khoảng không gian rỗng hay nói khác đi “chúng ta đã phí phạm một khoảng không gian trên ổ cứng” - đây chính là một trong những điểm khác nhau và tiến bộ giữa các thế hệ FAT File System mà chúng tôi sẽ nói đến trong phần hệ thống file của OS ở phần sau. Mặc dù thế nhưng rõ ràng cái mà người ta nhận được từ cluster là rất đáng kể, nó làm tăng hiệu năng làm việc của ổ cứng và giúp hệ điều hành quản lý file tốt hơn nhiều so với việc bắt hệ điều hành và ổ cứng phải làm việc ở cấp độ sector.

Lost cluster: thông thường khi các bạn dùng các chương trình sửa ổ cứng nhất là scandisk/ndd (chạy trên FATx File System) đôi khi bạn nhận được thông báo “Lost cluster found! Fix it ?” Thật ra trong quá trong ổ cứng đọc và ghi dữ liệu, hệ điều hành có vai trò mở file/tạo file (open/assign file) sau đó tiếp tục phát lệnh để ổ cứng ghi từng phần dữ liệu vào từng cluster được chỉ định rồi cuối cùng ra lệnh đóng file (close file). Tuy nhiên đôi khi có một số trường hợp khi ổ cứng đang ghi dữ liệu vào các cluster đã được chỉ định nhưng bất ngờ bị mất điện hoặc kết thúc quá trình ghi dữ liệu nhưng lại không thực hiện quá trình đóng file, cho nên những cluster này sẽ được công nhận là “đã được sử dụng” nhưng lại không thuộc về bất cứ một file nào. Trong trường hợp này các chương trình sửa đĩa sẽ ghi các thông tin mà các các cluster này lưu trữ ra từng file một để backup lại các dữ liệu có giá trị bị mất.

Chain (chỉ dành riêng cho FATx File System): không phải lúc nào dữ liệu của một file cũng được ghi trên nhưng cluster liên tiếp nhau (1,2,3,4…n). Do đó nếu như cluster kế tiếp đã được chỉ định là đã sử dụng thì OS sẽ cố gắng tìm đến cluster kế tiếp hoặc kế tiếp nữa cho đến khi tìm ra cluster trống để ghi dữ liệu vào. Việc dữ liệu của một file (hoặc từng phần) được ghi rải rác mà không có sự liên tục trên những cluster thì được gọi là “một chuỗi các cluster” (chain) và việc OS dịnh dạng trên bảng FAT cũng được gọi là “định dạng một chuỗi FAT”. Lost chain cũng tương tự như lost cluster chỉ khác là nguyên cả một chuỗi cluster bị khai báo nhầm là đã được sử dụng. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Tìm hiểu về nguyên lý hoạt động của ổ đĩa cứng (Trang 63 - 68)