- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 虚拟内存概要1
第10章 虚拟内存 教师:计算机操作系统课程组 E-mail: zhao.yanhong@163.com(赵艳红) wxzx@(沈峰) Contents 10.1 背景 分页管理为虚拟内存管理提供了较好的支持。 虚拟内存中页可以在硬盘与内存之间互换,给程序员提供有巨大内存的感觉。 虚拟内存的实现技术 请求页面调度(demand paging):经常使用 请求分段调度(demand segmentation) 进程的虚拟地址空间 10.2 请求页面调度 进程驻留在硬盘上,当需要执行它时,将它的那些必须的页调入内存,而不是将整个进程都调入内存。可以通过在页表中添加有效/无效标志位表示哪些页已经在内存中。如图所示。 当进程执行到它所引用的页不在内存时,将发生页错误。需要执行页错误处理程序,此程序的步骤如图所示: 10.2 请求页面调度 如果页不在内存,必须把此页调入内存,同时更新页表。 如果内存中没有空闲帧(物理页),则必须从内存中选择一个页移出内存。 选择哪一页移出呢?页面置换算法。 支持请求页面调度的硬件与分页的硬件一样 页表:带有效/无效标志位字段 次级存储器:是硬盘的一部分,用于保存从内存中被称出的页,又称为交换空间。 10.3 页面置换 需要置换页面的情况: 10.3.1 基本方法 10.3.1 基本方法 增加修改位来减少页交换的次数 只有修改位被置位时(为1时)此页才被重新写入硬盘。 页面置换把逻辑内存与物理内存分开了,从而实现通过小的物理内存为程序员提供巨大的虚拟内存的目的。 通过增加分配给进程的帧数量,可以减少页错误。 有多种页置换算法,操作系统可以采用不同的置换算法。操作系统如何选择一个置换算法?根据自己所运行的硬件平台,选择一个最小的页错误率的算法。 10.3.1 基本方法 10.3.2 FIFO页置换算法 被置换的页:是一个最先进入内存的页。 可是会出现如下情况: 老的页可能是被经常使用的。 Belady异常:页错误率随着分配的帧数的增加页增加。 10.3.3 最优置换算法 置换那些在最长时间中不会被使用的页。 产生的页错误率最低,没有Belady异常现象。但算法难于实现,因为需要知道引用串的未来知识。 用于比较其它算法的优劣。 10.3.4 LRU算法 最近最少使用算法(LRU):选择最长时间内没有使用的页进行置换。 实现方法:栈 10.4 帧分配 分配帧涉及的两个问题: 分配帧的数量 页置换 ? 给定空闲帧和进程个数,每个进程分配多少帧? 例如:系统当前有93个空闲帧、有2个进程,则每个进程各分配多少帧? 10.4.1 帧的最小数量 每个进程所分配的帧不能超过可用帧的数量,但所分配的帧数量必须有一个下限:至少要分配多少个帧即帧的最小数量。 每个进程帧的最小数量是由机器的指令集合结构来定义的。 举例:IBM 370 中需要6页来处理指令MVC(字符串移动指令)。 指令本身可能跨2页 源字符串所占的块可能跨2页 目的字符串所占的块可能跨2页 每个进程帧的最大数量是由可用物理内存大小来定义的。 10.4.2 分配算法 帧分配算法:在最小数量与最大数量之间选择一个帧数量。 两类帧分配算法 固定分配算法 平均分配算法 按比例分配算法 按优先级分配算法 固定分配算法 平均分配算法: N个进程分配M个帧,给每个进程分配M/N个帧。例如:有93个帧、5个进程,则每个进程分配18个帧,剩余的3个帧放进空闲的缓冲池中。 按比例分配算法: 根据进程的大小按比例分配帧个数。 例如:有2个进程,一个进程为10页,另一个进程为127页;有57个帧等分配。则按比例分配算法进行分配如下: 10/137 * 62 ≈ 4 127/137 * 62 ≈ 57 按优先级分配算法 按比例分配算法的另一种情况是根据进程优先级分配帧,而不是根据进程大小。 10.4.3 全局分配与局部分配 分配帧涉及的两个问题: 分配帧的数量 页置换 页置换 全局置换:允许一个进程从所有帧集合中选择一个置换帧,而不管该是否已经分配给其它进程,一个进程可以从另一个进程所分配的帧中取一帧。 局部置换:每个进程只允许从自己所分配的帧中选择要置换的帧。 10.5 系统颠簸(Thrashing) 10.5.1 系统颠簸的原因 如果进程置换出的页在随后的执行又需要这个页,再换入,随后又被换出。如果系统中各进程都频繁出现这种页调度行为,且进程在换页上用的时间又多于执行时间,则称系统颠簸。 为了停止系统颠簸,可以从内存中交换一个进程出去。 把进程的在内存中的所有内容都暂存到硬盘中 使进程暂停一段时间运行 又称为中期调度 为什么会出现系统颠簸?如何发现系统出现颠簸现象? 复习:调度程序 长期调度程序(或称作业调度程序
您可能关注的文档
最近下载
- 抗菌药物临床应用分级管理目录(2023年版).doc VIP
- 飞利浦(PHILIPS)BTD2339 93 入门指南.pdf
- 设备管理工作总结汇报课件.pptx VIP
- (2025秋新改)人教版三年级数学上册教学计划(及进度表).docx VIP
- 人教版八年级数学上册 第十三章 三角形 综合与实践 确定匀质薄板的重心位置.pptx VIP
- TCEEIA 593:2022 工业机器人耐久性测试方法.pdf VIP
- 小学音乐《演唱 中华人民共和国国歌》章莉PPT课件新优质课比赛公开课获奖348.pptx VIP
- 2024秋季九年级英语教学计划(4篇).doc VIP
- 墩柱施工操作平台相关计算.docx VIP
- 岛津lc2030c高效液相色谱仪操作指南.doc
文档评论(0)