我的印象是文件的顺序扫描实际上是磁盘上的顺序搜索。但是,我最近读到,文件的块可能不是由文件系统在磁盘上连续写入的。如果inode用作映射并且每个块都是通过跟随块指针获得的,那么我想知道文件系统检索文件块的实际机制是否实际上是顺序的?
如果答案是依赖于文件系统的,那么引用一些主要的文件系统会很棒。 感谢。
答案 0 :(得分:0)
Filesystems 尝试在写入期间尽可能多地分配顺序块。但随着它们的老化(即随着时间的推移,很多创造+删除),fragmentation变得不可避免。有一些启发式方法可以减少碎片,如推测预分配,延迟预分配等。应用程序本身可以执行预分配(例如fallocate),启用预读和运行碎片工具,具体取决于文件系统中可用的功能,以使块连续或至少读得更快。