位示图

位示图
位示图的位表示的是比特位(bit),也就是一位二进制,在记录空闲空间的时候,主要需要完成的工作是将空闲的空间列出来,方便去调用,在某一个空闲空间被使用的时候,需要分配出去,如果用完之后,空间还可以被回收,在这里主要区别的就是这个块有没有被用,占用和空闲是两种不同的状态,来那种状态用一位二进制来表示就足够了。

在记录过程当中,可以用一位二进制的当中0表示这个磁盘块是空闲的,1表示磁盘块已经被占用,如果说对一个空闲磁盘块要分配出去,就把它当前位置上的0置为1就可以了,要回收的话就是把1改为0。

 

 

类似于电影院选位置,选择或占用的一个过程。

对于位示图来看的话,它是以比特位来进行管理的,而一位二进制比特位是很小的一个单位,所以一般处理的时候,会先把比特位进行分组,在进行管理。如何分组?在之前存储单元的时候介绍过,分为按字节、或者按字分组,而位示图当中不考虑字节,直接按字分组,具体一个字多长?占据多少比特位?不同的计算机会存在区别,所以题干当中一般会说,比如字长多少,就是说有多少个比特位进行分组。上面的图是就是16个比特位来划分的。

目前架构位示图考查较少。

例题
某字长位32位的计算机的文件管理系统采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为1MB,那么位示图的大小为(9600)字。

位示图表示的是磁盘情况,一个磁盘对应一个比特位来记录
磁盘总容量为300GB,也就是磁盘块大小为300GB
每一个物理块大小是1MB
则可以求出磁盘块的数量=300GB/1MB,1GB和1MB之间转换是210,则磁盘块的数量=300GB/1MB=300×210
也就是需要300×210个比特位来表示位示图

问一共需要多少个字?
题目中告知字长位32位的计算机,所以需要的字=300×210/32=300×210/25=300×32=9600

继续上题,位示图如下,求2048号,它所占据的字号和位号。

 


这里要注意看,图中的位示图的宾浩是从0还是从1开始,设计到后续计算是否需要+1-1的操作

图中的字号和位号都是0开始的,因此需要考虑+1-1操作

2048号,是2049个磁盘,这个磁盘每32个比特位占据一个字,2049需要的字为=2049/32=64…1,也就是64余1
表示放在第64个字的时候,放不下了,因此需要放在第65个字的位置,第65个字的编号为64
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_41929714/article/details/129565477

posted @   a瑶池  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示