Tôi đã không đọc toàn bộ paper..but Tôi hy vọng rằng các đoạn sau đây sẽ giúp bạn theo một cách nhỏ.
Câu hỏi đầu tiên tôi sẽ hỏi là: hiệu ứng của việc có kích thước khối lớn trong hệ thống tệp là gì? Chúng ta hãy nói rằng kích thước khối FS là 64MB. Tin tốt là chúng tôi viết các phần tiếp giáp tốt vào đĩa cứng (nhiều dữ liệu được viết cho mỗi tìm kiếm hơn), ít siêu dữ liệu hơn để giữ các khối gián tiếp, v.v .. Tin xấu là phân mảnh nội bộ .. nếu tệp là 1MB, nhưng kích thước khối tối thiểu là 64MB , có phân mảnh nội bộ là 63MB. Vì vậy, làm thế nào để có được những tin tức tốt và tránh những tin xấu?
Một cách là thực hiện phân bổ không gian lười hoặc HOẶC phân phối không gian bị trễ. Ở đây, chúng tôi giữ kích thước khối nhỏ (nói 1MB), nhưng chúng tôi viết một khối dữ liệu lớn, tức là nhiều khối 1MB cùng nhau khi chúng tôi ghi vào đĩa. Bằng cách này, chúng tôi nhận được sự tốt đẹp của khối lớn viết. Lưu ý rằng điều này có nghĩa là chúng ta ghi vào một bộ đệm incore nhưng nói với write() sys gọi rằng nó được thực hiện ghi vào đĩa ... giống như ghi vào bộ nhớ đệm.
LƯU Ý: Khi "thời gian" đến để thực hiện phân bổ khối thực, chúng tôi cần được đảm bảo dung lượng trên đĩa. Vì vậy, trì hoãn phân bổ khối => không gian đặt trước được thực hiện tại thời điểm viết, nhưng phân bổ không gian được thực hiện tại một thời gian sau khi đủ khối dữ liệu đã tích lũy trong lõi.
bản sao có thể có của [phân bổ lười biếng là gì?] (Http://stackoverflow.com/questions/712683/what-is-lazy-allocation) – brokenfoot
Nếu bạn tìm thấy một trong các câu trả lời hữu ích, vui lòng chấp nhận nó bằng cách đánh dấu bên trái văn bản trả lời. –