gpt4 book ai didi

process - 系统如何选择合适的页表?

转载 作者:行者123 更新时间:2023-12-04 09:54:16 24 4
gpt4 key购买 nike

让我们专注于单处理器计算机系统。当一个进程被创建时,据我所知,页表被设置,它将虚拟地址映射到物理内存地址空间。每个进程都有自己的页表,存储在内核地址空间中。但是MMU如何为进程选择正确的页表,因为不仅有一个进程在运行,而且会有很多上下文切换发生?

任何帮助表示赞赏!

最好的事物,
西蒙

最佳答案

处理器有一个称为页表基址寄存器 (PTBR) 的特权寄存器,在 x86 上它是 CR3 .在上下文切换时,操作系统更改 PTBR 的值,以便处理器现在知道要使用哪个页表。除了 PTBR 之外,许多现代处理器还有地址空间编号 (ASN) 的概念。进程被赋予一个地址空间编号(来自有限的池),并且这个 ASN 也被设置在上下文切换的寄存器中。此 ASN 用作 TLB 匹配的一部分,并允许来自多个地址空间的 TLB 条目共存。只有当一个 ASN 被重用时,才需要刷新 TLB,然后只刷新与该 ASN 匹配的条目。大多数 x86 实现比这更粗粒度,并且有全局页面的概念(用于共享库和共享数据)。

关于process - 系统如何选择合适的页表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10880555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com