1

我一直在阅读有关将虚拟地址转换为物理地址的内容。我知道 TLB 是一个硬件缓存,位于 CPU 的内存管理单元中,包含最近访问的页面的映射。

但是,假设有一个 TLB 命中 -操作系统如何确保该页面实际上可以被进程访问(在进程分配的地址空间内)?

我相信这样做的一种方法是检查进程的页表,但这似乎违背了使用 TLB 的全部目的。有什么见解吗?

4

2 回答 2

1

这取决于操作系统使用的内存管理策略。例如,在操作系统使用倒排页表的情况下,页表中的每个条目都包含拥有该页的进程 (PID) 的 ID。

对于“正常”分页,每个分页条目可能包含用于内存保护和共享的额外位。

于 2014-04-17T14:56:35.877 回答
0

在基本级别上,TLB 仅包含 ram 中的页面,并且每当从 ram 中删除页面时,操作系统都会清除 TLB。

于 2018-09-08T09:24:02.750 回答