IV.10.1 Lập bảng chỉ mục

Một phần của tài liệu CHƯƠNG IV QUẢN lý tập TIN và đĩa (Trang 59 - 60)

Trong hệ thống file NTFS, một danh mục file là một chỉ mục đơn của các tên file, đó là một tập các tên file (cùng với các tham chiếu file của chúng) được tổ chức theo một cách đặc biệt để tăng tốc độ truy xuất file. Để tạo một danh mục, NTFS lập chỉ mục cho thuộc tính filename của các file trong thư mục. Một record cho thư mục gốc của volume được đưa ra ở hình 4.23 sau đây.

Hình 4.23: Chỉ mục tên file cho thư mục gốc của volume

Một emtry MFT cho một thư mục chứa trong thuộc tính index root của nó một danh sách được sắp xếp của các file trong thư mục. Đối với các thư mục lớn, tên file thực tế được lưu trữ trong các vùng đệm chỉ mục (index buffer) có kích thước cố định là 4Kb, index buffer này chứa và tổ chức các tên file. Index buffer cài đặt cấu trúc dữ liệu cây b+, nhờ đó mà cực tiểu được số lần truy cập trực tiếp đĩa cần thiết để tìm đến một file, đặc biệt là đối với các thư mục lớn. Thuộc tính Index root chứa cấp đầu tiên của cây b+ và trỏ

đến Index buffer chứa cấp tiếp theo.

Hình 4.23 trình bày các tên file trong thuộc tính index root và index buffer (file5), nhưng mỗi entry trong index cũng chứa tham chiếu file trong MFT, nơi chứa các thông tin mô tả, kích thước, timestamp của file. NTFS nhân đôi thông tin về timestamp và kích thước file từ record MFT của file. Kỹ thuật này được sử dụng bởi FAT và NFTS, yêu cầu được cập nhật thông tin để ghi vào cả hai nơi. Do đó, nó tăng tốc độ đáng kể cho các thao tác duyệt thư mục vì nó cho phép hệ thống file hiển thị timestamp và kích thước file của mỗi file mà không cần mở mỗi file trong thư mục.

Thuộc tính index allocation ánh xạ các VCN của cả Run index buffer mà nó chỉ báo nơi index buffer thường trú trên đĩa. Thuộc tính bitmap theo dõi các VCN trong index buffer là đang được sử dụng hay đang rỗi. Hình trên cho thấy một entry file trên VCN, nhưng các entry filename thực tế được đóng gói trong mỗi cluster. Một index buffer 4Kb có thể chứa từ 20 đến 30 entry filename.

Cấu trúc dữ liệu cây b+ là một kiểu cây cân bằng, nó là ý tưởng cho việc tổ chức sắp xếp dữ liệu được lưu trữ trên đĩa bởi vì nó cực tiểu số lần truy cập đĩa cần thiết để tìm đến một entry. Trong MFT, một thuộc tính index root của thư mục chứa nhiều filename mà nó đóng vai trò như là các chỉ mục vào cấp thư hai của cây b+. Mỗi filename trong thuộc tính index root có một con trỏ tùy chọn được kết hợp với nó để chỉ đến index buffer. Index buffer mà nó chỉ đến chứa các filename với giá trị (về mặt tự điển) ít hơn sở hữu của nó. Trong hình trên, file4 là entry cấp đầu tiên trong cây b+, nó chỉ đến một index buffer chứa các filename mà ít hơn chính nó, đó là cá filename file0, file1, và file3. Lưu trữ tên file trong cây b+ mang lại nhiều thuận lợi. Việc tìm kiếm thư mục sẽ nhanh hơn vì filename được lưu trữ theo thứ tự được sắp xếp. Và khi một phần mềm cấp cao đếm các file trong thư mục, NTFS sẽ trả lại tên file vừa được sắp xếp.

NTFS cũng cung cấp sự hỗ trợ cho chỉ mục dữ liệu bên cạnh filename. Một file có thể có một đối tượng ID được gán cho nó, ID của file được lưu trữ trong thuộc tính $OBJECT_ID của file. NTFS cung cấp một API cho phép các ứng dụng mở file bằng các đối tượng ID của file thay vì dùng tên file của nó. Do đó, NTFS phải tạo ra một tiến trình để chuyển đổi một đối tượng ID thành số file của file một cách hiệu quả. Để thực hiện được điều này NTFS lưu trữ một ánh xạ của tất cả các đối tượng ID của volume thành số tham chiếu file của chúng trong một file metadata \$Extend\$ObjID. NTFS sắp xếp các đối tượng ID trong file nói trên như chỉ mục filename mà ta đã dề cập ở trên. Chỉ mục đối tượng ID được lưu trữ như là cây b+.

Một phần của tài liệu CHƯƠNG IV QUẢN lý tập TIN và đĩa (Trang 59 - 60)

Tải bản đầy đủ (DOC)

(64 trang)
w