操作系统用于实现动态内存管理堆的数据结构?

时间:2012-11-19 22:20:53

标签: c data-structures heap-memory

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

1 个答案:

答案 0 :(得分:1)

我发现链表的衍生物是堆管理的理想选择。

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

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

某些操作系统使用虚拟内存的概念,其中内存被分页到外部设备,例如硬盘驱动器。当操作系统收到页面错误时,指示存储页面外的访问,它将从外部设备加载到页面中。

希望有所帮助。