磁盘IO是否直接与其物理扇区位置相对应?

时间:2017-12-03 00:01:51

标签: io operating-system posix disk nt

我通过在Linux中打开/dev/sd*路径,就像其他任何文件一样,在闪存驱动器,硬盘驱动器和固态硬盘上玩磁盘IO。

据我所知,磁盘上的内存控制器可以隐藏来自操作系统的真正阻止命令(通过映射)。

这归结为以下问题:

  1. /dev/sd*中的块是按操作系统感知的顺序,还是按照磁盘内存控制器的顺序排列?

  2. POSIX操作系统中/dev/sd*主观的块顺序是否主观?

  3. 如果在NT或Cygwin系统上完成,这些属性是否会改变?

  4. 此属性在Flash,HDD和SSD中是否有所不同?

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

  6. 提前致谢!

1 个答案:

答案 0 :(得分:0)

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

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

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