第4章-存储器管理课件2.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章-存储器管理课件2.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储器 管理 课件
- 资源描述:
-
1、问题问题:怎样实现存储器的扩充?怎样实现存储器的扩充?程序局部性原理与程序的局部装入程序局部性原理与程序的局部装入程序局部性原理程序局部性原理:对几乎所有的程序,在一段时间内,:对几乎所有的程序,在一段时间内,CPUCPU总是集中地访问程序中的某一个部分而不是随机地对总是集中地访问程序中的某一个部分而不是随机地对程序所有部分具有平均访问的概率。程序所有部分具有平均访问的概率。表现:时间局限性和空间局限性。表现:时间局限性和空间局限性。理解:进程的工作集理解:进程的工作集 (1)(1)程序在大多数情况下仍是顺序执行的。程序在大多数情况下仍是顺序执行的。(2)(2)过程调用的深度有限。过程调用的深
2、度有限。(3)(3)循环结构使得少数指令多次执行。循环结构使得少数指令多次执行。(4)(4)对数据结构的处理往往都局限于很小的范围内。对数据结构的处理往往都局限于很小的范围内。上述原理为在程序装载时只装入部分程序提供了理论上述原理为在程序装载时只装入部分程序提供了理论基础。基础。对页式管理:对页式管理:作业开始运行时只装入部分页面到内存中,如果要作业开始运行时只装入部分页面到内存中,如果要操作不在内存中的页,则由硬件产生缺页中断,请求将操作不在内存中的页,则由硬件产生缺页中断,请求将需要的页调入内存。需要的页调入内存。辅助页表(外页表):在作业装载时建立在辅存上,辅助页表(外页表):在作业装载
3、时建立在辅存上,记载虚页在辅存上的位置,以便在调页时能够快速地找记载虚页在辅存上的位置,以便在调页时能够快速地找到页的具体内容。到页的具体内容。4.6 请求分页存储管理方式请求分页存储管理方式 4.6.1 4.6.1 请求分页中的硬件支持请求分页中的硬件支持 页表机制页表机制 请求分页的页表数据结构要能够记录页是否装入,请求分页的页表数据结构要能够记录页是否装入,同时还要为页面的换入换出提供支持。页表是实现请求同时还要为页面的换入换出提供支持。页表是实现请求分页的关键数据结构。分页的关键数据结构。在基本页表的基础上改进。在基本页表的基础上改进。页号 物理块号 状态位P 访问字段A 修改位M外存
4、地址 2.2.缺页中断机构缺页中断机构 每当程序要访问的页面不在内存时便产生一缺页每当程序要访问的页面不在内存时便产生一缺页中断,以请求中断,以请求OSOS将所缺的页调入内存将所缺的页调入内存页面B:A:654321指令copy ATO B缺页中断的特点:缺页中断的特点:在指令执行期间产生和处理中在指令执行期间产生和处理中断信号;断信号;一条指令执行期间,可能产生一条指令执行期间,可能产生多次缺页中断多次缺页中断调页中断:完成具体的调页操作,过程如下:调页中断:完成具体的调页操作,过程如下:查存储块表(查存储块表(MBTMBT)有无空闲块,有则装载页然后修改)有无空闲块,有则装载页然后修改PM
5、TPMT,MBTMBT;无则需按一定无则需按一定算法算法淘汰某页,如果该页修改过还要将淘汰某页,如果该页修改过还要将其写回辅存,装载页后修改其写回辅存,装载页后修改PMTPMT,MBTMBT。抖动:对同一页反复进行出页和入页操作的现象。也叫抖动:对同一页反复进行出页和入页操作的现象。也叫系统颠簸。系统颠簸。3.地地址址变变换换机机构构 缺页中断处理保留CPU现场从外存中找到缺页内存满否?选择一页换出该页被修改否?将该页写回外存OS命令CPU从外存读缺页启动I/O硬件将一页从外存换入内存修改页表否是是否页表项在快表中?CPU检索快表访问页表否页在内存?修改访问位和修改位形成物理地址地址变换结束否
6、页号页表长度?开始程序请求访问一页产生缺页中断请求调页修改快表是越界中断是是了解:了解:4.6.2 内存分配策略和分配算法内存分配策略和分配算法 1.1.最小物理块数的确定最小物理块数的确定 指能保证进程正常运行所需的最小物理块数。进程应获指能保证进程正常运行所需的最小物理块数。进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、格式、功能和寻址方式。如机器允许间接寻址时,则至少要功能和寻址方式。如机器允许间接寻址时,则至少要求有三个物理块。求有三个物理块。2.2.物理块的分配策略物理块的分配策略 在请求分页系统中,结合可采取的
7、内存分配和置换策在请求分页系统中,结合可采取的内存分配和置换策略,可组合出以下三种适用的策略。略,可组合出以下三种适用的策略。1)1)固定分配局部置换固定分配局部置换 2)2)可变分配全局置换可变分配全局置换 3)3)可变分配局部置换可变分配局部置换3.物理块分配算法物理块分配算法 1)平均分配算法 将系统中所有可供分配的物理块,平均分配给各个进程。但未考虑到各进程本身的大小。2)按比例分配算法 根据进程的大小按比例分配物理块的算法。3)考虑优先权的分配算法 在比例分配的基础上,根据各进程的优先权,适当地增加其相应份额。缺页率缺页率=缺页中断的次数缺页中断的次数/页面的总访问次数页面的总访问次
8、数 了解:了解:4.6.3 调页策略调页策略 1.1.何时调入页面何时调入页面1)1)预调页策略预调页策略 2)2)请求调页策略请求调页策略 2.2.从何处调入页面从何处调入页面 请求分页系统中外存分为两部分:文件区和用于存请求分页系统中外存分为两部分:文件区和用于存放对换页面的对换区。通常对换区是采用连续分配方式。放对换页面的对换区。通常对换区是采用连续分配方式。1 1)全部从对换区调入所需页面。)全部从对换区调入所需页面。2 2)不会被修改的文件,都直接从文件区调入。)不会被修改的文件,都直接从文件区调入。3 3)UNIXUNIX方式。凡未运行过的页面,都从文件区调入。方式。凡未运行过的页
9、面,都从文件区调入。曾经运行过但又被换出的页面,从对换区调入。曾经运行过但又被换出的页面,从对换区调入。UNIXUNIX系系统允许页面共享进一步减少调页。统允许页面共享进一步减少调页。4.7 页面置换算法页面置换算法 页面置换:页面淘汰。进程运行时不能从内存中获得新的页面置换:页面淘汰。进程运行时不能从内存中获得新的块来装载页,产生缺页中断,操作系统必须按一定的算法块来装载页,产生缺页中断,操作系统必须按一定的算法把已在主存的某页淘汰出去。把已在主存的某页淘汰出去。1.1.最佳最佳(Optimal)(Optimal)置换算法(置换算法(OPT OPT)最佳置换算法是由最佳置换算法是由Belad
10、yBelady于于19661966年提出的一种理论上年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的,的算法。其所选择的被淘汰页面,将是以后永不使用的,或许是在最长或许是在最长(未来未来)时间内不再被访问的页面。采用最佳时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。置换算法,通常可保证获得最低的缺页率。假定系统为某进程分配了三个物理块,假定系统为某进程分配了三个物理块,并考虑有以并考虑有以下的页面号引用串:下的页面号引用串:7 7,0 0,1 1,2 2,0 0,3 3,0 0,4 4,2 2,3 3,0 0,3 3,2 2,1 1,2 2,0 0,1
11、 1,7 7,0 0,1 1页面引用70770170122010320304243230321201201770101页框(物理块)203实际产生缺页时,操作系统不知道每个页的下次访问时间。实际产生缺页时,操作系统不知道每个页的下次访问时间。所以这种算法只具有理论意义。用来衡量算法的性能。所以这种算法只具有理论意义。用来衡量算法的性能。2.2.先进先出先进先出(FIFO)(FIFO)页面置换算法页面置换算法选择在主存驻留时间最长(最先进入)的那一页淘汰。选择在主存驻留时间最长(最先进入)的那一页淘汰。系统保有相应的数据结构内存中的页。系统保有相应的数据结构内存中的页。页面引用707701701
12、22010323104430230321013201770201页框2304204230230127127011缺页中断的次数缺页中断的次数 12,是,是OPT方式的方式的2倍倍先进先出先进先出(FIFO)(FIFO)页面置换算法页面置换算法特点:易实现,但效率不高。特点:易实现,但效率不高。有可能出现抖动:因为在主存时间最长的页很可能是访有可能出现抖动:因为在主存时间最长的页很可能是访问频率最高的页,则频繁地调入调出。问频率最高的页,则频繁地调入调出。了解:了解:BeladyBelady异常:异常:BeladyBelady在在19691969年发现,采用年发现,采用FIFOFIFO算法算法时
13、,为作业分配的主存块越多时,有时产生的缺页中断次时,为作业分配的主存块越多时,有时产生的缺页中断次数反而增多。数反而增多。q例:例:123412512345的访问序列在内存块为的访问序列在内存块为3和和4时的情况。时的情况。3.最近最久未使用最近最久未使用(LRU)置换算法置换算法 1 1)LRU(Least Recently Used)LRU(Least Recently Used)置换算法的描述置换算法的描述 遵循程序局部性原理,用遵循程序局部性原理,用“最近的过去最近的过去”作为作为“最近最近的将来的将来”的近似。有较好的实际效果。的近似。有较好的实际效果。引用序列70770170122
14、010320304403230321132201710701页框4024320321022)LRU置换算法的硬件支持置换算法的硬件支持(1)寄存器:每个在内存中的页面配置一个移位寄存器)寄存器:每个在内存中的页面配置一个移位寄存器R记记录每个页被访问的情况,定时右移录每个页被访问的情况,定时右移1位,这样值最小的位,这样值最小的R指示指示的是最近最久未访问的页。的是最近最久未访问的页。(2)栈:栈:每当进程访问某页面时,便将该页面的页面号从每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。栈顶始终是最新被访问页面的栈中移出,将它压入栈顶。栈顶始终是最新被访问页面的编号,而栈底则
展开阅读全文