我一直在阅读有关虚拟地址到物理地址的转换。据我所知,TLB是一个硬件缓存,驻留在CPU的内存管理单元中,包含最近访问过的页面的映射。
但是,有一个TLB命中 - 操作系统如何确保进程实际访问页面(在进程的分配地址空间内)?
我相信这样做的一种方法是检查进程的页表,但这似乎打败了使用TLB的整个目的。任何见解?
这取决于操作系统正在使用的内存管理策略。例如,在OS使用反向分页表的情况下,页表中的每个条目包含拥有该页面的进程(PID)的id。
对于“正常”寻呼,每个寻呼条目可以包含用于存储器保护和共享的额外位。
在基本级别,TLB仅包含ram中的页面,并且只要从ram中删除页面,os就会清除TLB。