注意题目条件:盘块号、字号、位号到底是从0开始还是从1开始
盘块号、字号、位号从0开始,若n表示字长,则:
(字号,位号)=(i,j)的二进制位对应的盘块号b=ni+jb号盘块对应的字号i=b/n,位号j=b%n
若字号、位号从1开始,n表示字长,则:b=n*(i-1)+j
i=(b-1)/ n +1
j=(b-1)% n +1
关于柱面号,磁道号,扇区号的分析:
一个磁道有8个扇区,一个柱面有20个磁道,所以对于(柱面号C,磁道号H,扇区号S)有:
S=b%8 //例如7号盘块,对应的扇区号就是7%8=7
C=b/160 //从(0,0,0)到(0,19,7),总共有20*8=160个扇区,1个柱面中包含了160个扇区。题目说一个扇区代表一个存储块
H=(b%160)/8 //(b%160)表示一个柱面中存储块,/8就可以表示这个存储块的磁道号。