-6

操作系统使用哪种数据结构来实现动态内存管理中使用的堆内存?

4

1 回答 1

1

我发现链表的派生是堆管理的一个很好的候选者。

在具有非常小的受限内存区域的嵌入式系统上,不同的内存池效率更高。一个内存池可以用于小(字节单元)分配,并使用位向量来判断分配了哪些块。另一个用于中等或经常分配的块的内存池和用于不经常分配的块的剩余区域。

这个想法是以低内存开销有效地分配内存块并减少碎片。

一些操作系统使用虚拟内存的概念,其中内存被分页到外部设备,例如硬盘驱动器。当 OS 接收到page fault时,表示访问内存页面之外,它会从外部设备加载一个页面。

希望有帮助。

于 2012-11-19T23:01:33.927 回答