- 有一个磁盘,它有3200块,每块4096字节组成的空间。现用字长为32位的100个字作为磁盘的位示图。(块号、字号、位数均从0开始),求:
(1)第2999块对应于第几个字的第几位?第40个字的第18位对应于第几块?
解:
先看图:
考虑到,位示图是记录存储空间分配情况的表,且每一位二进制都对应于存储空间的一个存储块。
位示图的字号:存储块。
位示图的位号:存储块的块号。
则,依靠位示图,有:
第几个字:2999/32=93
(先不看每块4096字节,把问题看成:有100个箱子/行,每个箱子一定要装32个方块,把2999个方块,依次放入箱子,放了94个箱子/行(第94个箱子就是第93个字,对应行数为第94行),之所以字是93,是因为我们是从0开始的。)
第几位:2999 mod 32=23
(由前面求出的第93个字,可以看成:找出第94个盒子中装有最后一个方块的位置)
(32*93=2976,则还剩下:2999-2976=23,这剩下的23会放进第94个盒子/行,排在第23位/列)
原理也知道了,接下来就容易了:
第40个字的第18位对应于第几块:
先看第40个字:40*32=1280
再看第18位:18
对应块/总数:1280+18=1298