Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当在用户模式下运行的进程请求额外的内存时,页面是从内核维护的空闲页框列表中分配的。但是,谁给内核分配内存?它是如何分配的?在为内核分配内存时是否存在内存浪费?
内核负责为用户应用程序分配内存(在高层次上),因此它可以很容易地为自己分配内存。
正如用户应用程序通常使用内存分配器(例如,在 libc 中)一样,在大多数内核中(例如,在 Linux 内核中)malloc()也有一个内存分配器。kmalloc()由于它必须在与用户空间分配器不同的约束下运行,因此它的实现方式可能有所不同。
malloc()
kmalloc()