我正在阅读Hadoop:The Definitive Guide和以下段落。
磁盘具有块大小,这是它可以读取或写入的最小数据量。单个磁盘的文件系统通过处理块中的数据来构建,这些块是磁盘块大小的整数倍。文件系统块的大小通常为几千字节,而磁盘块通常为512字节。
我的理解是磁盘块受硬件限制(每次可以从磁盘读/写的数据量)。操作系统创建称为文件系统的抽象,其中它具有自己的块大小,该块大小比磁盘块大小大(多个)。与磁盘类似,操作系统读/写数据大小与文件系统块大小相同。对于单个读/写文件系统块,将执行多个磁盘块操作。我的理解是否正确?
这取决于硬件。
即使您只想更改一位,SD设备通常也会重写相对较大量的数据。但通常可以在一次读取中读取少量数据。 SD可以在写入期间物理地移动数据以进行“耗损均衡”,因此它不会反复写入相同的位置并将其磨损。
我不认为您可以根据HD的块大小来估计物理读取或写入的数量,因为设备有一个控制器尝试使用非公开可用的代码进行优化并考虑事物如转速,读头位置,芯片布局,已知坏块等
HD块实际上只是设备公开的最小可参考数据块。文件系统块只是FS代码公开的最小可引用块。
在过去的时间里,可能存在直接的关系,但我现在不会假设。