为什么32位内存只需要1位映射

时间:2017-05-09 15:07:49

标签: c memory-management bitmap operating-system

我正在阅读Tannenbaum在Memory Management with Bitmaps上阅读现代操作系统的书,但发现很难理解这句话的含义

  

位置单位越小,位图越大。然而,   即使是一个小到4字节的分配单元,32位的内存   只需要1位地图。

为什么4字节(32位)的内存在地图中只占1位?

screenshot from book

1 个答案:

答案 0 :(得分:0)

此上下文中的位图用于指示正​​在分配的内存块。

  

为什么4字节(32位)的内存在地图中只占1位?

他们没有占据1位。一口确定是否正在使用4个字节。

  

分配单元越小,位图越大。但是,即使分配单元小到4个字节,32位内存也只需要1位映射。

假设您有一个1024字节的内存池并将使用此技术。如果允许分配128个字节,这意味着您的位图只需要8位(8 * 128 = 1024)。如果分配64个字节,则需要16个位图。

我不得不说这是表示已分配磁盘集群的常规和惯常方式,我怀疑它是否用于内存。