内存管理:堆
本文参考OSDev Wiki上关于“堆”的介绍及实现,原文地址:https://wiki.osdev.org/Heap
堆内存
Heap(堆)
堆是应用程序和内核都离不开的重要组成部分。通常,它位于更高层次的内存管理机制之下,而高层机制负责处理更大粒度的内存块。在大多数操作系统中,内存是按页(page)或其他较大的块进行分配的。在 X86 和 X64 架构中,一页通常是 4KB,但也可能更大。然而,对于较小的分配需求,如果直接占用整页会造成大量浪费。例如,只需要 24 字节却分配整整 4KB 页,将导致严重的内存浪费。因此,大多数应用程序和内核都会实现第二层内存管理:在以 4KB(或更大)为单位分配得到的内存块基础上,根据需求将这些一组页面或单独页面拆分成更小的部分进行分配。
