文件系统块大小与磁盘块大小

8
我正在阅读《Hadoop权威指南》,其中出现了以下段落。
一个磁盘有块大小,即它可以读取或写入的最小数据量。单个磁盘的文件系统通过使用块处理数据来构建这个概念,这些块是磁盘块大小的整数倍。文件系统块通常是几千字节大小,而磁盘块通常为512字节。
我的理解是,磁盘块受硬件限制(每次从磁盘读取/写入的数据量)。操作系统创建抽象称为文件系统,在其中具有自己的块大小,该大小大于磁盘块大小。类似于磁盘,操作系统按文件系统块大小读取/写入数据。对于单个读/写文件系统块,将执行多个磁盘块操作。我的理解正确吗?
2个回答

1

你的理解是正确的。但需要注意,在不同的上下文中,可能指代不同的东西。

通常情况下,对于磁盘来说,一个 扇区 是可以读取或写入的最小信息单元。扇区大小通常为512字节。至于固态硬盘,则最小单位通常称为 ,其大小通常为4096字节。在这里,扇区 都具有物理意义,类似于你上下文中的 磁盘块

然而,在某些上下文中,磁盘块 可能指的是文件系统或数据库系统使用的存储分配和检索的逻辑存储单元,块大小今天通常在4到16千字节之间。因此,在这里,磁盘块 与你上下文中的 文件块 相同。


1
这取决于硬件。
即使您只想更改一个位,SD设备通常会重新写入相对较大的数据量。但是可以在单个读取中读取较小的数据量。 SD可能会在写入时物理移动数据以进行“磨损平衡”,因此它不会重复写入同一位置并使其磨损。 我认为您不能根据块大小来推断将物理读取或写入多少内容,因为该设备具有控制器,尝试使用不公开的代码进行优化,并考虑旋转速度、读取头位置、芯片布局、已知坏块等因素。
HD块实际上只是设备公开的最小可引用数据块。 文件系统块只是FS代码公开的最小可引用块。
过去可能存在直接关系,但现在我不会这样假定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接