2017-05-09 65 views
0

我读从坦南鲍姆书现代操作系统Memory Management with Bitmaps,但发现很难明白他的意思被这句话为什么内存32位只需要1的地图

越小AL-位置的位单位,位图越大。但是,即使分配单元小到4字节,32位内存 也只需要地图的1位,即使使用 也是如此。

为什么内存中的4个字节(32位)只占用1位?

screenshot from book

+0

如果该位为1,则分配内存单元,如果为0则表示空闲,单元在此处为4个字节。它的写法很清楚。问题是什么? – user3528438

+0

@ user3528438我的问题是内存分配4位到位图中的1位。我很困惑。或者1位表示分配了内存 –

+0

问题是单词“only”:对于4 GB,每4个字节1位仍然是地图内存的一大堆内存。我会写“_但是...仍然需要......” –

回答

0

在这种情况下,将位图被用来指示被分配什么的内存块。

为什么内存的4个字节(32位)只占用1位?

他们没有占位1位。一口一口决定是否使用4个字节。

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

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

我不得不说,这是一种正常和习惯的方式来表示分配的磁盘簇,我怀疑它被用于内存。

相关问题