我阅读了本章,了解了物理内存和虚拟内存。但是我比较好奇,为什么需要 buddy system。在我看来,我们既然已经以 Page 为单位分配/管理虚拟内存,而 buddy 看上去是给连续的内存准备的。请问:
提问可能很简单,敬请谅解。
我个人的理解是:一方面,buddy system的实现足够高效,即使是仅仅分配4K页。另一方面,分配连续物理内存是有需求的。大页是一个很好的例子,应用程序可以显示指定用大页映射(如Linux的mmap)。