反置页表
反置页表的提出
页表及相关硬件机制在地址转换、存储保护、虚拟地址访问中发挥了关键作用。
内存管理单元MMU是为页式存储管理设置的专门硬件机构。MMU是CPU管理虚拟/物理存储器的控制线路,把虚拟地址映射为物理地址,并提供存储保护,必要时确定淘汰页面。
反置页表是MMU用的数据结构,用来完成内存页架到访问进程页号的对应,即物理地址到逻辑地址的转换。
反置页表的基本设计思想
针对内存中的每个页架建立一个页表,按照块号排序。
反置页表的页表项
页号
虚拟地址页号
进程标志符
使用该页的进程号
标志位
有效、引用、修改、保护和锁定等标志信息。
链指针
哈希链
基于反置页表的地址转换过程
MMU通过哈希表把进程标识和虚页号转换成一个哈希值,指向反置页表的一个标目。
MMU遍历哈希链找到所需进程的虚页号,该项的索引就是页架号,通过拼接位移便可生成物理地址。
若遍历整个反置页表中未能找到匹配页表项,说明该页不在内存,产生缺页中断,请求操作系统调入。
Last updated