面试题答案
一键面试翻译速查表更新机制基本操作步骤
- 地址映射:当进程访问内存时,首先由硬件将虚拟地址发送到内存管理单元(MMU),MMU查询翻译速查表(通常指TLB,即Translation Lookaside Buffer),试图找到虚拟地址到物理地址的映射。
- 命中处理:若TLB中存在对应的映射条目(命中),MMU直接使用该映射将虚拟地址转换为物理地址,然后访问内存。
- 未命中处理:若TLB未命中,操作系统内核介入。内核会在页表中查找虚拟地址对应的物理地址,这一过程可能涉及多级页表遍历。找到物理地址后,更新TLB,将新的虚拟地址 - 物理地址映射添加到TLB中,同时可能根据TLB的替换策略,替换掉旧的条目(如果TLB已满)。
触发更新操作的情况
- 进程切换:当操作系统进行进程切换时,新进程的虚拟地址空间与旧进程不同,为确保新进程能正确访问内存,TLB需要更新,清除旧进程的映射条目,并可能加载新进程的映射条目。
- 页表更新:当页表中的内容发生变化,例如内存分配、释放或页面置换等操作导致页表中虚拟地址 - 物理地址映射关系改变时,TLB中对应的旧映射可能失效,需要更新以反映新的映射关系。
- TLB溢出:当TLB已满,而又需要添加新的映射条目时,会根据TLB的替换策略,选择一个旧的条目进行替换,从而触发更新操作。