Lưu file theo nhóm block (Extents)

Một phần của tài liệu Kiến trúc hệ thống File EXT2, EXT3, EXT4 của các hệ điều hành họ LINUX (Trang 46 - 48)

Hệ thống tập tin ext3 sử dụng một chương trình lập bản đồ khối gián tiếp cung cấp ánh xạ một một từ khối logic đến đĩa. Chương trình này rất hiệu quả cho các tập tin thưa thớt hoặc nhỏ, nhưng có chi phí cao cho các tập tin lớn hơn, hoạt động kém hơn, đặc biệt là trong việc xóa và cắt ngắn file lớn.

Như đã đề cập trước đó, extent mapping được bao gồm trong ext4. Cách tiếp cận này ánh xạ hợp lý đến khối vật lý cho các tập tin lớn kế tiếp một cách hiệu quả. Một extent là 1 mô tả duy nhất cho một loạt các khối tiếp giáp vật lý.

Cấu trúc extent.

Như chúng ta đã thảo luận trước đó, trường khối vật lý trong cấu trúc extent chiếm 48 bit.

Một extent đơn có thể tượng trưng cho 215 khối tiếp giáp hoặc 128Mb với 4Kb kích

thước khối.

Bốn extent có thể được lưu trữ trong cấu trúc inode của ext4 một cách trực tiếp. Điều này nói chung là đủ để đại diện cho các tập tin nhỏ hoặc tiếp giáp. Đối với các tập tin lớn có độ phân tán cao hoặc thưa thớt , cần nhiều extent hơn. Trong trường hợp này, cây extent có độ sâu ko đổi được sử dụng để lưu trữ ánh xạ của 1 file.

Cách bố trí của cây extent.

Gốc của cây này được lưu trữ trong cấu trúc inode ext4 và extent được lưu trữ trong các nút lá của cây. Mỗi nút trong cây bắt đầu với một tiêu đề extent, trong đó có số lượng các mục hợp lệ trong nút, khả năng các mục của nút có thể lưu trữ, độ sâu của cây, và một số magic. Các số magic có thể được sử dụng để phân biệt giữa các phiên bản khác nhau của extent, là những cải tiến mới được thực hiện các tính năng, chẳng hạn như tăng số khối ( block ) 64-bit.

Một phần của tài liệu Kiến trúc hệ thống File EXT2, EXT3, EXT4 của các hệ điều hành họ LINUX (Trang 46 - 48)

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

(59 trang)
w