Linux 上进程的常用分配单位是什么?

Linux 上进程的常用分配单位是什么?

我目前正在研究操作系统中的内存管理。

分配单元是操作系统分配给任何进程的最小内存单元。

我读过这一页在“内核内部的内存分配”部分中,页面是操作系统分配给进程的最小单位。

但在这一页,在“分配的内存”部分中,它表示操作系统可以将其分成更小的块(例如 6 字节),并在请求时将其提供给应用程序。

我不确定两个链接是否在谈论同一件事,但我的问题是:具有虚拟内存和分页的操作系统中常见的分配单元是什么?

答案1

在你的第二个参考文献中,它说

内存分配器获取一大块内存(例如 4 页,或 4 * 4 KiB)并将其划分为更小的块

“内存分配器”不是内核,而是像 malloc 这样的 libc 例程。

内核分配内存到过程在页面大小的块中。当应用程序请求并释放这些页面时,malloc 会跟踪这些页面的已使用和未使用部分。

相关内容