【发布时间】:2013-06-05 02:10:46
【问题描述】:
当在用户模式下运行的进程请求额外的内存时,页面是从内核维护的空闲页框列表中分配的。 但是,谁给内核分配内存? 它是如何分配的?为内核分配内存是否存在内存浪费?
【问题讨论】:
标签: memory memory-management operating-system kernel
当在用户模式下运行的进程请求额外的内存时,页面是从内核维护的空闲页框列表中分配的。 但是,谁给内核分配内存? 它是如何分配的?为内核分配内存是否存在内存浪费?
【问题讨论】:
标签: memory memory-management operating-system kernel
内核负责为用户应用程序分配内存(在较高级别),因此它可以很容易地为自己分配内存。
正如用户应用程序通常使用内存分配器(例如,libc 中的malloc())一样,大多数内核中也有一个内存分配器(例如,Linux 内核中的kmalloc())。由于它必须在与用户空间分配器不同的约束下运行,因此它的实现方式可能有所不同。
【讨论】: