Chinaunix首页 | 论坛 | 博客
  • 博客访问: 325953
  • 博文数量: 102
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1146
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-21 22:33
文章分类

全部博文(102)

文章存档

2011年(8)

2010年(94)

我的朋友

分类: LINUX

2010-01-21 23:38:16

Extent (file systems)

An extent is a contiguous area of storage in a computer file system, reserved for a file. When starting to write to a file, a whole extent is allocated. When writing to the file again, possibly after doing other write operations, the data continues where the previous write left off. This reduces or eliminates file fragmentation and possibly file scattering too.


File system fragmentation 

如何解决上面的问题? extent's concept?

比如,不要着急扩充f,cow or allocate-on-flush

Preemptive techniques

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 XFSHFS+[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]


红色部分不明白...


Google File System    感兴趣,后面看


Comparison of file systems   

不同的文件系统的比较 

上面的磁盘碎片,现在有文件碎片,过于分散.

File scattering

A file sequence located within a mass storage device is said to be contiguous if:

  • every file in the sequence is unfragmented, i.e. each file is stored in one contiguous and ordered piece of storage space (ideally in one or multiple, but contiguous, extents);
  • consecutive files in the sequence occupy contiguous portions of storage space (extents, yet consistently with their file ordering).

阅读(863) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-05-15 17:04:22

Most file systems with this approach try to flush files in a single directory contiguously.连续刷新单个目录下的多个文件