操作系统第四章4_第1页
操作系统第四章4_第2页
操作系统第四章4_第3页
操作系统第四章4_第4页
操作系统第四章4_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章 存储器管理存储器管理赵恒赵恒 主讲主讲2定义:定义:在进程运行过程中,若其访问的页面不在内存在进程运行过程中,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,需从而需将其调入,但内存已无空闲空间时,需从内存中调出一页程序或数据,送入磁盘的对换内存中调出一页程序或数据,送入磁盘的对换区。但应将哪个页面调出,需根据一定的算法区。但应将哪个页面调出,需根据一定的算法来确定。把选择换出页面的算法称为页面置换来确定。把选择换出页面的算法称为页面置换算法,其好坏直接影响系统的性能。算法,其好坏直接影响系统的性能。一个好的置换算法应具有较低的页面更换频率。一个好的置换算法应具有较低的

2、页面更换频率。从理论上讲,应将那些以后不会再访问的页面从理论上讲,应将那些以后不会再访问的页面换出,或者把那些在较长时间内不会再访问的换出,或者把那些在较长时间内不会再访问的页面换出。页面换出。5.3 页面置换算法页面置换算法3抖动(颤动)现象(抖动(颤动)现象(Thrashing)n请求页式存储管理系统中,若页面置换算法请求页式存储管理系统中,若页面置换算法不当,可能会导致下面的情形:刚被调出得不当,可能会导致下面的情形:刚被调出得页面,不久又要访问,因此要调入,调入后页面,不久又要访问,因此要调入,调入后不久又被淘汰,再访问再调入,如此反复,不久又被淘汰,再访问再调入,如此反复,整个系统的

3、页面置换十分频繁,整个系统的页面置换十分频繁,CPU时间主时间主要花费在页面的交换上。这种导致系统效率要花费在页面的交换上。这种导致系统效率急剧下降的现象称为抖动现象。急剧下降的现象称为抖动现象。n缺页中断率过高缺页中断率过高45.3 页面置换算法页面置换算法n 页面置换的过程页面置换的过程(1)找出所需页面在磁盘上的)找出所需页面在磁盘上的位置;位置;(2)找出可用空闲内存块。如)找出可用空闲内存块。如果有,就立即使用,否则,就果有,就立即使用,否则,就进行页面置换,选择一个老的进行页面置换,选择一个老的页面置换到外存磁盘。页面置换到外存磁盘。(3)将所需页面装入内存,修)将所需页面装入内存

4、,修改相应的数据结构。改相应的数据结构。(4)继续执行用户进程。)继续执行用户进程。55.3 页面置换算法页面置换算法672. 2. 先进先出先进先出(FIFO)(FIFO)页面置换算法页面置换算法 (1)原理:)原理:该算法总是淘汰最先进入内存的页面,该算法总是淘汰最先进入内存的页面,即选择即选择在内存中的驻留时间最久的页面予以淘汰在内存中的驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个页面,按先后次序链接成一个队列,并设置一个指针,称为指针,称为替换指针替换指针,使它总是指向最老页面

5、。,使它总是指向最老页面。8 (2)实现:实现:已调入内存的页面,按先后次序链接成一队列。已调入内存的页面,按先后次序链接成一队列。 (3)依据依据: 先进入的可能已经使用完毕。先进入的可能已经使用完毕。 (4) 随着物理块数的增多缺页率增大!随着物理块数的增多缺页率增大!(Belady现象)现象) 内存内存3个个物理块:物理块:内存内存4个个物理块:物理块:缺页率缺页率=9/12缺页率缺页率=10/12 Belady异常现象:异常现象:一般而言,分配给进程的物理块越多,运行时的缺页次数应该越少。但是Belady在1969年发现了一个反例,使用FIFO算法时,四个物理块时的缺页次数比三个物理块

6、时的多,这种反常的现象称为Belady异常。举例:设进程有举例:设进程有5页,访问顺序:页,访问顺序:0,1,2,3,0,1,4,0, 1,2,3,4,分分3块物理块和块物理块和4块物理块时。块物理块时。 92.先进先出先进先出(FIFO)页面置换算法页面置换算法 10最近最久未使用置换算以最近最久未使用置换算以“最近的过去最近的过去”作为作为“不久不久将来将来”的近似的近似,选择最近一段时间内最久没有使用的页面淘汰,选择最近一段时间内最久没有使用的页面淘汰掉。它的实质是:当需要置换一页时,选择在掉。它的实质是:当需要置换一页时,选择在最近一段时间里最近一段时间里最久没有使用过的页面最久没有使

7、用过的页面予以淘汰予以淘汰 。11LRU的实现:把LRU算法作为页面置换算法是比较好的,它对于各种类型的程序都能适用,但实现起来有相当大的难度,因为它要求系统具有较多的支持硬件。所要解决的问题有: 一个进程在内存中的各个页面各有多久时间未被进程访问; 如何快速地知道哪一页最近最久未使用的页面。为此,须利用以下两类支持硬件:1移位寄存器:移位寄存器:定时右移。2栈:栈:当进程访问某页时,将其移出压入“栈顶”,“栈底”换出。12最近最久未使用(最近最久未使用(LRU)置换算法)置换算法LRU置换算法的硬件支持n寄存器w为了记录某进程在内存中各页的使用情况,须为每个在内存中的页面配置一个移位寄存器,

8、可表示为 w访问时将Rn-1位置成1,定时信号每隔一时间间隔右移一位,则具有最小数值的寄存器所对应的页面,就是最近最久未使用的页面。R=Rn-1Rn-2Rn-3 R2R1R0 13实页实页R7R6R5R4R3R2R1R0101010010210101100实页实页R7R6R5R4R3R2R1R010010100102010101100t0t1实页实页R7R6R5R4R3R2R1R010001010012001010110t2实页实页R7R6R5R4R3R2R1R0110010100200101011访问访问1实页实页R7R6R5R4R3R2R1R010100101002000101011t31

9、4最近最久未使用(最近最久未使用(LRU)置换算法)置换算法n栈:进程访问某页时,将该页面的页号从栈中移出,再压入栈顶。 用栈保存当前使用页面时栈的变化情况用栈保存当前使用页面时栈的变化情况 474074704170401741074210741207421074621074707101212615 【例】假定系统为某进程分配了3个物理块,页面访问序列为:5、0、1、2、0、3、0、4、2、3、0、3、2、1、2、0、1、5、0、1。采用最近最久未使用置换算法,计算缺页中断次数和缺页中断率。 解:页面置换过程如下表所示:页面访问序列5012030423032120150150120304230

10、3212015015012030423032120150501223042203312015+-+-+-+-+-+-缺页中断次数缺页中断次数=12缺页中断率缺页中断率=12/20=60% 165.3.3 Clock置换算法置换算法 1. 简单的简单的Clock置换算法置换算法 利用Clock算法时,只须为每页设置一位访问位,在将内存中的所有页面都通过链接指针链成一个循环队列。当某页被访问时,其访问位被置1。置换算法在选择一页淘汰时,只须检查其访问位。 页号页号 物理块号物理块号 状态位状态位P 访问字段访问字段A 修改位修改位M外存地址外存地址 17页号页号 物理块号物理块号 状态位状态位P

11、访问字段访问字段A 修改位修改位M外存地址外存地址 现对其中各字段说明如下:现对其中各字段说明如下:(1)状态位)状态位(存在位存在位)P。用于指示该页是否调入内存,供程序用于指示该页是否调入内存,供程序访问时参考。访问时参考。(3)修改位)修改位M。表示该页在调入内存后是否被修改过。由于内表示该页在调入内存后是否被修改过。由于内存中的每一页都在外存上保留一份副本,因此,若未被修改,存中的每一页都在外存上保留一份副本,因此,若未被修改,在置换该页时就不须将该写回到外存上,以减少系统的开销和在置换该页时就不须将该写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上

12、,启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。以保证外存中所保留的始终是最新副本。(4)外存地址。)外存地址。用于指出该页在外存上的地址,通常是物理块用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。号,供调入该页时使用。18简单的简单的CLOCK置换算法(近似的置换算法(近似的LRU算法)算法) n当采用简单的CLOCK算法时,只需为每页设置一位访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列。n当某页被访问时,其访问位被置1。n置换算法在选择一页淘汰时,只需检查页的访问位,是0换出,是1重新置0且暂不换出,再按FIFO检

13、查下一个页面。检查到最后一个页面,若其访问位仍为1,则再返到队首检查。n由于该算法是循环地检查各页面的访问情况,故称为CLOCK算法,置换的是未使用过的页,又称为最近未用算法NRU(Not Recently Used)。19 简单简单Clock置换算法的流程和示例置换算法的流程和示例 入口入口查寻指针前进一步,指查寻指针前进一步,指向下一个表目向下一个表目页面访问位页面访问位0? ?选择该页面淘汰选择该页面淘汰是是返回返回置页面访置页面访问位“问位“0”否否块号块号页号页号访问位访问位指针指针0124034215650711替换替换指针指针注意:是循环注意:是循环队列!队列!20Page 20

14、2022-6-2121Page 212022-6-21Operating SystemOperating SystemPage 222022-6-212. 改进型改进型Clock置换算法置换算法 在将一个页面换出时,如果该页已被修改过,便须将它重新写到磁盘上;但如果该页未被修改过,则不必将它拷回磁盘。同时满足两条件的页面作为首选淘汰的页。页号页号 物理块号物理块号 状态位状态位P 访问字段访问字段A 修改位修改位M外存地址外存地址 Operating SystemOperating SystemPage 232022-6-21页号页号 物理块号物理块号 状态位状态位P 访问字段访问字段A 修改

15、位修改位M外存地址外存地址 现对其中各字段说明如下:(1)状态位(存在位)P。用于指示该页是否调入内存,供程序访问时参考。(4)外存地址。用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。Operating SystemOperating SystemPage 242022-6-21q改进型改进型Clock置换算法置换算法v考虑考虑使用情况使用情况和和置换代价,置换代价,换出的最好是未换出的最好是未使用且未被修改过的使用且未被修改过的v由由访问位访问位A和和修改位修改位M组合:组合:1类类(A=0, M=0):表示该页最近既未被表示该页最近既未被访问,又未被修改,是最佳淘汰页访问,

16、又未被修改,是最佳淘汰页2类类(A=0, M=1):表示该页最近未被访:表示该页最近未被访问,但已被修改,并不是很好的淘汰页问,但已被修改,并不是很好的淘汰页3类类(A=1, M=0):最近已被访问,但未:最近已被访问,但未被修改,被修改, 该页有可能再被访问该页有可能再被访问4类类(A=1, M=1):最近已被访问且被修:最近已被访问且被修改,该页可能再被访问改,该页可能再被访问Operating SystemOperating SystemPage 252022-6-21v其执行过程可分成以下三步其执行过程可分成以下三步(1) 从指针所指示的当前位置开始,从指针所指示的当前位置开始, 扫描

17、循环队扫描循环队列,列, 寻找寻找A=0且且M=0的第一类页面,的第一类页面, 将所遇到将所遇到的第一个页面作为所选中的淘汰页。的第一个页面作为所选中的淘汰页。 在在第一次扫第一次扫描期间不改变访问位描期间不改变访问位A。(2) 如果第一步失败,即查找一周后未遇到第一类如果第一步失败,即查找一周后未遇到第一类页面,页面, 则开始第二轮扫描,则开始第二轮扫描,寻找寻找A=0且且M=1的第的第二类页面,将所遇到的第一个这类页面作为淘汰页。二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,在第二轮扫描期间,将所有扫描过的页面的访问位将所有扫描过的页面的访问位A都置都置0。(3) 如果第

18、二步也失败,亦即未找到第二类页面,如果第二步也失败,亦即未找到第二类页面,则将则将指针返回到开始指针返回到开始的位置,并将的位置,并将所有的访问位所有的访问位A复复0。 然后然后重复第一步重复第一步,如果仍失败,必要时再重,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。复第二步,此时就一定能找到被淘汰的页。Operating SystemOperating SystemPage 262022-6-21页号页号块号块号AM05001301210103111141411最佳淘汰页最佳淘汰页次佳淘汰页次佳淘汰页000275.3.4 其它置换算法其它置换算法选择到当前时间为止选择到当前时

19、间为止被访问次数最少被访问次数最少的页面被置的页面被置换;换;每页设置每页设置访问计数器访问计数器,每当页面被访问时,该页,每当页面被访问时,该页面的访问计数器加面的访问计数器加1 1;发生缺页中断时,淘汰计数值最小的页面,并将发生缺页中断时,淘汰计数值最小的页面,并将所有计数清零;所有计数清零;这种算法并不能真正反映出页面的使用情况,因在每一时间这种算法并不能真正反映出页面的使用情况,因在每一时间间隔内只是用寄存器的一位来记录页的使用情况,因此访问间隔内只是用寄存器的一位来记录页的使用情况,因此访问1次和次和10000次是等效的次是等效的282)页面缓冲算法)页面缓冲算法(PBA)q被置换页

20、面的选择和处理:被置换页面的选择和处理:用用FIFO算法选择被置算法选择被置换页。换页。 如果页面未被修改,就将其归入到空闲页面链如果页面未被修改,就将其归入到空闲页面链表的末尾表的末尾 否则将其归入到已修改页面链表。否则将其归入到已修改页面链表。 此时页面在内存中并不做此时页面在内存中并不做物理上的移动物理上的移动,只是,只是将页表中的表项移到上述两链表之一将页表中的表项移到上述两链表之一29q需要调入需要调入新的页面新的页面时,将时,将新页面新页面内容读入到内容读入到空闲空闲页面链表的第一项页面链表的第一项所指的页面。所指的页面。q空闲页面和已修改页面,仍空闲页面和已修改页面,仍停留停留在

21、内存中一段时在内存中一段时间,如果这些页面间,如果这些页面被再次访问被再次访问,只需较小开销,只需较小开销,而被访问的页面可以而被访问的页面可以返还返还作为进程的内存页。作为进程的内存页。q当当已修改页面达到已修改页面达到一定数目一定数目后,再将它们后,再将它们一起调一起调出出到外存,然后将它们归入空闲页面链表,这样到外存,然后将它们归入空闲页面链表,这样能大大能大大减少减少I/O操作的次数操作的次数。30页面抖动(颠簸)的定义:页面抖动(颠簸)的定义:在页面置换过程中的一种最糟糕的情形是,刚刚换出的页面马上又要换入主存,刚刚换入的页面马上就要换出主存,这种频繁的页面调度行为称为抖动,或颠簸。

22、如果一个进程在换页上用的时间多于执行时间,那么这个进程就在颠簸。抖动的原因抖动的原因:频繁的发生缺页中断(抖动),其主要原因主要原因是某个进程频繁访问的页面数目高于可用的物理页帧数目。虚拟内存技术可以在内存中保留更多的进程以提髙系统效率。在稳定状态,几乎主存的所有空间都被进程块占据,处理机和操作系统可以直接访问到尽可能多的进程。但如果管理不当,处理机的大部分时间都将用于交换块,即请求调入页面的操作,而不是执行进程的指令,这就会大大降低系统效率。 31工作集(驻留集)工作集(驻留集)概念:概念:工作集(或驻留集)是指在某段时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长期不

23、被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。工作集模型的原理:让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序数。如果所有工作集之和增加以至于超过了可用物理块的总数,那么操作系统会暂停一个进程,将其页面调出并且将其物理块分配给其他进程,防止出现抖动现象。正确选择工作集的大小,对存储器的利用率和系统吞吐量的提嵩,都将产生重要影响。Operating SystemOperating Systemq段表机制段表机制v存取方式存取方式 用于标识本分段存取属性是只执行、只读还用于标识本分段

24、存取属性是只执行、只读还是允许读是允许读/写写v存在位存在位P 用于指示该段是否已调入内存用于指示该段是否已调入内存v访问字段访问字段A 用于记录本页在一段时间内被访问的次数,用于记录本页在一段时间内被访问的次数,或记录本页在最近多长时间未被访问或记录本页在最近多长时间未被访问v修改位修改位M 表示该段在调入内存后是否被修改过表示该段在调入内存后是否被修改过v外存地址外存地址 本段在外存上的地址,盘块块号本段在外存上的地址,盘块块号v增补位增补位 本段在运行过程中是否做过动态增长本段在运行过程中是否做过动态增长段名段名 段长段长 段的基址段的基址 存取方式存取方式 访问字访问字段段A 修改位修

25、改位M 存在位存在位P 增补位增补位 外存始外存始址址 Operating SystemOperating System虚段虚段S不在内存不在内存阻塞请求进程阻塞请求进程内存中有合适内存中有合适的空闲区吗?的空闲区吗?从外存读入段从外存读入段S修改段表及内存空区链修改段表及内存空区链唤醒请求进程唤醒请求进程返回返回空区容量总空区容量总和能否满足?和能否满足?空区拼接,以形成空区拼接,以形成一个合适的空区一个合适的空区淘汰一个或几个实淘汰一个或几个实段,以形成一个合适段,以形成一个合适空区空区否否否否是是是是 请求分段系统中的中断处理过程请求分段系统中的中断处理过程从中可以看出,对缺段中断的从中

26、可以看出,对缺段中断的处理要比对缺页中断的处理复处理要比对缺页中断的处理复杂,因为段是不定长的。杂,因为段是不定长的。Operating SystemOperating System3. 地址变换机构地址变换机构 请求分段系统中的地址变换机构,是在分段系统地请求分段系统中的地址变换机构,是在分段系统地址变换机构的基础上形成的。因为被访问的段并非址变换机构的基础上形成的。因为被访问的段并非全在内存,因而在地址变换时,若发现所要访问的全在内存,因而在地址变换时,若发现所要访问的段不在内存时,必须先将所缺的段调入内存,并修段不在内存时,必须先将所缺的段调入内存,并修改了段表之后,才能再利用段表进行地

27、址变换。为改了段表之后,才能再利用段表进行地址变换。为此,在地址变换机制中又增加了某些功能,如缺段此,在地址变换机制中又增加了某些功能,如缺段中断的请求及其处理等。图中断的请求及其处理等。图4-32示出了请求分段系示出了请求分段系统的地址变换过程。统的地址变换过程。 Operating SystemOperating System访问访问sww 段长?段长?符合存取方式?符合存取方式?段段S在主存?在主存?修改访问字段,如写修改访问字段,如写访问,置修改位访问,置修改位 1形成访问主存地址形成访问主存地址(A) (主存始址主存始址)(位移量位移量w)返回返回分段越界分段越界中断处理中断处理分段

28、保护分段保护中断处理中断处理缺段中缺段中断处理断处理是是是是是是否否否否否否 请求分段系统的地址变换过程请求分段系统的地址变换过程段号段号S段内地址段内地址WOperating SystemOperating Systemq共享段表共享段表v为了实现分段共享,可在系统中配置一张共为了实现分段共享,可在系统中配置一张共享段表所有各共享段都在共享段表中占有一享段表所有各共享段都在共享段表中占有一表项表项v共享进程计数共享进程计数count记录有多少个进程需要共享该分段记录有多少个进程需要共享该分段v存取控制字段存取控制字段对于一个共享段,应给不同的进程以不同对于一个共享段,应给不同的进程以不同的权

29、限的权限v段号段号对于一个共享段,不同的进程可以各用不对于一个共享段,不同的进程可以各用不同的段号去共享该段同的段号去共享该段Operating SystemOperating System段名段名段长段长内存始址内存始址状态状态外存始址外存始址共享进程计数共享进程计数 count状态状态 进程名进程名进程号进程号段号段号存取控制存取控制共享段表共享段表Operating SystemOperating System4.8.2 分段的共享与保护分段的共享与保护 1. 共享段表共享段表 图 4-33 共享段表项 段名段长内存始址状态外存始址共享进程计数count状态进程名进程号段号存取控制共享段

30、表非共享段仅为一个进程所需要。当进程不再需要该段非共享段仅为一个进程所需要。当进程不再需要该段时,可立即释放该段,并由系统回收该段所占用的空时,可立即释放该段,并由系统回收该段所占用的空间。而共享段是为多个进程所需要的,当某进程因不间。而共享段是为多个进程所需要的,当某进程因不在需要而释放它时,系统并不回收该段所占内存区。在需要而释放它时,系统并不回收该段所占内存区。Operating SystemOperating System4.8.2 分段的共享与保护分段的共享与保护 1. 共享段表共享段表 图 4-33 共享段表项 段名段长内存始址状态外存始址共享进程计数count状态进程名进程号段号

31、存取控制共享段表对于同一个共享段,不同的进程可以使用不同的段号去共享该段。 Operating SystemOperating System4.8.2 分段的共享与保护分段的共享与保护 1. 共享段表共享段表 图 4-33 共享段表项 段名段长内存始址状态外存始址共享进程计数count状态进程名进程号段号存取控制共享段表对于一个共享段,应给不同的进程以不同的存取权限。 Operating SystemOperating Systemq共享段分配与回收共享段分配与回收v共享段的分配共享段的分配对第一个请求使用该共享段的进程,由系统为该共对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区

32、,再把共享段调入该区,同时将享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把在共享段表中增加一表项,填写有关数据,把count置为置为1;当又有其它进程需要调用该共享段时,无须再为该当又有其它进程需要调用该共享段时,无须再为该段分配内存,而只需在调用进程的段表中,增加一段分配内存,而只需在调用进程的段表中,增加一表项,填写该共享段的物理地址;在共享段的段表表项,填写该共享段的物理地址;在共享段的段表中,填上调用进程的进程名、存取控制等,再执行中,填上调用进程的进程名、存取

33、控制等,再执行count =count+1操作,以表明有两个进程共享操作,以表明有两个进程共享该段该段Operating SystemOperating Systemq分段保护分段保护v越界检查越界检查 v存取控制检查存取控制检查 只读只读 只执行只执行 读读/写写 v环保护机构环保护机构 低编号的环具有高优先权,操作系统位于最核心低编号的环具有高优先权,操作系统位于最核心环环一个程序可以访问驻留在相同环或较低特权环中一个程序可以访问驻留在相同环或较低特权环中的数据的数据一个程序可以调用驻留在相同环或较高特权环中一个程序可以调用驻留在相同环或较高特权环中的服务的服务Operating Syst

34、emOperating SystemPage 432022-6-213. 分段保护分段保护 1)越界检查 在段表寄存器中放有段表长度信息;同样,在段表中也为每个段设置有段长字段。 在进行存储访问时,首先,将逻辑地址空间的段号段号与段表长度段表长度进行比较,如果段号等于或大于段表长度,将发出地址越界中断信号; 其次,还要检查段内地址段内地址是否等于或大于段长段长,若大于段长,将产生地址越界中断信号,从而保证了每个进程只能在自己的地址空间内运行。Operating SystemOperating SystemPage 442022-6-213. 分段保护分段保护 2)存取控制检查 在段表的每个表项

35、中,都设置了一个“存取控制”字段,用于规定对该段的访问方式。通常的访问方式有: 只允许程序对该段中的程序或数据进行读访问; 只允许程序调用该段去执行,但不准读该段的内容,也不允许对该段执行写操作; 允许程序对该段进行读写访问。Operating SystemOperating SystemPage 452022-6-213. 分段保护分段保护 3)环保护机构 它是一种功能较完善的保护机构。在该机制中规定:低编号的环具有高优先权,OS核心处于0环内;某些重要的实用程序和操作系统服务,占居中间环;而一般的应用程序,则被安排在外环上。 在环系统中,程序的访问和调用应遵循以下规则: (1)一个程序可以

36、访问驻留在相同环或较低特权环中)一个程序可以访问驻留在相同环或较低特权环中的数据;的数据; (2)一个程序可以调用驻留在相同环或较高特权环中)一个程序可以调用驻留在相同环或较高特权环中的服务。的服务。Operating SystemOperating SystemPage 462022-6-213. 分段保护分段保护 3)环保护机构 它是一种功能较完善的保护机构。在该机制中规定:低编号的环具有高优先权,OS核心处于0环内;某些重要的实用程序和操作系统服务,占居中间环;而一般的应用程序,则被安排在外环上。 在环系统中,程序的访问和调用应遵循以下规则: (1)一个程序可以访问驻留在相同环或较低特权

37、环中)一个程序可以访问驻留在相同环或较低特权环中的数据;的数据;( (内环可访问外环数据内环可访问外环数据) ) (2)一个程序可以调用驻留在相同环或较高特权环中)一个程序可以调用驻留在相同环或较高特权环中的服务。的服务。Operating SystemOperating System3. 分段保护分段保护 3)环保护机构 它是一种功能较完善的保护机构。在该机制中规定:低编号的环具有高优先权,OS核心处于0环内;某些重要的实用程序和操作系统服务,占居中间环;而一般的应用程序,则被安排在外环上。 在环系统中,程序的访问和调用应遵循以下规则: (1)一个程序可以访问驻留在相同环或较低特权环中)一个

38、程序可以访问驻留在相同环或较低特权环中的数据;的数据;( (内环可访问外环数据内环可访问外环数据) ) (2)一个程序可以调用驻留在相同环或较高特权环中)一个程序可以调用驻留在相同环或较高特权环中的服务。的服务。( (外环可请求内环服务外环可请求内环服务) ) Operating SystemOperating System 环保护机构环保护机构 调用调用返回返回调用调用返回返回环环0环环1环环2(a) 程序间的控制传输程序间的控制传输数据访问数据访问环环0环环1环环2(b) 数据访问数据访问数据访问数据访问49一进程刚获得三个主存块的使用权,若该进程访一进程刚获得三个主存块的使用权,若该进程

39、访问页面的次序是问页面的次序是1 3 2 1 2 1 5 1 2 3,当采用先进,当采用先进先出调度算法时,发生缺页次数是先出调度算法时,发生缺页次数是_次,而采次,而采用用LRU算法时,缺页数是算法时,缺页数是_次。次。A.1 B.3 C.4 D.5 E.6在请求分页存储管理系统中,设一个作业访问页在请求分页存储管理系统中,设一个作业访问页面的序列为面的序列为4 3 2 1 4 3 5 4 3 2 1 5,设分配给该作,设分配给该作业的存储空间有业的存储空间有4块,且最初未装入任何页。试块,且最初未装入任何页。试计算计算FIFO和和LRU算法的失页率。算法的失页率。50(1)采用采用FIFO

40、页面置换算法时页面置换算法时,该作业运行时缺页情况如下表所示该作业运行时缺页情况如下表所示:缺页中断次数为缺页中断次数为F=10; 失页率为失页率为f=10/12=83%。51(2)采用采用LRU页面置换算法时页面置换算法时,该作业运行时缺页情况如下表所示该作业运行时缺页情况如下表所示:缺页中断次数为缺页中断次数为F=8; 失页率为失页率为f=8/12=67%。52现有一请求调页系统,其页表保存在寄存器中。现有一请求调页系统,其页表保存在寄存器中。若有一个可用的空页或被替换的页未被修改,若有一个可用的空页或被替换的页未被修改,则它处理一个缺页中断需要则它处理一个缺页中断需要8ms。若被替换页。

41、若被替换页已被修改,则处理一个缺页中断需要已被修改,则处理一个缺页中断需要20ms。内。内存存取时间为存存取时间为1us。假定。假定70%被替换页被修改被替换页被修改过,为保证有效存取时间不超过过,为保证有效存取时间不超过2us,可接受,可接受的最大缺页中断率是多少?的最大缺页中断率是多少?53参考答案:参考答案:设最大缺页率为设最大缺页率为p,则,则 0.3p8ms+0.7p 20ms+(1-p) 1us=2us2400p+14000p+1-p=2 (1ms=1000us)16399p=1 p=0.0000654补充:存储保护补充:存储保护在多道程序设计的环境下,系统中有系统在多道程序设计的

42、环境下,系统中有系统程序和程序和多个用户程序多个用户程序同时存在,如何保证同时存在,如何保证用户程序不破坏系统程序,用户程序之间用户程序不破坏系统程序,用户程序之间不相互干扰?不相互干扰?这就是这就是存储保护存储保护所要解决的问题。所要解决的问题。551.什么是存储保护?什么是存储保护?w把系统程序空间与用户程序空间(由不同的用户空间组成)分隔开来。w使多个用户程序之间隔离,保证每道程序只能在给定的区域内活动。常用的存储保护有两种:常用的存储保护有两种:用户1用户2用户3OS系统空间用户空间56120k下界寄存器下界寄存器130k上界寄存器上界寄存器程序程序120k130k0120k D 13

43、0k D 物理地址物理地址存储保护存储保护 上下界保护上下界保护57存储保护存储保护 上下界保护上下界保护下界寄存器:存放程序装入内存后的开始地址(首址)上界寄存器 :存放程序装入内存后的末地址判别式:下界寄存器 物理地址 上界寄存器58存储保护存储保护 基址、限长寄存器保护基址、限长寄存器保护例:例: 有一程序装入内存的首地址是有一程序装入内存的首地址是500,末地址是,末地址是1400,访问内存的逻辑地址是访问内存的逻辑地址是500、345、1000。 下界寄存器:下界寄存器:500 上界寄存器:上界寄存器:1400 逻辑地址装入内存的首地逻辑地址装入内存的首地 物理地址物理地址 1、50

44、0500 1000 500 1000 1400 2、345500 845 500 845 1400 3、1000500 1500 500 1500 140059基址限长寄存器 120k 基址寄存器基址寄存器10k 限长寄存器限长寄存器程序程序120k130k0D 10k D 逻辑地址逻辑地址判别式:判别式:00逻辑地址逻辑地址 限长寄存器限长寄存器存储保护存储保护 基址、限长寄存器保护基址、限长寄存器保护60存储保护存储保护 基址、限长寄存器保护基址、限长寄存器保护例:有一程序装入内存的首地址是例:有一程序装入内存的首地址是500,末地址是,末地址是1400,访问内存的逻辑地址是访问内存的逻辑

45、地址是500、345、1000。 限长寄存器:限长寄存器:900=1400-500 1、 0 500 900 2、 0 345 900 3、 0 1000 90061两种存储保护技术的区别两种存储保护技术的区别区别:区别:1、寄存器的设置不同;、寄存器的设置不同;2、判别式中用的判别条件不同、判别式中用的判别条件不同上下界寄存器保护法用的是上下界寄存器保护法用的是物理地址物理地址基址、限长寄存器保护法用的是程序的基址、限长寄存器保护法用的是程序的逻辑地址逻辑地址对于合法的访问地址这两者的效率是相同的,对不合法对于合法的访问地址这两者的效率是相同的,对不合法的访问地址来说,上下界存储保护浪费的的

46、访问地址来说,上下界存储保护浪费的CPU时间相对时间相对来说要多些。来说要多些。62华中科技大学华中科技大学2001某系统采用基址、限长寄存器防护方法显现存储保护,某系统采用基址、限长寄存器防护方法显现存储保护,在这些方法中判断是否越界的判别式是:在这些方法中判断是否越界的判别式是:A 0被访问的物理地址被访问的物理地址基址寄存器的内容基址寄存器的内容B 0被访问的物理地址被访问的物理地址基址寄存器的内容基址寄存器的内容C 0被访问的逻辑地址被访问的逻辑地址限长寄存器的内容限长寄存器的内容D 0被访问的逻辑地址被访问的逻辑地址限长寄存器的内容限长寄存器的内容答案:答案:C63小小 结结1、请求

47、式分页内存管理方式和、请求式分页内存管理方式和LRU内存置换算法目前内存置换算法目前在大型机、小型机和微机上流行的各种操作系统所采在大型机、小型机和微机上流行的各种操作系统所采用的内存管理方式,学好它,对深入理解计算机系统用的内存管理方式,学好它,对深入理解计算机系统结构,工作原理等都有重要的意义。结构,工作原理等都有重要的意义。2、通过学习请求分页中的硬件支持,使同学们明晰了、通过学习请求分页中的硬件支持,使同学们明晰了请求式分页管理方式下页表机制、缺页机制和实现逻请求式分页管理方式下页表机制、缺页机制和实现逻辑地址到物理地址的转换方法。辑地址到物理地址的转换方法。643、在内存分配策略固定分配局部置换、可变分配全局、在内存分配策略固定分配局部置换、可变分配全局置换、可变分配全局置换等三种策略,以及最优置换置换、可变分配全局置换等三种策略,以及最优置换算法、先进先出置换算法、最近最久未使用(算法、先进先出置换算法、最近最久未使用(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论