分类: LINUX
2010-01-21 23:38:16
Preemptive techniques attempt to keep fragmentation at a minimum at the time data is being written on the disk. The simplest of such is, perhaps, appending data to an existing fragment in place where possible, instead of allocating new blocks to a new fragment. -->找个空闲的fragment而非申请新的块导致新的fragment
A relatively recent technique is delayed allocation in XFS, HFS+[7] and ZFS; the same technique is also called allocate-on-flush in reiser4 and ext4. This means that when the file system is being written to, file system blocks are reserved, but the locations of specific files are not laid down yet. Later, when the file system is forced to flush changes as a result of memory pressure or a transaction commit, the allocator will have much better knowledge of the files' characteristics. Most file systems with this approach try to flush files in a single directory contiguously. (???)Assuming that multiple reads from a single directory are common, locality of reference is improved.[8] Reiser4 also orders the layout of files according to the directory hash table, so that when files are being accessed in the natural file system order (as dictated by readdir), they are always read sequentially.[9]
红色部分不明白...
A file sequence located within a mass storage device is said to be contiguous if:
chinaunix网友2010-05-15 17:04:22
Most file systems with this approach try to flush files in a single directory contiguously.连续刷新单个目录下的多个文件