位示图计算
位示图计算
1.题目:某文件管理系统在磁盘上建立了位示图(bitmap) ,记录磁盘的使用情况。若计算机系统的字长为 32 位,磁盘的容量为 300GB ,物理块的大小为4MB ,那么位示图的大小需要( )个字。
磁盘容量为300GB,物理块大小4MB,则磁盘共3001024/4=751024个物理块
位示图用每1位表示1个磁盘块的使用情况,1个字是32位,所以1个字可以表示32块物理块使用情况,那么需要75*1024/32=2400个字
2.用字长为16位的200个字组成位示图来指示磁盘使用情况(字号、位号、磁盘块编号均从0开始),请计算:
(1)文件系统发现位示图的第15字、第10位为0而准备将一记录写入,问写入的是哪一块?
(2)若将第500块磁盘的数据删除,则应该讲位示图的哪个字哪一位改为0?
解:
(1)b=16(15-1)+(10-9)= 233 块号=字号*字长+位号
(2)i = INT[499/16] = 31 j = [499]MOD 16= 4
字号=[块号/字长] (截断)
位号=块号mod字长
由于字号、位号、磁盘块编号均从0开始,应该将
第 30行,第3列对应的字改为 0
3.
4.磁盘地址映射
柱面号、磁头号、扇区号
字号为m,位号为n,物理块号:m * 字长 + n
根据物理地址,求柱面号、磁头号、扇区号
柱面号 = 物理块号 / (磁头号 * 扇区号)
磁头号 = 物理块号 % (磁头号 * 扇区号) / 扇区号
扇区号 = 物理块号 % (磁头号 * 扇区号) % 扇区号
题目:某文件管理系统在磁盘上建立了位示图(bitmap) ,记录磁盘的使用情况。若计算机系统的字长为 32 位,磁盘的容量为 300GB ,物理块的大小为4MB ,那么位示图的大小需要( )个字。
磁盘容量为300GB,物理块大小4MB,则磁盘共300*1024/4=75*1024
个物理块,位示图用每1位表示1个磁盘块的使用情况,1个字是32位,所以1个字可以表示32块物理块使用情况,那么需要75*1024/32=2400个字
5.有一计算机系统利用位示图来管理磁盘文件空间。假定该磁盘组共有100个柱面,每个柱面有20个磁道,每个磁道分成8个盘块(扇区),每个盘块1KB,位示图如下图所示。1)试给出位示图中的位置(i, j)与对应盘块所在的物理位置(柱面号、磁头号、扇区号)之间的计算公式。假定柱面号、磁头号、扇区号都从0开始编号。2)试说明分配和回收一个盘块的过程。
(1)根据位示图的位置(i,j),得出盘块的序号b=i*16+j;用C 表示柱面号,H 表示磁头号,S
表示扇区号,则有:
C=b/(208)
H=(b%(208))/8
S=(b%(208))%8
(2)分配:顺序扫描位示图,找出1 个其值为“0”的二进制位,利用上述公式将其转换成相应的序号b,并修改位示图,置(i,j)=1;
回收:将回收盘块的盘块号换算成位示图中的i 和j,转换公式为:
b=C208+H8+S
i=b/16,j=b%16
最后将计算出的(i,j)在位示图中置“0”