当....时,硬盘读取速度有何不同?

当....时,硬盘读取速度有何不同?

当 HDD 在文件资源管理器中列出文件时和在运行程序等情况下读取文件时,HDD 读取速度有何区别?

这里详细完成了哪些额外的工作?

答案1

硬盘速度没有区别,区别在于所需的工作量。

理解其工作原理(尽管已简化)的关键在于文件系统的工作原理。文件系统包含文件名索引并映射到文件在磁盘上的存储位置。这些索引存储在已知位置,因此对于文件列表,操作系统只需查找并显示索引中的信息 - 这些信息量相对较少,因此通常非常快。

为了真正读取文件,需要读取索引,索引会告诉操作系统文件存储的位置。然后读取文件 - 这部分可能需要一些时间。

还有一些额外的细节,比如内存缓存可以加快读取速度(以及日志有助于写入),但这就是总体思路。

答案2

与该领域的大多数事情一样,最好的答案是:“视情况而定”

理论上,目录列表将是一个相当快的操作,因为它基本上是一个索引读取,但是我看到过单个目录中有数百万个文件的情况,导致性能急剧下降。

同样,在最佳情况下,单个文件将被写入一组连续的块,因此读回数据将是最佳选择。如果您的 HDD 开始变满,那么文件系统将拆分大文件,并且读回可能需要更长的时间,因为磁头必须移动更多才能获得所有数据,而不是连续的数据(至少对于主轴驱动器而言)。SSD 有不同的优化问题。

如果您想从高层次了解有关文件系统的更多详细信息:https://en.wikibooks.org/wiki/Operating_System_Design/File_Systems/Allocation

相关内容