解读计算机中的虚拟内存,深入掌握内存的基础分配原则( 二 )

系统中给请求分页提供了一定的硬件支持 , 有页表机制、缺页中断机构以及地址变换机构 。

在请求分页系统中最常用的数据结构是页表 , 基本作用是将用户地址空间中的逻辑地址变换为内存空间中的物理地址 。 这个页表比基本分页的页表多出了:状态位 , 用于指示该页是否已调入内存 。 访问字段 , 记录本页在一段时间内被访问的次数 。 修改位 , 表示该页在调入内存后是否被修改过 。 外存地址 , 用于指出该页在外存上的地址 , 通常是物理块号 。

缺页中断机构 , 是在进程执行过程期间 , 所要访问的页面不再内存时 , 便产生一缺页中断 , 请求OS将所缺之页调入内存 。 缺页中断需要经历保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、恢复CPU环境 。

地址变换机构 , 是在分页系统地址变换机构的基础上 , 为实现虚拟存储器而增加了某些功能而形成的 , 如产生和处理缺页中断 , 以及从内存中换出一页的功能等 。 先从快表查找页表项 , 找到则修改页表项中的访问位 。 若快表未找到页表项 , 应到内存中去查找页表 , 再从找到的页表项中的状态位 , 判断是否调入内存 , 若未调入内存 。

推荐阅读