目录
1.相关物理量2.磁盘结构说明3.计算式解析
1.相关物理量
t:每个柱面上的磁道数(相当于一个柱面共有几个磁头)
s:每个磁道上的扇区数(每个磁道的扇区数量都是一样的)
i:柱面号(因为所有编号从0开始,所以 i 相当于实际经过的完整柱面数量,后续计算也是直接用i,如果编号从1开始,那么只算 i-1 个柱面数,后续物理量同理)
j:当前所在柱面的磁头号(一个柱面有多个磁头,因为编号从0开始,实际上已经填满了该柱面前面的 j 个磁道)
k:扇区号(一个磁道中有多个扇区)
2.磁盘结构说明
如图所示: (这里假设一个磁道有100个扇区,由图可看出,所有的磁道扇区数量是一样的,只不过内磁道的扇区弧段更短,外磁道的扇区弧段更长)
柱面如图所示:
3.计算式解析
如果要求柱面号 i=2 ,磁头号 j=4 ,扇区号 k=10 所对应的块号 b
由图可知:t=6 ,s=100(前面假设给出)
系统存放信息时,并不是按磁盘面上的磁道顺序存满一个磁盘后再存放到下一个盘面,而是按柱面顺序存放,当同一柱面上的磁道存满后,再存放到下一个柱面上
所以当 i =2 时,说明外磁道0和中间磁道1已经填满了,这两个柱面一共有 (i*t) 个磁道数 加上自己当前的磁头号j(这里磁头号=磁道号) 总磁道数= j+i * t 经过的扇区数=s * (j + i * t) 总扇区数=经过的扇区数+自己当前的扇区号k = k+s * (j + i * t)
得出:b= k+s * (j + i * t) =10+100*(4+2*6) =1610
也可以反过来求柱面号i,磁头号j和扇区号k
令 d=st
i=[b/d]
j=[(b%d)/s]
k=(b%d%s)