首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ext2和后继者不需要碎片整理?

为什么ext2和后继者不需要碎片整理?
EN

Ask Ubuntu用户
提问于 2014-08-20 11:49:12
回答 3查看 1.6K关注 0票数 10

ext4 2/ext4 3/ext4 4文件系统系列不需要碎片整理。

是什么底层设计帮助这个文件系统不变得支离破碎?

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2014-08-20 12:53:52

ext4文件系统保持分段检查的一种方法是使用延迟分配进程(ext4 4‘S默认分配模式)。

延迟分配的工作是将新写入的文件数据块到文件系统中的磁盘块的映射推迟到写回时间。

这是通过同时为一个文件分配大部分块来实现的,当每个文件中的块总数(或至少一个大概值)已知时。这使得块分配器(MMK的答案中提到的mballoc )能够更好地找到一个合适大小的空闲空间来放置文件。

票数 11
EN

Ask Ubuntu用户

发布于 2014-08-20 12:31:10

在ext3文件系统中,每个块都有一个磁盘块分配器,因此很可能会发生碎片。

然而,在ext4文件系统中,有一个多块分配器,它可以延迟将块写入磁盘,这样它就可以在磁盘的单个块中一次分配几个块,从而允许连续写入-因此,碎片发生的可能性更小(仍然是可能的,只是不太可能)。

票数 8
EN

Ask Ubuntu用户

发布于 2014-08-20 16:00:09

至少对于Ext2 (和Ext3,虽然我不太确定),磁盘上的格式/结构中没有任何东西可以防止碎片整理。

碎片整理需求的缺乏仍然存在于实现级别,这将因操作系统而异。也就是说,根据实现的不同,Ext2中的文件可能是碎片的,也可能不是碎片的。

如果避免分散,这可能是由于物理块的延迟分配造成的。也就是说,在实现的某个级别,文件系统将缓存数据(并通过逻辑块号访问数据),直到将其写入/提交到磁盘。当数据最终写入磁盘时,必须分配物理块。分配算法可以(或不可能)为数据分配多个连续的可用物理块。

希望这能有所帮助。

票数 6
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/522787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档