操作系统第章存储管理课件2.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统第章存储管理课件2.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 存储 管理 课件
- 资源描述:
-
1、6.4 外存资源管理外存资源管理外存空间划分外存空间划分静态等长,静态等长,2i,称为一块称为一块(block),块是外存,块是外存分配的基本单位,也是分配的基本单位,也是IO传输的基本单位。传输的基本单位。外存空间分配外存空间分配空闲块链空闲块链(慢慢)空闲块表空闲块表(UNIX)字位映像图字位映像图Swap空间空间File空间空间输入输入井井输出输出井井进程与外存对应关系进程与外存对应关系界地址界地址每进程占一组外存连续块;每进程占一组外存连续块;每进程占二组外存连续块(双对界)。每进程占二组外存连续块(双对界)。页式页式内存一页,外存一块。内存一页,外存一块。段式段式每段占外存若干连续块
2、。每段占外存若干连续块。段页式段页式内存一页,外存一块。内存一页,外存一块。6.5 虚拟存储系统虚拟存储系统无虚拟问题无虚拟问题不能运行比内存大的程序;不能运行比内存大的程序;进程全部装入内存,浪费空间(进程活动具有局部进程全部装入内存,浪费空间(进程活动具有局部性性)。单控制流的进程需要较少部分在内存;单控制流的进程需要较少部分在内存;多控制流的进程需要较多部分在内存。多控制流的进程需要较多部分在内存。虚拟存储虚拟存储进程部分装入内存,部分(或全部)装入外存,运进程部分装入内存,部分(或全部)装入外存,运行时访问在外存部分动态调入,内存不够淘汰。行时访问在外存部分动态调入,内存不够淘汰。6.
3、5.1 虚拟页式存储系统虚拟页式存储系统基本原理基本原理进程运行前:进程运行前:全部装入外存,部分装入内存。全部装入外存,部分装入内存。进程运行时:进程运行时:访问页不在内存,发生缺页中断,中断处理程序:访问页不在内存,发生缺页中断,中断处理程序:找到访问页在外存的地址;找到访问页在外存的地址;在内存找一空闲页面;在内存找一空闲页面;如没有,按淘汰算法淘汰一个;如没有,按淘汰算法淘汰一个;如需要,将淘汰页面写回外存,修改页表和总页表;如需要,将淘汰页面写回外存,修改页表和总页表;读入所需页面(切换进程);读入所需页面(切换进程);重新启动中断指令。重新启动中断指令。6.5.1 虚拟页式存储管理
4、虚拟页式存储管理(Cont.)虚拟页式存储管理地址映射虚拟页式存储管理地址映射指令给出逻辑地址指令给出逻辑地址(p,d)由由p查快表得到查快表得到 f查到查到 f、d合并得物理地址合并得物理地址0pl-1越界中断越界中断由由b、p查找页表得查找页表得f该页在内存该页在内存缺页中断缺页中断保存现场保存现场有空闲页框有空闲页框选一页面淘汰选一页面淘汰该页面修改过该页面修改过写回外存写回外存读入所需页面读入所需页面更新页表和快表更新页表和快表恢复现场恢复现场FFFTTT(f,d)快表快表如快表满,淘如快表满,淘汰一表项汰一表项硬硬件件完完成成软软件件完完成成T f、d合并得合并得物理地址物理地址对页
5、表的改进:对页表的改进:对快表的改进:对快表的改进:逻辑页号逻辑页号 p .页框号页框号 外存块号外存块号 内外标识内外标识 访问权限访问权限 修改标志修改标志 f b (0,1)r,w,e (0,1).逻辑页号逻辑页号 页框号页框号 访问权限访问权限 修改标志修改标志 p f r,w,e (0,1).6.5.1.2 内存页框分配策略(静态策略)内存页框分配策略(静态策略)1.平均分配平均分配 如内存如内存128页,进程页,进程25个,每个进程个,每个进程5个页架个页架 2.按进程按进程长度长度比例分配比例分配 pi共共si个页面;个页面;S=si;内存共;内存共m个页架个页架 ai=(si/
6、S)m 3.按进程按进程优先级优先级比例分配比例分配 4.按进程按进程长度和优先级别长度和优先级别比例分配比例分配 静态策略没有反映:静态策略没有反映:(1)程序结构;程序结构;(2)程序在不同时刻的行为特性。程序在不同时刻的行为特性。6.5.1.3 外存块的分配策略外存块的分配策略 1.静态分配静态分配 外存保持进程的全部页面:外存保持进程的全部页面:优点:速度快优点:速度快-淘汰时不必写回淘汰时不必写回(未修改情况未修改情况)缺点:外存浪费缺点:外存浪费 2.动态分配动态分配 外存仅保持进程不在内存的页面:外存仅保持进程不在内存的页面:优点:节省外存优点:节省外存 缺点:速度慢缺点:速度慢
7、-淘汰时必须写回淘汰时必须写回6.5.1.4 页面调入时机页面调入时机 1.请调请调(demand paging)upon page fault,发生缺页中断时调入。发生缺页中断时调入。2.预调预调(prepaging)before page fault,将要访问时调入将要访问时调入(根据程序顺序行为,根据程序顺序行为,不一定准)不一定准)预调必须辅以请调。预调必须辅以请调。用于:页淘汰、段淘汰、快表淘汰。用于:页淘汰、段淘汰、快表淘汰。Objective:lowest page-fault rate.1.最佳淘汰算法最佳淘汰算法(OPT-optimal)淘汰将来最长时间以后才用到的。淘汰将来
8、最长时间以后才用到的。效率最高,效率最高,not feasible。6 6 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 1 6 6 0 0 1 16 6 6 6 6 6 2 22 22 22 22 26 60 0 0 0 0 00 04 40 00 00 01 1 1 13 33 33 31 11 1 6.5.1.5 置换算法置换算法(replacement algorithm)2.先进先出先进先出(FIFO)淘汰最先调入的。淘汰最先调入的。依据依据:先进入的可能已经使用完毕。先进入的可能已经使用完毕。实现:队列实
9、现:队列 negative case:有些代码和数据可能整个程序运行中用有些代码和数据可能整个程序运行中用到。到。Belady异常异常:例子:例子:1,2,3,4,1,2,5,1,2,3,4,5 内存内存3个物理页面:页故障率个物理页面:页故障率=9/12 内存内存4个物理页面:页故障率个物理页面:页故障率=10/12 FIFO淘汰算法淘汰算法(belady异常异常)12 3 4 1 2 5 1 2 3 4511 1 4 4 4 55 52 2 2 1 1 13 33 3 3 2 22 41 2 3 4 1 2 5 1 2 3 4 51 1 1 15 5 5 5 4 42 2 22 1 1 1
10、 1 53 33 3 2 2 2 244 4 4 3 3 3页故障率页故障率=10/12页故障率页故障率=9/12访问序列访问序列:访问序列访问序列:内存页面内存页面:内存页面内存页面:3.使用过最久的先淘汰(使用过最久的先淘汰(LRU)淘汰最近一次访问距当前时间最长的。淘汰最近一次访问距当前时间最长的。Replace page that hasnt been used for the longest period of time.实现:实现:stack 当一页面被访问时当一页面被访问时,从栈中取出压到栈顶从栈中取出压到栈顶,栈底是栈底是:LRU page.例子:例子:reference st
11、ring:4,7,0,7,1,0,1,2,1,2,7,1,2 2107472104Stack before aStack before b a bLRU算法6 6 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 1 6 6 0 0 1 16 6 6 6 6 6 2 22 24 4 4 4 4 4 0 01 11 11 10 0 0 0 0 00 00 0 0 0 3 3 3 33 30 00 01 1 1 13 33 3 2 2 2 2 2 22 22 26 6 4.最近不用的先淘汰最近不用的先淘汰(not used
12、recently)淘汰最近一段时间未用到的。淘汰最近一段时间未用到的。实现:每页增加一个访问标志,实现:每页增加一个访问标志,访问置访问置1,定时清,定时清0,淘汰时取标志为淘汰时取标志为0的。的。LRU算法的近似:算法的近似:Reference string:2,3,5,6,4,2,5,6,7,5,6,8,标志清标志清0选择淘汰选择淘汰LRU:3NUR:2,3,4任意任意5.最不经常使用的先淘汰最不经常使用的先淘汰(LFU)淘汰使用次数最少的。淘汰使用次数最少的。依据依据:活跃访问页面应有较大的访问次数活跃访问页面应有较大的访问次数.Suffer:(1)前期使用多,但以后不用,难换出;前期使
13、用多,但以后不用,难换出;(2)刚调入的页面,引用少,被换出可能大。刚调入的页面,引用少,被换出可能大。实现:记数器,调入清实现:记数器,调入清0,访问增,访问增1,淘汰选取最小者。,淘汰选取最小者。6.最经常使用的先淘汰最经常使用的先淘汰(MFU)淘汰使用次数最多的。淘汰使用次数最多的。依据依据:使用多的可能已经用完了。使用多的可能已经用完了。Suffer:程序有些成分是在整个程序运行中都使用的。程序有些成分是在整个程序运行中都使用的。7.二次机会二次机会(second chance)淘汰装入最久且最近未被访问的页面。淘汰装入最久且最近未被访问的页面。实现时:采用拉链数据结构实现时:采用拉链
14、数据结构。6/13/14/08/05/19/00/01/13/14/08/05/19/00/01/16/04/08/05/19/00/01/16/03/08/05/19/00/01/16/03/02/18.时钟算法时钟算法(clock algorithm)将页面组织成环形,有一个指针指向当前位置。每次将页面组织成环形,有一个指针指向当前位置。每次需要淘汰页面时,从指针所指的页面开始检查。如果需要淘汰页面时,从指针所指的页面开始检查。如果当前页面的访问位为当前页面的访问位为0,即从上次检测到目前,该页没,即从上次检测到目前,该页没有访问过,则将该页替换。如果当前页面的访问位为有访问过,则将该页替
15、换。如果当前页面的访问位为1,则将其清则将其清0,并顺时针移动指针到下一个位置。重复上,并顺时针移动指针到下一个位置。重复上述步骤直至找到一个访问位为述步骤直至找到一个访问位为0的页面。的页面。可以看出,时钟算法与二次机会算法的淘汰效果是基可以看出,时钟算法与二次机会算法的淘汰效果是基本相同的,差别在于二者所采用的数据结构不同,二本相同的,差别在于二者所采用的数据结构不同,二次机会使用的是链表,需要额外存储空间,且摘链入次机会使用的是链表,需要额外存储空间,且摘链入链速度很慢。而时钟算法可直接利用页表中的引用位,链速度很慢。而时钟算法可直接利用页表中的引用位,外加一个指针,速度快且节省空间。外
16、加一个指针,速度快且节省空间。页页6/r=1页页3/r=1页页4/r=0页页8/r=0页页10/r=1页页9/r=0页页0/r=0页页1/r=1框框12框框23框框51框框6框框81框框96框框60框框5访问第访问第18页页时钟算法时钟算法页页6/r=0页页3/r=1页页4/r=0页页8/r=0页页10/r=1页页9/r=0页页0/r=0页页1/r=1框框12框框23框框51框框6框框81框框96框框60框框5访问第访问第18页页时钟算法时钟算法页页6/r=1页页3/r=0页页4/r=0页页8/r=0页页10/r=1页页9/r=0页页0/r=0页页1/r=1框框12框框23框框51框框6框框8
17、1框框96框框60框框5访问第访问第18页页时钟算法时钟算法页页6/r=0页页3/r=0页页18/r=1页页8/r=0页页10/r=1页页9/r=0页页0/r=0页页1/r=1框框12框框23框框51框框6框框81框框96框框60框框5替换第替换第4页页时钟算法时钟算法改进的时钟算法改进的时钟算法考虑修改标志考虑修改标志mr=0,m=0:最佳淘汰页面:最佳淘汰页面r=0,m=1:淘汰前回写:淘汰前回写r=1,m=0:不淘汰:不淘汰r=1,m=1:不淘汰:不淘汰改进的时钟算法改进的时钟算法步骤步骤1:由指针当前位置开始扫描,选择最佳淘汰页面,不由指针当前位置开始扫描,选择最佳淘汰页面,不改变引用
18、位,将第一个遇到的改变引用位,将第一个遇到的r=0且且m=0的页面作的页面作为淘汰页面;为淘汰页面;步骤步骤2:如步骤如步骤1失败,再次从原位置开始,找失败,再次从原位置开始,找r=0且且m=1的页面,将第一个满足上述要求的页面作为淘汰页的页面,将第一个满足上述要求的页面作为淘汰页面,同时将扫描过页面的面,同时将扫描过页面的r位清位清0;步骤步骤3:若步骤若步骤2失败,指针再次回到原位置,重新执行步失败,指针再次回到原位置,重新执行步骤骤1。若还失败再次执行步骤。若还失败再次执行步骤2,此时定能找到。,此时定能找到。页页6/r=1 m=1页页3/r=1 m=1页页18/r=1 m=0页页8/r
19、=1 m=0页页10/r=1 m=0页页9/r=0 m=1页页0/r=0 m=1页页1/r=1 m=0框框12框框23框框51框框6框框81框框96框框60框框5访问第访问第15页页改进的时钟算法改进的时钟算法页页6/r=1 m=1页页3/r=1 m=1页页18/r=1 m=0页页8/r=1 m=0页页10/r=1 m=0页页9/r=0 m=1页页0/r=0 m=1页页1/r=1 m=0框框12框框23框框51框框6框框81框框96框框60框框5访问第访问第15页页改进的时钟算法改进的时钟算法页页6/r=1 m=1页页3/r=1 m=1页页18/r=1 m=0页页8/r=0 m=0页页10/r
20、=1 m=0页页9/r=0 m=1页页0/r=0 m=1页页1/r=1 m=0框框12框框23框框51框框6框框81框框96框框60框框5访问第访问第15页页改进的时钟算法改进的时钟算法页页6/r=1 m=1页页3/r=1 m=1页页18/r=1 m=0页页8/r=0 m=0页页10/r=0 m=0页页9/r=0 m=1页页0/r=0 m=1页页1/r=1 m=0框框12框框23框框51框框6框框81框框96框框60框框5访问第访问第15页页时钟算法时钟算法页页6/r=1 m=1页页3/r=1 m=1页页18/r=1 m=0页页8/r=0 m=0页页10/r=0 m=0页页15/r=1 m=0
21、页页0/r=0 m=1页页1/r=1 m=0框框12框框23框框51框框6框框81框框96框框60框框5时钟算法时钟算法2010年考研试题年考研试题某虚拟页式系统,进程空间和内存空间都是某虚拟页式系统,进程空间和内存空间都是64k,页长,页长1K,某进程,某进程6个页,内存分配个页,内存分配4个个页框,采用局部置换,页框,采用局部置换,280时刻页表和时刻页表和Clock数据结构如下:数据结构如下:逻辑页号逻辑页号 页框号页框号 装入时间装入时间 访问标志访问标志 0 5 110 1 1 -2 12 160 1 3 8 230 1 4 -5 3 80 10页2页3页5页框框5框框12框框8框框
22、3(顺时针)2010年考研试题年考研试题(1)280时刻访问时刻访问13B7H,逻辑页号是,逻辑页号是多少?多少?(2)采用采用FIFO置换算法,物理页框号是置换算法,物理页框号是多少?物理地址是多少?多少?物理地址是多少?(3)采用采用CLOCK置换算法,页框号是多置换算法,页框号是多少?物理地址是多少?少?物理地址是多少?2010年考研试题年考研试题(1)逻辑地址)逻辑地址13B7H化为二进制数为化为二进制数为0001001110110111,其中后,其中后10位为页内位为页内地址,前地址,前6位为逻辑页号,即逻辑页号为位为逻辑页号,即逻辑页号为4。(2)4号页不在内存,发生缺页中断,按号
23、页不在内存,发生缺页中断,按FIFO置换算法,应置换第置换算法,应置换第5页,所得页框号页,所得页框号3,形成物理地址形成物理地址0000111110110111,划成,划成16进制为进制为0FB7H。(3)采用)采用CLOCK置换算法,淘汰第置换算法,淘汰第0页,得页,得页框页框5,形成物理地址为,形成物理地址为0001011110110111,划成,划成16进制为进制为17B7H。6.5.1.6 颠簸颠簸(thrashing)页面在内存与外存之间频繁换入换出。页面在内存与外存之间频繁换入换出。原因:原因:(1)分给进程物理页架过少;分给进程物理页架过少;(2)淘汰算法不合理。淘汰算法不合理
24、。处理:处理:(1)增加分给进程物理页架数;增加分给进程物理页架数;(2)改进淘汰算法。改进淘汰算法。思考题:思考题:在某些虚拟页式存储管理系统中,内存中总保持一个在某些虚拟页式存储管理系统中,内存中总保持一个空闲的物理页架,这样做有什么好处?空闲的物理页架,这样做有什么好处?6.5.1.7 工作集模型工作集模型(working set model)工作集工作集(working set):进程在一段时间内所访问页面的集合。进程在一段时间内所访问页面的集合。WS(t,)=5,7,1,6,22 6 1 5 7 7 7 7 5 1 6 2 2 1 2 3 (page reference)t:称为窗口
展开阅读全文