为什么ext2和后续版本不需要碎片整理?

阿图尔

ext2 / ext3 / ext4文件系统系列不需要进行碎片整理。

哪些底层设计可以帮助该文件系统避免碎片化?

亚伦

ext4文件系统保持碎片检查的一种方法是延迟分配的过程(ext4的默认分配模式)。

延迟分配通过将新写入的文件数据块到文件系统中的磁盘块的映射推迟到写回时间来进行。

当已知每个文件中的块总数(或至少是棒球场)时,这可以通过同时为一个文件分配大多数块来进行。这使块分配器(mballoc在MMK的答案中提到)可以更好地找到合适大小的可用空间区域来放置文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么“ typeof”不需要括号?

为什么Java需要接口而Smalltalk不需要接口?

为什么Option的Some和None变体不需要限定?

为什么后增量不需要复制而预增量不需要复制

TensorFlow:tf.placeholder和tf.Variable-为什么不需要尺寸?

在sbt中,如何与一个版本不需要的依赖项交叉构建?

为什么`head`需要`()`和`shape`不需要?

为什么我的调度程序servlet中不需要http2MessageConverter

为什么链接的get(),post()和put()方法不需要path参数?

为什么不需要开玩笑?

为什么我会收到警告-即使我的最新版本不需要这些权限,此应用也不符合Google Play权限政策?

为什么在batchnorm和激活后我们不需要卷积层中的偏差

* ngFor为什么不需要括号?

为什么在Spring Boot项目中不需要为某些依赖项指定版本?

为什么基于可用的`init`方法不需要`onEditingChanged`和`onCommit`的SwiftUI TextField参数?

为什么在Android Q及更高版本上不需要WRITE_EXTERNAL_STORAGE

为什么后续参数不需要FromBody修饰符?

为什么一个人根本不需要回路设备?

为什么chrome(似乎)不需要Firefox,而Firefox和Safari却需要Flash?

为什么map_async()不需要pool.close()和pool.join()?

为什么MonadReader不需要MultiParamTypeClasses和FunctionalDependencies编译指示?

为什么C编程需要编译器而shell脚本不需要?

为什么p2p连接不需要开放端口?

为什么在不需要时将PtQt中的QtGui和QtCore导入?

为什么PS / 2端口不需要驱动程序?

为什么在Ubuntu GNOME磁盘中看到多个分区(EFI Fat 32和Ext2)?

什么是 For 循环?为什么在 R 中不需要它?

Swift - Sequence - 为什么我不需要为 Element 和 Iterator 添加类型别名?

为什么我的 DLL 不需要 DllMain 函数?