磁盘IO是否直接对应于它的物理扇区位置?

Does disk IO correspond directly to its physical sector location?

我一直在玩弄闪存驱动器、HDD 和 SSD 上的磁盘 IO,方法是打开 Linux 中的 /dev/sd* 路径,就像打开任何其他文件一样。

我知道磁盘上的内存控制器可以从 OS.

中隐藏真正的块 order(通过映射)

这归结为这些问题:

  1. /dev/sd* 中的块是按照 OS 感知的顺序还是磁盘内存控制器感知的顺序?

  2. POSIX OSes之间/dev/sd*中块的顺序是主观的吗?

  3. 如果在 NT 或 Cygwin 系统上完成,这些属性可以改变吗?

  4. 这属性Flash、HDD、SSD有什么不同吗?

  5. 是否可以对打开的/dev/sd*路径中的特定索引进行写入,还是由内存控制器决定?

提前致谢!

如果您对整个磁盘使用设备节点(/dev/sda/dev/sdb,等等),那么块设备的文件偏移量对应于逻辑块地址,并且可以跨磁盘移植系统(假设支持磁盘扇区大小)。这与存储技术无关。

但是,设备节点的名称因系统而异。

如果您使用子设备(分区),则不一定是这种情况,因为对分区表的解释和支持差异很大。