虚拟内存缺页中断

虚拟内存缺页中断

  在做了09年408的一道关于求虚存访存时间的os题,发现了一些问题:跟书上讲的流程不太一样。具体在,缺页中断流程和求EAT的部分。思考后,发现课本上的地址转换有点问题。
  ps:刚发现这问题,有人来问题,立马无私的讲给她。无奈这是个傻子,找到证据后发给她图,居然看不出来问题!看不出来!看不出来!
  • 缺页中断
    缺页中断不同与一般中断,表现在:
    1.缺页中断在指令执行期间触发中断,中断处理完成后,将重启该命令
    2.缺页中断将会发生多次,这与机器的指令和数据分布有关,如跨页指令和数据。

  • 地址转化
    1.当发生缺页中断时,系统进行中断处理(有空闲块,调入页面;无空闲根据置换算法,替换一个出去)。
    至于快表(TLB)的更新,一般认为也由os在中断处理中完成。09年408OS那道题目就假设中断处理包括TCB也更新.
    2.完成中断处理后,重启该命令
    3.该命令让将进行地址转换,先检索TLB,命中,获得物理块,直接运算得出物理地址。

  • 第四版OS
    1.请求页式管理,地址转换流程错误。
    这个流程在中断处理结束修改完快表,直接完成了地址转换。有悖于上述缺页中断的处理方式。该书第三版的流程图,则是中断处理之后,重新启动流程。
    虚拟内存缺页中断_第1张图片

    2.求EAT部分,中断处理后,应是指令重启访问快表的时间,而不是修改快表的时间。

  • 第三版OS地址转换流程图
    这里的流程是在中断处理完成后重新启动命令的,符合缺页中断的处理流程。私以为在配置快表的请求页式存储管理中缺页中断后的快表修改也应由中断处理完成,09年408 os题便是假设中断处理后,快表也修改了。
    虚拟内存缺页中断_第2张图片

  • 注意
    区别页式管理和请求页式管理,前者是普通的页式管理(实存),后者是加了缺页中断的虚拟存储管理。

  • 教材

    • 计算机操作系统(第三版 西安电子科技大学出版社)汤小丹 梁红兵 哲凤屏 汤子瀛
    • 计算机操作系统(第四版 西安电子科技大学出版社)汤小丹 梁红兵 哲凤屏 汤子瀛

你可能感兴趣的:(其他)