文件系统那些事-第3篇 影响文件系统性能的关键因素:存储块分配和布局策略

文件系统的分配和布局策略对性能有很大影响。块的再分配通过将尾部块细分提高利用率;尾部打包整合小文件尾部节省空间;可变文件块大小适应不同文件需求;片区提供连续存储空间减少碎片;刷新时分配延迟磁盘分配,降低CPU使用并减少碎片;稀疏文件高效利用空间,仅在必要时写入真实数据。这些策略广泛应用于多种文件系统。
摘要由CSDN通过智能技术生成

文件系统的分配和布局策略直接影响到文件系统访问的性能。为此,现代的文件系统都采用各种优化手段。

3.1   块的再分配

为了让设计简单,而且对最差情况下产生的文件系统碎片进行限制,传统的文件系统将磁盘分成大小相等的磁盘块。由于磁盘扇区的大小一般为512,块的大小一般也为512的整数倍字节。在传统的文件系统中,整个磁盘块只能分配给单独的一个文件。但是由于文件大小并不总是文件系统块大小的整数倍,所以这种设计使得最后的那个磁盘块(称为尾部)只被部分利用,这就产生了内部碎片。块的再分配(block suballocation)就是将尾部块再次分块,使得它可以被用来存储其它文件的片段。

一些块的再分配方案能够实现字节级的分配,但是大多数方案只是将磁盘块分成更小的磁盘块(通常分成2的整数次幂个)。

3.2   尾部打包

一些文件系统为了利用上面描述的那些未使用的空间,将若干不同的文件的尾部打包放在单一的共享尾块中。这种方法称为尾部打包(tail packing)。虽然这种方法似乎会明显地增加文件系统的碎片,但是可以通过现代操作系统的预读特性来减轻这个副作用,因为对于小文件,几个存储在不同块的文件尾部可能非常靠近,因而可以同时读入,这样就不会引入额外的寻道时间。这种文件系统一般会使用启发式来决定在给定情形下否是值得进行尾部打包,碎片整理软件也许需要引入更多启发式。

在大部分文件都小于块大小的一半的情形下,例如一文件夹的源代码小文件或者小点阵图,相比于不使用尾部打包的文件系统,使用尾部打包的文件系统能够获得双重的效率。这种情况下,引入尾部打包不仅能够节省磁盘空间&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值