Memory 内存是如何分配给内核的?

Memory 内存是如何分配给内核的?,memory,memory-management,operating-system,kernel,Memory,Memory Management,Operating System,Kernel,当在用户模式下运行的进程请求额外内存时,将从内核维护的空闲页面帧列表中分配页面。 但是,谁为内核分配内存呢? 如何分配?在将内存分配给内核时是否存在内存浪费?内核负责将内存分配给用户应用程序(在较高级别),因此它可以同样轻松地将内存分配给自身 正如用户应用程序通常使用内存分配器一样(如libc中的malloc()),大多数内核中也有内存分配器(如Linux内核中的kmalloc())。因为它必须在不同于用户空间分配器的约束下运行,所以它的实现可能有所不同

当在用户模式下运行的进程请求额外内存时,将从内核维护的空闲页面帧列表中分配页面。 但是,谁为内核分配内存呢?
如何分配?在将内存分配给内核时是否存在内存浪费?

内核负责将内存分配给用户应用程序(在较高级别),因此它可以同样轻松地将内存分配给自身

正如用户应用程序通常使用内存分配器一样(如libc中的
malloc()
),大多数内核中也有内存分配器(如Linux内核中的
kmalloc()
)。因为它必须在不同于用户空间分配器的约束下运行,所以它的实现可能有所不同