位图法的问题之求解磁盘块对应位图的位所在之处

问:文件系统用位图法表示磁盘空间的分配情况,位图存于磁盘的32~127号块中,每个盘块占1024B,盘块和块内字节均从0开始编号。假设要释放的盘块号为409612,则位图中要修改的位所在的盘块号和块内字节序号分别是(C)。

A. 81,1                             B. 81,2                           

C. 82,1                             C. 82,2

解:从题可知,位图是存于(32~127号磁盘块),故第32号磁盘块中可以存放的位在(0~8191),因为一个磁盘块大小为1024B*8bit = 8192位,即表示一个磁盘中可以表示8192位,位图法是使用一个位表示一个磁盘块的使用情况,故而在第32号磁盘块可以表示的磁盘块是(0~8191号磁盘块,从0开始编号),第33号磁盘块则表示(8192   ~  8192+8191=16383号),其他依此类推。

计算 409612/(8192位) = 50.01,存在余数,表示50个磁盘块是表示不到409612的,故而需要51个磁盘块。使用50个磁盘块可以表示(0~409599号,明显表示不到409612),验证一下 8192*50 = 409600(从0开始编号),所以表示 409612确实在第51个磁盘上。

而由于位图是从32号开始的,故而应放在32+50=82号磁盘块上,这里别整错了,从32作为第一块磁盘块数到第51块(32,34,35,36.....82),刚好是82,

如(2~10中表示的个数有:2,3,4,5,6,7,8,9,10,总共有(10-2 +1 = 9个),同理(32~82)用 82-32 = 50 而实际表示的则有50+1=51个。

所以可以知道409612就在第82号磁盘块上。

而求其字节编号,已知一个字节表示8位,在82号磁盘块上表示的位数(磁盘块号数)从409600开始,409612即是0~12即第13个位,字节序号也从0开始编号则有:

0号字节序号则表示(0~7)位,

1号字节序号表示(8~15)位,

第13个位明显处于8~15位中,故而字节序号为 1 。

  • 31
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值