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
这个应该容易看出来吧,如果我写的不够清楚,可以交流讨论....
首先软盘的结构,有两面,每面有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
- 1.44 软盘
- 3.5寸1.44M软盘结构
- 3.5寸1.44M软盘结构
- 软盘(1.44M)引导区程序源码
- 3.5寸1.44M软盘结构
- 3.5寸1.44MB软盘结构
- 1.44M软盘物理扇区顺序
- 1.44MB 软盘镜像文件FDT/FAT简析
- [转]3.5寸1.44M软盘结构,容量和分配
- 3.5寸1.44M软盘结构,容量和分配
- 隐藏软盘
- 软盘问题
- 软盘原理及制作软盘启动盘
- 软盘结构及软盘数据的读取
- 软盘结构及软盘数据的读取
- 如何制作软盘Linux
- 软盘控制器编程方法
- 两张软盘linux
- Android DiskLruCache完全解析,硬盘缓存的最佳方案
- ThreadLocal,LinkedBlockingQueue,线程池 获取数据库连接2改进
- 堆栈的内部运作机制
- POJ 2828 poj 2828 Buy Tickets 【树状数组,已知前n项和为K,返回n值】
- hive的Specified key was too long; max key length is 767 bytes问题解决
- 1.44 软盘
- ASP.NET on Linux (2) Model to Views
- 程序员持续学习之道
- adnroid仿miui的dialog
- 算法学习 - HashTable开放地址法解决哈希冲突
- 工具开始觉得你离开了大全dsbfszdbnz2005
- 使用ADB shell中su的root权限进行bat批处理
- Android开发--修改Eclipse中Console的显示内容
- mini2440 spi主控制器支持