【发布时间】:2016-12-13 17:25:47
【问题描述】:
我的印象是文件的顺序扫描实际上是磁盘上的顺序查找。但是,我最近读到文件的块可能不会被文件系统连续写入磁盘。如果使用inode作为map,每个block都是通过block指针获取的,我想知道文件系统检索文件块的实际机制是否实际上是顺序的?
如果答案是依赖于文件系统,那么最好引用一些主要的文件系统。 谢谢。
【问题讨论】:
-
首先你需要给出“顺序”的定义——在硬盘上没有顺序,因为硬盘是3维的(板/轨道/扇区)。
-
@EugeneMayevski'EldoS 连续 == 硬盘上的连续块。
-
@itisravi 您的评论很遗憾不适用,因为“sequential”和“contiguous”是同义词,我之前的评论中已经说明了它们的问题。此外,两个相邻的扇区是不连续的。 HDD 上的扇区从一开始就没有按顺序编号,因此逻辑扇区 1 和逻辑扇区 2,即使它们位于同一磁道(柱面)上,也不是相邻的。
-
@EugeneMayevski'EldoS 好吧,不知道。那么连续分配是什么意思呢?必须有一些逻辑将块分配到物理上非常接近(即使没有按顺序编号),以便在读取文件时跨同一盘片的扇区和跨盘片的寻道时间最小化。
标签: file filesystems disk sequential