1

最近我一直在阅读有关内存分配器的信息,例如 Hoard 和 SLAB。但是我没有得到一些东西:

一个。这些分配器是管理物理内存还是虚拟内存。{如果(你的答案是物理内存)请阅读点 b,否则,阅读点 c}

湾。如果他们管理物理内存,因为这两个分配器都使用每个 CPU 的数据结构,他们最终不会将同一物理页面的空间分配给不同的进程。例如,考虑 T1 在 CPU C 上启动并请求一个 int。在此之后,让 T1 被抢占,T2 开始执行,它还要求一个 int。由于我们的结构是每个 CPU 的,我们最终会不会同时满足来自同一物理页面的两个请求。

C。如果它们管理虚拟内存,那么为什么我们说所有数据结构都是每个 CPU 的,而不是我们应该说它们是每个进程的,因为在每次上下文切换时,我们都必须重新填充这些数据结构。

4

0 回答 0