1.44 软盘

来源:互联网 发布:美工是干什么的 编辑:程序博客网 时间:2024/05/19 18:45
之前写过一个关于fat12文件系统的学习笔记,刚学习了下3.5英寸软盘的结构,顺便记下。

首先软盘的结构,有两面,每面有80个磁道,每个磁道包含18个扇区,每个扇区512在字节。

所以对于软盘来说其容量的计算便是2*80*18*512/1024=1440K

下面说下软盘的一个很关键的地方,就是它的磁道分布,这个影响到通过扇区来计算磁头柱面等关键参数的方法,理解了这个就很容易理解后面的计算方法。

上面说了软盘的结构,下面是他的编号:
         2  面: 编号0----1; 
         80道: 编号0----79 
         18扇区:编号1----18 

扇区物理号               相对扇区号 
0面,0道,1扇区             0 
0面,0道,2扇区             1 
0面,0道,3扇区             2 
……………………. 
0面,0道,18扇区           17 
1面,0道,1扇区             18 
1面,0道,2扇区             19
1面,0道,3扇区             20
…………….. 
1面,0道,18扇区           35 
0面,1道,1扇区            36 
………………
0面,1道,18扇区           53 
1面,1道,1扇区            54 
………………
1面,79道,18扇区          2879 

这个,说白了就是扇区的编排是这样的:首先是0面的0磁道的18个扇区对应0~17扇区,1面的0磁道的18个扇区对应18~35扇区~~然后是0面的1磁道的18个扇区对应36~53扇区....以此类推。会不会有点乱?

所以对以一个扇区的计算,比如  1面  20磁道  16扇区,对应的扇区号就应该如下:

20磁道*18*2+18+16扇区-1=扇区号

解释下,因为是20磁道且磁道号从0开始,所以在20磁道之前有20个磁道,每个磁道有18个扇区,所以用20*18,再乘2是因为磁盘是两面....然后加18是因为是在1面(这里如果是0面的话就不用加18),因为在这之前还有0面的1个磁道,然后是16扇区,所以加16,减1是因为磁道的扇区编号是从1开始....

所以总结下,扇区号(S)=磁道号(A)*18*2+磁头号(B)*18+起始扇区号(C)-1
(这里磁头号对应了盘面)
反之有了这个公式也可以很容易根据扇区号计算出来磁头号,磁道号,以及起始扇区号:
S/18=(A*2+B)+(C-1)/18
这里A*2+B就是S/18的商Q,C-1就是余数R,所以A=Q>>1  B=Q&1  C=R+1
这个应该容易看出来吧,如果我写的不够清楚,可以交流讨论....
0 0
原创粉丝点击