• Thứ Sáu, 03/06/2005 14:48 (GMT+7)

    File system

    Định nghĩa:
    File system hay hệ thống tập tin (HTTT) có chức năng tổ chức và kiểm soát các tập tin và siêu dữ liệu tương ứng, được lưu trên ổ đĩa nhằm cho phép truy cập nhanh chóng và an toàn.

    HTTT sắp xếp dữ liệu được lưu trên đĩa cứng của máy tính, kiểm soát thường xuyên vị trí vật lý của mọi thành phần dữ liệu trên đĩa trong khi vẫn cho phép người dùng truy cập nhanh chóng và an toàn khi cần thiết.

    HTTT làm việc như một hệ chỉ mục số, cho phép máy tính nhanh chóng tìm thấy một tập tin nào đó, bất chấp kích thước hay cấu hình của ổ đĩa lưu trữ cũng như vị trí lưu trữ của các byte dữ liệu nằm ở đâu trên đĩa.

    Mọi hệ điều hành từ MS-DOS cho đến Windows 95, Windows XP và Linux đều có HTTT riêng. Tuy mọi HTTT đều thực hiện cùng chức năng nhưng chúng lại khác nhau về thiết kế và mức độ phức tạp.

     

    FAT
    Đây là HTTT có từ lâu, từ thời MS-DOS và những phiên bản đầu tiên của Windows. Những hệ điều hành này tổ chức các tập tin theo HTTT FAT, biểu diễn các vùng luận lý của đĩa thành những đơn vị được gọi là liên cung (cluster) và ánh xạ vị trí dữ liệu tập tin vào những vùng này bằng bảng định vị FAT (file allocation table). FAT còn được gọi là FAT16 vì nó dùng không gian địa chỉ 16 bit để quản lý tập tin và liên cung.

    Liên cung FAT thay đổi tùy theo dung lượng của đĩa.  Không gian địa chỉ 16 bit của FAT có thể hỗ trợ đến 65.536 liên cung (216). Với ổ đĩa 65MB, kích thước của liên cung chỉ là 1KB, tuy nhiên kích thước này nhanh chóng “phình” lớn khi đĩa cứng có khả năng lưu trữ đến hàng gigabyte dữ liệu. Do chỉ có một tập tin được phép ghi lên một liên cung nên điều này sẽ gây ra sự lãng phí, có thể lên đến 50% dung lượng đĩa cứng trên ổ đĩa 2GB.

     

    FAT32
    FAT32 xuất hiện cùng với bản Windows 95 OEM Service Release 2 (OSR2), có không gian địa chỉ 32 bit. Bằng việc tăng kích thước của bảng định vị tập tin, nó có khả năng hỗ trợ nhiều cluster hơn với kích thước nhỏ hơn trên những ổ đĩa cứng lớn, giảm sự lãng phí dung lượng đĩa.

    Một cải tiến khác của FAT32 là nó cho phép đặt tên tập tin đến 255 ký tự, trong khi FAT cũ chỉ cho phép tên tối đa 8 ký tự. Như vậy, người dùng có thể đặt tên tập tin đủ dài để mô tả nội dung tập tin.

    Ưu điểm của FAT32 là ngoài việc tăng dung lượng quản lý địa chỉ từ 2GB lên 2TB, nó còn tăng cường độ tin cậy nhờ khả năng chuyển sang sử dụng bảng FAT sao lưu trong trường hợp bảng FAT mặc định bị hỏng. Tuy nhiên, FAT32 cũng có khuyết điểm là làm HTTT nặng nề và vì thế không hiệu quả trên những đĩa cứng nhỏ hơn 260MB.

     

    NTFS
    Sự phát triển tiếp theo của HTTT Windows là NTFS (New Technology File System), được đưa ra cùng với Windows NT (cũng hỗ trợ FAT32). Với không gian địa chỉ 64 bit và khả năng thay đổi kích thước của cluster độc lập với dung lượng đĩa, NTFS đã loại trừ được những hạn chế về kích thước của cluster.

    Ngoài ra nó còn mang lại những ưu điểm khác như thuộc tính bảo mật cho tập tin và thư mục, mã hoá tập tin và hỗ trợ khả năng lưu trữ đến 16TB và 232 cluster.

    NTFS thay bảng FAT quen thuộc bằng bảng quản lý tập tin MFT (Master File Table), có khả năng lưu trữ nhiều thông tin về tập tin hơn FAT. MFT tham chiếu đến mọi tập tin và thư mục có trên ổ đĩa, kể cả những siêu dữ liệu tương ứng như thông số bảo mật.

    NTFS cũng có khả năng chịu lỗi cao. Nó ghi nhật ký hoạt động của đĩa trước khi thực hiện bất kỳ giao dịch nào, vì thế nếu hệ thống bị “chết” trong khi thực hiện cập nhật, nó có thể căn cứ vào nhật ký tập tin để phục hồi dữ liệu. Nếu lỗi đọc/ghi xuất hiện trong hoạt động thông thường, NTFS sẽ tự động xác định và khoá những cluster lỗi, đồng thời sao chép dữ liệu vào một vị trí mới. Cuối cùng, NTFS tạo “ảnh” của MFT và nhờ vậy có thể chuyển sang dùng bản này nếu bản gốc bị hỏng.

    NTFS không thích hợp với đĩa dưới 400MB và không thể dùng cho đĩa mềm; Windows sẽ ghi lên đĩa mềm được định dạng theo FAT32.

     

    Ext2
    HTTT của Linux có tên là Ext2 (Extended File System 2), được cải tiến từ HTTT ban đầu của Linux là Ext thừa hưởng từ tiền thân Minix. HTTT Minix có dung lượng tối đa là 64MB và tên tập tin là 14 ký tự.

    Ext hỗ trợ HTTT 2GB và tên tập tin 255 ký tự nhưng lại bị hạn chế về tốc độ. Ext2 hỗ trợ 4TB, tên tập tin 255 ký tự đồng thời khắc phục được những khuyết điểm trên.

    Kiến trúc Ext2 dùng cấu trúc dữ liệu được gọi là nút định dạng (inode) để tham chiếu và định vị tập tin cũng như các dữ liệu tương ứng. Bảng inode chứa các thông tin gồm loại tập tin, kích thước, quyền truy cập, con trỏ đến những khối dữ liệu liên quan và các thuộc tính khác. HTTT này tổ chức đĩa thành những nhóm khối, trong đó chứa cả thông tin của inode và các khối dữ liệu tương ứng.

    Nhân Linux dùng lớp hệ thống tập tin ảo (Virtual File System) để tương tác với HTTT và thực hiện các tác vụ xuất/nhập đĩa. Điều này mang lại cho Linux khả năng hỗ trợ nhiều HTTT khác nhau như DOS, FAT16, FAT32.

    Computerworld 02/09/2002

    ID: A0211_76