ch10 虚拟内存 教师:沈峰 shenfeng@163.com 10.1 背景 分页管理为虚拟内存管理提供了较好的支持。 虚拟内存中页可以在硬盘与内存之间互换,给程序员提供有巨大内存的感觉。 虚拟内存的实现技术 请求页面调度(demand paging):经常使用 请求分段调度(demand segmentation) 进程的虚拟地址空间 10.2 请求页面调度 进程驻留在硬盘上,当需要执行它时,将它的那些必须的页调入内存,而不是将整个进程都调入内存。可以通过在页表中添加有效/无效标志位表示哪些页已经在内存中。如图所示。 当进程执行到它所引用的页不在内存时,将发生页错误。需要执行页错误处理程序,此程序的步骤如图所示: 如果页不在内存,必须把此页调入内存,同时更新页表。 如果内存中没有空间帧(物理页),则必须从内存中选择一个页移出内存。 选择哪一页移出呢?页面置换算法。 支持请求页面调度的硬件与分页的硬件一样 页表:带有效/无效标志位字段 次级存储器:是硬盘的一部分,用于保存从内存中被称出的页,又称为交换空间。 10.4 页面置换 需要置换页面的情况 10.4.1 基本方法 被从内存置换出去的页是否要一定回写到硬盘 ?可以增加修改位来减少页写入到硬盘的次数:只有修改位被置位时(为1时)此页才被重新写入硬盘。 页面置换把逻辑内存与物理内存分开了,从而实现通过
原创力文档

文档评论(0)