Ter*_*nal 13 operating-system kernel memory-management cpu-architecture tlb
在加州大学伯克利分校的John Kubiatowicz(Kuby教授)关于操作系统的视频讲座中,他提到TLB命中并不意味着相应的页面在主内存中.页面错误仍然可能发生.
从技术上讲,TLB是页表条目的缓存,因为所有页表条目都没有在主内存中提供相应的页面.TLB也是如此.TLB命中可能会导致页面错误.
但根据教科书中给出的算法,我无法找到这样的案例.在TLB未命中内核上引用页表并更新TLB高速缓存以进行适当的地址转换.下一次TLB命中不能导致页面错误.当内核换出页面时,它会更新该页表条目的相应位并使相应的TLB无效,因此下一次TLB命中,直到页面加载到主内存中.
那么有人可以代表kuby教授的主张的正确性并指出一个案例,而不是TLB命中(TLB中找到的相应虚拟地址的翻译物理地址),可能会发生页面错误吗?
Lyk*_*yke 12
一个例子是如果存储器访问与允许的存储器访问不同.
例如,你想写入写保护的内存.TLB存在,它是一个命中,地址被翻译.但是在访问时你得到一个陷阱,因为你试图写入只读的内存