我通过在Linux中打开/dev/sd*
路径,就像其他任何文件一样,在闪存驱动器,硬盘驱动器和固态硬盘上玩磁盘IO。
据我所知,磁盘上的内存控制器可以隐藏来自操作系统的真正阻止命令(通过映射)。
这归结为以下问题:
/dev/sd*
中的块是按操作系统感知的顺序,还是按照磁盘内存控制器的顺序排列?
POSIX操作系统中/dev/sd*
主观的块顺序是否主观?
如果在NT或Cygwin系统上完成,这些属性是否会改变?
此属性在Flash,HDD和SSD中是否有所不同?
是否可以对打开的/dev/sd*
路径中的特定索引进行写入,还是由内存控制器确定?
提前致谢!
答案 0 :(得分:0)
如果您将设备节点用于整个磁盘(/dev/sda
,/dev/sdb
等),则块设备的文件偏移量对应于逻辑块地址,并且可以跨系统移植(假设支持磁盘扇区大小)。这与存储技术无关。
但是,设备节点的名称因系统而异。
如果使用子设备(分区),则不一定是这种情况,因为对分区表的解释和支持差异很大。