计算机操作系统教程 课件第6章_虚拟存储管理.pptx

计算机操作系统教程 课件第6章_虚拟存储管理.pptx

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第六章虚拟存储器;第6章虚拟存储器;在计算机系统中,尤其是在多道程序环境下,可能会出现内存不够用的情况,包括三种情形:

程序太大,超过了内存的容量;

程序太多,超过了内存的容量;

程序太多,且单个程序太大。;局部性原理(principleoflocality)

程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域。;局部性原理的具体表现:

程序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令;

程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行;

程序中存在很多对一定数据结构的操作,如数组操作,往往局限在较小范围内。;程序的局部性原理表明,从理论上来

说,虚拟存储技术是能够实现的,而

且在实现了以后应该是能够取得一个

满意的效果的。

成功案例:TLB、Cache。;6.1.2覆盖技术;6.1.3交换技术;进程管理;;6.2请求页式管理;;;当内存空间不够用时,需要把页面保存在磁盘上(backingstore,后备存储);

内存物理页面称为pageframe,磁盘上的页面称为后备页面(backingframe);

目的:提供一种错觉,内存的容量好像和磁盘容量一样大,且速度和内存一样快(理想状态)。;6.2.2虚拟存储器的概念;请求页式管理需要解决以下问题:

如何发现执行的代码或访问的数据不在内存;

代码或数据什么时候调入内存,调入策略;

当一些页调入内存时,内存没有空闲内存时,将淘汰哪些页,淘汰策略。;1.页表的扩充;驻留位(有效位):表示该页是否在内存。若该位为1,表示该页位于内存中,即该页表项有效,可以使用;若该位为0,表示该页当前还在外存中,此时若访问该页表项,将导致缺页中断;

保护位:表示允许对该页做何种类型的访问,如只读、可读写、可执行等;

修改位:表明此页在内存中是否被修改过。当系统回收该物理页面时,根据此位来决定是否把它的内容写回外存;

访问位:如果该页面被访问过(包括读操作或写操作),则设置此位。用于页面置换算法。;X;2.缺页中断;有空闲页面吗?;有空闲页面时的处理流程;;用户进程感觉不到缺页中断的发生(就像进程切换??样)。;功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。

目标:尽可能地减少页面的换进换出次数(即缺页中断的次数)。

可把未来不再使用的或短期内较少使用的页面换出。;6.3.1.最佳页面置换算法;进程共有5个逻辑页面,在它的运行过程中,对逻辑页面的访问顺序是:1,2,3,4,1,2,5,1,2,3,4,5。若在内存中给它分配4个物理页面,则缺页6次。;6.2.2先进先出算法;6.2.2先进先出算法;6.3.3.最近最久未使用算法;6.3.3.最近最久未使用算法;1,2,3,4,1,2,5,1,2,3,4,5;完美的LRU算法并不实用:

在每次内存访问时,都需要去更新该页面访问时间(时间戳法)或调整各个页面的先后顺序(链表法和栈法),开销很大;

缺乏硬件支持。

可行的做法:

对LRU算法的近似;

在硬件的支持下,使用某种简单而快速的方法来寻找比较老(而非最老)的页面。 ;6.3.4.Clock(近似LRU)算法;6.3.4.Clock(近似LRU)算法;6.3.4.Clock(近似LRU)算法;6.3.4.Clock(近似LRU)算法;6.3.5最少使用算法;1.工作集;工作集:一个进程当前正在使用的逻辑页面集合,

可以用一个二元函数W(t,?)来表示:

t是当前的执行时刻;

?称为工作集窗口(working-setwindow),即一个定长的页面访问窗口;

W(t,?)=在当前时刻t之前的?窗口当中的所有页面所组成的集合(随着t的变化,该集合也在不断地变化);

|W(t,?)|指工作集的大小,即页面数目。;261577775162341234443434441327

如果?窗口的长度为10,那么:

W(t1,?)={1,2,5,6,7}

W(t2,?)={3,4};;2.驻留集;3.页面的分配策略;可变分配策略:驻留集大小可变。例如:每个进程在刚开始运行的时候,先根据程序大小给它分配一定数目的物理页面,然后在进程运行过程中,再动态地调整驻留集的大小。

可采用全局页面置换的方式,当发生一个缺页中断时,被置换的页面可以是在其它进程当中,各个并发进程竞争地使用物理页面。

优缺点:性能较好,但增加了系统开销。

具体实现:可以使用缺页率算法(

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档