【问题标题】:TLB Hit - Checking if the page is within the process's memory spaceTLB Hit - 检查页面是否在进程的内存空间内
【发布时间】:2014-05-30 04:43:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: memory-management operating-system tlb


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-03-27
        • 1970-01-01
        • 1970-01-01
        • 2014-04-15
        • 2015-09-10
        • 2020-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多