ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:478.56KB ,
资源ID:4308628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4308628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(虚拟存储器.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

虚拟存储器.docx

1、虚拟存储器第五章 虚拟存储器第1节 虚拟存储器的基本概念一、虚拟存储器的引入在前面介绍的各种存储管理方式中,用户作业一旦被装入内存,就会一直驻留其中,直到进程运行结束(驻留性)。有些存储管理方式还存在一次性。因此,用户作业要最终运行完毕,系统必须给它提供不短于作业长度的存储空间。于是就出现了两种问题: 长作业无法运行 大量作业无法同时运行程序运行的局部性原理:在一段时间内一个程序的执行往往呈现出高度的局部性。 -P154程序顺序执行,循环大量存在;数组、记录、流是数据的主体。局部性原理是在存储分配时克服驻留性、实现虚拟存储的依据。二、虚拟存储器的定义定义:具有请求调入功能和置换功能,能从逻辑上

2、对内存容量进行扩充的一种存储器系统。其特性和访问速度接近于内存,而其容量和每位的成本却又接近于外存。特性:离散性、多次性、交换性、虚拟性对用户而言,它访问特性和内存一样;它以CPU时间和外存空间换取宝贵内存空间,是操作系统中的一种资源转换(替代)技术。容量: 一个虚拟存储器的最大容量是由计算机的地址结构确定的。如:若CPU的有效地址宽度为32位,则程序可以寻址范围是0232-1 ,即虚存容量可达4GB。 虚拟存储器的容量与主存的实际大小没有直接的关系,而是在主存与辅存的容量之和的范围内。三、虚拟存储技术基本原理: -P154把内存与外存有机地结合起来使用,从而得到一个容量很大的“内存”。当进程

3、开始运行时,先将它的一部分内容装入内存,另一部分暂时留在外存。在运行过程中,当要访问的指令/数据不在内存时,由OS自动将内存中的一些内容调到外存,藤出空间,再将马上要访问的内容从外存调入内存。目的:提高内存利用率;为大作业的运行提供可能。实现方法: 请求分页系统 请求分段系统第2节 请求分页式存储管理方式一、基本原理对基本分页式存储管理进行改进:请求分页式存储管理在进程开始运行之前,不是将作业的全部页装入,而是只装入开始的少数几页(甚至一页)入内存。之后随着进程的推进,根据运行的需要,利用请求调入技术,动态地装入后续页;当内存空间已满,而又需要装入新的页时,则又利用置换技术,根据某种算法淘汰一

4、个页,以便藤出空间装入新的一页。请求分页式存储管理需要解决下面三个问题: OS如何知道进程要访问的页面在不在内存中; 当发现缺页时,如何把所缺页面调入内存; 当内存中没有空闲块时,为了要接受一个新页,需要把老的一页淘汰出去,根据什么策略选择准备淘汰的页。二、硬件的支持1、改进页表的结构 状态位(驻留位):表示该页目前是在内存还是在外存; 访问字段:记录该页最近是否被访问过或被访问的次数; 修改位:表示该页在本次读入内存后是否在内存中被改写过; 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。2、增加缺页中断机构:每当进程要访问的一个逻辑地址所属的页目前不在内存,就产生缺

5、页中断,进行调页或换页处理。 在地址变换过程中,在页表中发现所要访问的页不在内存,则产生缺页中断。操作系统接到此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,将该页调入内存,使作业继续运行下去(实现了请求调入); 如果内存中有空闲块,则分配一块,将新调入页装入内存,并修改页表中相应页表项目的驻留位及相应的内存块号; 若此时内存中没有空闲块,则要淘汰某页。若将被淘汰的页在内存期间被修改过,则要将其写回外存(实现了置换);缺页中断的中断处理过程,见下图左。3、地址变换流程,见下图右图5-2 请求分页中的地址变换和缺页中断处理过程注意“选择一页换出”框要调用页面置换算法-P158-1

6、59三、存储分配方法1、存储分配方法的改进-多次分配: 在进程开始执行时,只将最开始和最常用的部分(如主程序、主菜单)按页装入内存。为整个进程建立页表,记录进程各页使用内存的情况。其他页在进程执行的过程中被动态地装入; 当需要访问的页不在内存中时,系统产生并处理缺页中断,调入后续页; 页表在页被调入、换出时要被改写,记录进程的各页对内存使用情况的变化。2、物理块的分配策略和分配算法 最小物理块数及其确定最小物理块数是指能保证进程正常运行所需要的最小物理块数。它取决于指令的格式、功能和寻址方式。 物理块的分配算法 -P160 物理块的置换策略 -P159-160四、调页策略1、调页时机-确定何时

7、调页 预调入:一次调入一批预计即将访问的页。这种方法主要用于进程的首次页调入。 请求调入:缺页时调入,一次调入一页。2、调页地址-确定从何处调入 全部从对换区调入、调出; -P161 需要修改的部分从对换区调入、调出,其他部分从文件区调入; 初次调入,从文件区;调出放到交换区;再次调入,从交换区。3、调页过程-确定如何调页调页过程即缺页中断处理程序的处理过程,如前面的框图。调页过程中,重要的一步是按照一定的页面置换算法淘汰内存中的一页,空出一块来存放新调入的页。第3节 页面置换算法页面置换算法是“选择一页,换出内存”时选择哪一页的原则和方法。置换算法的好坏,直接影响存储管理的性能。置换算法的理

8、想方案,是将那些访问概率高的页面留在内存中,而将那些访问概率最低的页面换出内存。对换出页面的不同选择形成不同的置换算法。一个好的页面置换算法应该有较低的页面更换频率,避免频繁地换页造成系统性能的下降。一、几种简单的算法1、随机淘汰算法当系统设计人员无法确定哪类页访问的频率低的情况下,就随机地选择一个用户页,将其换出。2、最佳置换算法(只是一种理论上的算法)每次将以后最长时间内不再被访问或永远不再被访问的页换出。该算法保证最低的缺页率。二、先进先出(FIFO)置换算法1、算法思想:选择在内存中驻留时间最长的页,交换出去。例如:假定系统为某进程分配了三个物理块, 并考虑有以下的页面访问串:7,0,

9、1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1图5-4 利用FIFO算法时的页面置换图2、算法的实现:将一个进程已调入的页按进入的先后次序链成一个队列,设一个头指针、一个尾指针。每次将头指针指向的页替换出去;新调入的页插到队尾。3、算法的特点: 简单、易实现,需要的硬件支持少。 但是,经常要使用的页,频繁地被选择换出(最先被调入的页可能是最常使用的)。三、最近最久未使用(LRU)置换算法1、算法思想:选择最后一次访问时间距离当前时刻最长的一页并淘汰之。即淘汰没有使用的时间最长的页。该算法需要较多的硬件支持。图5-5 利用LRU页面置换算法时的页面置换图2、硬件支持与实现

10、(1) 移位寄存器:为每个在内存中的页面配置一个移位寄存器(字),初值为0,可表示为R=Rn-1Rn-2Rn-3 R2R1R0 当该页面被访问时,将R的最高位置1; 系统定时将所有页面的移位寄存器逻辑右移一位,进行除2操作; 换页时将移位寄存器值最小的页淘汰。例:P165图5-6(2) 栈:保存当前页面使用的变化情况为每个进程建立一个栈,栈的大小等于分配给进程的块数;新调入的页,页号压入栈顶;栈中某页被访问时,页号被抽出,压入栈顶;换页时淘汰栈底的页。图5-7 用栈保存当前使用页面时栈的变化情况3、算法特点 比较接近理想的置换算法; 需要较多的硬件支持。四、 Clock置换算法(简化的LRU算

11、法) 1、算法思想:页表增加“指针”项,链接所用已在内存中的页;页每被访问一次,将该页的访问位置1;选择淘汰页时:图 5-8 简单Clock置换算法的流程和示例2、改进型Clock置换算法由访问位A和修改位M可以组合成下面四种类型的页面: 1类(A=0,M=0):表示该页最近既未被访问,又未被修改,是最佳淘汰页。 2类(A=0,M=1):表示该页最近未被访问,但已被修改,要淘汰它需要回写,是次一等的淘汰页。 3类(A=1,M=0):最近已被访问, 但未被修改, 该页有可能再被访问。 4类(A=1,M=1):最近已被访问且被修改,该页有可能再被访问。其淘汰的过程可分成以下三步:(1) 从指针所指

12、示的当前位置开始,循环扫描队列,寻找A=0且M=0的第一类页面,将所遇到的第一个这样的页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A。(2) 如果第一轮循环没找到合适的页,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0。(3) 如果第二步也没找到合适的页,即未找到第二类页面,则当指针返回到开始的位置,并已将所有的访问位A复0。然后重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。五、其他置换算法1、最少使用(LFU:Least Frequentl

13、y Used)置换算法2、页面缓冲算法(PBA:Page Buffering Algorithm)六、虚拟存储与系统性能1、多道度与处理机利用率(CPU执行用户进程的时间多少)由于请求分页式存储,可以只装入很少的页,一道作业就可以开始运行,存储利用率很高。人们往往希望尽量多装几道进程,并发执行,即增加系统的多道度。但是:图5-9 多道度与处理机利用率其原因就是如果并发执行的进程过多、每个进程分得的块少,缺页处理占据了过多的CPU时间,CPU执行用户进程的时间少了。缺页次数是影响系统性能的一个重要因素。2、抖动问题在请求分页式存储管理中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程

14、实际运行的时间还多,此时系统性能急剧下降。这种现象称为颠簸或抖动。原因: -P170 分配给单个进程的物理页面数太少,不能满足进程正常运行的基本要求-根本原因; 页面淘汰算法不合理。3、关于工作集工作集初步定义:某指定时间段内,进程将要访问页的集合;基于的思想是:在时刻t的前一段时间进程的工作集包含哪些页,那么在t时刻的后一段时间该进程的工作集最有可能还包括这些页。工作集的窗口:回顾的时间段的长度;工作集再次定义:从当前时刻t开始,回顾(一个工作集的窗口)时间,已访问的页集合。4、抖动预防的方法 采用局部置换策略; 在创建新进程前,观察系统中是否已经有进程缺块很严重。如果是,优先为现有进程增加

15、块,而暂缓创建新进程-避免增加多道度; 利用“L=S”准则调节缺页率,若LS则可以分新块给进程或创建新进程,否则只能换页。 -P172第4节 请求分段存储管理方式对基本分段式存储管理进行改进:请求分段式存储管理在进程开始运行之前,不是将作业的全部段装入,而是装入开始的少数几段(甚至一段)入内存。之后根据进程运行的需要,利用请求调入技术,动态地装入后续段;当内存空间已满,而又需要装入新的段时,则又利用置换技术,根据某种算法淘汰段,以便藤出空间装入新的段。一、硬件支持1、改进段表: - P1732、改变地址变换过程 图5-13 地址变换过程3、增加缺段中断机构,每当进程要调用或访问的一个逻辑段目前

16、不在内存,就产生缺段中断。图5-12 缺段中断处理程序的流程二、段的共享与保护1、共享段表为实现段的共享,除每个进程有自己的段表外,系统建立一个共享段表,每个共享段在其中占一个表项。2、共享段的存储分配 对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的有关信息填入请求进程的段表的相应项中。还须在共享段表中增加一表项,填写有关信息,把count置为1; 当又有其它进程请求调用该共享段时,由于该共享段已被调入内存,故此时无需再为该段分配内存,而只需在请求进程的段表中,增加一表项,填写该共享段的有关信息;在共享段的段表中,填上请求进程的进程名、存取控制等信息,再执行count=count+1操作,以表明增加了一个进程共享该段。3、共享段的存储回收当共享此段的某进程不再需要该段时,可释放该段:执行count=count-1操作。若结果为0,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项,表明此时已没有进程使用该段;否则(减1结果不为0),则只需要取消调用进程在共享段表中的有关记录。4、存储保护 越界检查-地址变换中的地址越界检查 存取控制检查-利用段表的存取控制字段 环保护机构简介-每个进程按优先权确定一个环编号,P176-177本章作业:P177 5、9、13、18、21

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1