最近在看《自已动手写操作系统》这本书,读到第四章关于从软盘读取文件一节时一开始不能理解,特别是看不懂书中所附的源代码。经过自己查询软盘结构资料,通过本文对自己软盘的磁头号、磁道号和起始扇区与扇区之转换的想法做个总结。
于渊关于从软盘读取文件所附的源代码注释如下:
; 设扇区号为 x
; ┌ 柱面号 = y >> 1
; x ┌ 商 y ┤
; -------------- => ┤ └ 磁头号 = y & 1
; 每磁道扇区数 │
; └ 余 z => 起始扇区号 = z + 1
如何理解这个计算方法呢?
3.4寸1.44M软盘存储结构:
物理地址 扇区地址
0面0磁道 1扇区 0