计算机操作系统.ppt

上传人:夺命阿水 文档编号:262592 上传时间:2023-04-03 格式:PPT 页数:79 大小:483KB
返回 下载 相关 举报
计算机操作系统.ppt_第1页
第1页 / 共79页
计算机操作系统.ppt_第2页
第2页 / 共79页
计算机操作系统.ppt_第3页
第3页 / 共79页
计算机操作系统.ppt_第4页
第4页 / 共79页
计算机操作系统.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《计算机操作系统.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统.ppt(79页珍藏版)》请在课桌文档上搜索。

1、主要内容:4.5.1虚拟存储管理的概念4.5.2请求分页虚拟存储管理4.5.3请求分段虚拟存储管理4.5.4请求段页式虚拟存储管理,4.5 虚拟存储管理,4.5.1 虚拟存储管理的概念(1),前面介绍的连续的(分区)、离散的(分页和分段)存储管理方式均是将程序一次性全部装入内存后才能运行,在下面情况下:(1)一个特别大的作业,不能够一次装入内存(2)有大量作业在外存上等待运行,而又没有足够大的内存容纳这些作业,只能将少量作业装入内存运行,大量的作业在外存上等待,解决办法:(1)可以从物理上扩大内存(2)逻辑上扩充内存,即虚拟内存技术,4.5.1 虚拟存储管理的概念(2),分析:较小的一段时间内

2、,整个作业空间中只有某一局部模块的指令和数据会被执行和访问到.作业其它部分暂时不会访问到.这就允许这部分暂时不用的作业部分不必占据内存空间,可以先留在外存上,待以后需要访问时再装入内存.内存中一些暂时不用的部分还可以临时调出到外存上,这样就可将内存空间优先分配给当前急需使用的作业进程,能够提高内存利用率.,部分装入即可运行,运行过程中作业的部分可以在内外存之间对换(部分对换),从逻辑上扩充内存容量,使得程序员的编程空间大于内存容量,这就是虚拟存储管理的主要思想.,4.5.1 虚拟存储管理的概念(3),虚拟存储器的定义:在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,为用

3、户提供一个比物理内存容量大得多的,可寻址的一种“内存储器”。虚拟存储器的容量取决于计算机的地址结构和可用的物理内存和外存的容量之和。虚拟存储器是为扩大主存而采用的一种设计技巧,它的容量与主存大小无直接关系,而受限于计算机的地址结构及可用的辅助存储器的容量。,虚拟存储器引入的基础是程序执行的局部性原理。程序执行的局部性是指在一段时间内,程序访问的存储空间仅限于某个区域(这称为空间局部性),或者最近访问过的程序代码和数据很快会再被访问(这称为时间局部性)。,4.5.1 虚拟存储管理的概念(4),第一,程序中只有少量分支和过程调用,大都是顺序执行的指令。第二,程序包含若干循环,是由相对较少的指令组成

4、,在循环过程中,计算被限制在程序中很小的相邻部分中。第三,很少出现连续的过程调用,相反,程序中过程调用的深度限制在小范围内,一段时间内,指令引用被局限在很少几个过程中。,第四,对于连续访问数组之类的数据结构,往往是对存储区域中相邻位置的数据的操作。第五,程序中有些部分是彼此互斥的,不是每次运行时都用到的,如出错处理程序。,4.5.1 虚拟存储管理的概念(5),4.5.1 虚拟存储管理的概念(6),实现虚拟存储器必须解决好以下有关问题:主存辅存统一管理问题逻辑地址到物理地址的转换问题部分装入和部分对换问题虚拟存储器的实现方法主要有:请求分页式、请求分段式和请求段页式虚拟存储管理。,4.5.2 请

5、求分页虚拟存储管理(1),主要内容一、分页式虚拟存储系统的硬件支撑二、请求分页虚拟存储系统的基本原理三、页面装入策略和清除策略四、页面分配策略五、页面替换策略六、请求分页虚拟存储管理的几个设计问题,4.5.2 请求分页虚拟存储管理(2),1.分页式虚拟存储系统的硬件支撑需要内存管理部件MMU(主存管理部件).MMU通常由一个或一组芯片组成,它接受虚拟地址(逻辑地址)作为输入,输出物理地址。它的主要功能主要有:管理硬件页表基址寄存器:负责装入将要占用处理器的进程的页表。分解逻辑地址为页号和页内地址,4.5.2 请求分页虚拟存储管理(3),管理快表:查找快表、装入表目和清除表目访问页表当要访问的页

6、面不在内存时发出缺页中断,页面访问越界时发出越界中断。设置和检查页表中的状态位、访问字段、修改位、保护权限等,4.5.2 请求分页虚拟存储管理(4),4.5.2 请求分页虚拟存储管理(5),2.请求分页系统的基本原理在进程开始运行之前,不是装入全部页面,而是装入一个或几个页面,进程运行过程中,访问的页面不在内存时,再装入所需页面;若内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。,怎样才能发现页面不在内存中呢?怎样处理这种情况呢?采用的办法是:扩充页表的内容,增加驻留标志位和页面辅存的地址等信息。,页表机制,4.5.2 请求分页虚拟存储管理(6),请求分页的

7、地址变换过程:当进程被调度到CPU上运行时,操作系统自动把该进程PCB中的页表始址装入到硬件页表基址寄存器中,此后,进程开始执行并要访问某个虚拟地址,内存管理部件MMU开始工作:,MMU接受CPU传送过来的虚地址并分解为两部分:页号和页内地址;以页号为索引搜索快表;如果命中快表,则立即送出物理块号(页框号),并与页内地址拼接形成物理地址,然后访问相应内存单元;,4.5.2 请求分页虚拟存储管理(7),如果不命中快表,则以页号为索引搜索内存页表,页表的基址由硬件页表寄存器指出;在页表中查找相应表项,如果其状态位指示该页已在内存,则送出物理块号与页内地址拼接形成物理地址访问相应内存单元,同时要将该

8、表项装入快表;如果在页表中找到的相应表项,其状态位指示该页不在内存,则发出缺页中断,请求操作系统处理;存储管理软件将所缺页面调入内存,修改页表。,4.5.2 请求分页虚拟存储管理(8),缺页中断处理过程如下:查看内存是否有空闲物理块,如有则可以装入页面到空闲物理块,同时修改页表相应项以及内存分配表;如果内存中没有空闲物理块,则按替换算法选择一个页面淘汰,若该页面被写过或修改过,则写回外存,否则只简单淘汰该页面。淘汰页面之后要修改页表相应项,然后调入页面到淘汰页面释放的物理块中。,4.5.2 请求分页虚拟存储管理(9)P261图,4.5.2 请求分页虚拟存储管理(10),4.5.2 请求分页虚拟

9、存储管理(11),3.页面装入策略和清除策略页装入策略决定何时把一个页面装入内存,有两种策略:请页式调入和预调式调入.请页式调入在需要访问程序和数据时,才把所在页面装入主存。缺点是处理缺页中断和调页的系统开销较大,每次仅调一页,增加了磁盘I/O次数。预调式调入由系统预测进程将要使用的页面,使用前预先调入主存,每次调入若干页面,而不是仅调一页。一次调入多页能减少磁盘I/O启动次数,节省寻道和搜索时间。,4.5.2 请求分页虚拟存储管理(12),清除策略考虑何时把一个修改过的页面写回外存,常用的方法是:请页式清除和预约式清除.请页式清除是仅当一页选中被替换,且之前它又被修改过,才把这个页面写回辅存

10、。预约式清除对所有更改过的页面,在需要之前就把它们都写回外存.页缓冲技术是更好的方法:在页缓冲中,淘汰了的页面进入两个队列:修改页面和非修改页面队列。修改页面队列中的页不时地成批写出并加入到非修改页面队列;非修改页面队列中的页面,当它被再次引用时回收,或者淘汰掉以作替换。,4.5.2 请求分页虚拟存储管理(13),4.页面分配策略系统为进程分配主存,需考虑因素:分给进程的空间越小,同一时间处于内存的进程就越多,至少有一个进程处于就绪态的可能性就越大如果进程只有小部分在主存里,即使局部性很好,缺页中断率还会增加.分给进程的内存超过一定限度后,再增加内存空间,不会明显降低进程的缺页中断率。,4.5

11、.2 请求分页虚拟存储管理(14),页面分配策略主要有两种:固定分配和可变分配固定分配使进程在生命周期中保持固定数目的物理块.进程创建时,根据进程类型和程序员的要求决定页框数,只要有一个缺页中断产生,进程就会有一页被替换。固定分配时,每个进程物理块的分配方式主要有:平均分配、按比例分配、考虑优先权的分配,进程分得的页框数可变,称可变分配;进程执行的某阶段缺页率较高,说明目前局部性较差,系统可多分些页框以降低缺页率,反之说明进程目前的局部性较好,可减少分给进程的页框数.固定分配缺少灵活性,而可变分配的性能会更好些,被许多操作系统采用。采用可变分配策略的困难在于操作系统要经常监视活动进程的行为和进

12、程缺页中断率的情况,会增加系统的开销。,页面替换策略也有两种:局部替换和全局替换.局部替换在进程发生缺页时仅从该进程的物理块中淘汰页面,以调入所缺页面;全局替换则在进程发生缺页时可从系统中任一进程的物理块中淘汰页面.页面分配和替换常用的组合策略有三种:固定分配局部置换、可变分配全局置换和可变分配局部置换.,可变分配和全局替换策略配合使用,先给每个进程分配一定数目页框,os保留若干空闲页框,进程发生缺页中断时,从系统空闲页框中选一个给进程,这样产生缺页中断进程的内存空间会逐渐增大,有助于减少系统的缺页中断次数。系统拥有的空闲页框耗尽时,会从内存中选择一页淘汰,该页可以是内存中任一进程的页面,这样

13、又会使那个进程的页框数减少,缺页中断率上升。,可变分配和局部替换配合使用,其实现要点如下:(1)新进程装入主存时,根据应用类型、程序要求,分配给一定数目页框,可用请页式或预调式完成这个分配。(2)产生缺页中断时,从该进程驻留集中选一个页面替换。(3)不时重新评价进程的分配,增加或减少分配给进程的页框以改善系统性能。经验表明:对每个程序,要使其有效工作,它在主存中的页面数不应低于它的总页面数的一半,4.5.2 请求分页虚拟存储管理(15),5.页面替换算法 页面替换主存空间已经用完,而又要装入新页时,必须把主存的一些页面调出去,叫页面替换。页面淘汰算法 确定被淘汰页的算法“抖动”(Thrashi

14、ng)(“颠簸”)现象 是淘汰算法不好而产生的一种现象。刚淘汰的页面又立即要用,又将其调入,然后再淘汰、再调入。浪费大量CPU的时间。,4.5.2 请求分页虚拟存储管理(16),假定作业p共计n页,系统分配给它的主存块只有m块(mn)。如果作业p在运行中成功的访问次数为S,不成功的访问次数(缺页次数)为F,则总的访问次数为:A=S+F又定义:f=F/A称f为缺页中断率。影响缺页中断率f的因素有:(1)主存页框数。(2)页面大小。(3)页面替换算法。(4)程序特性。,4.5.2 请求分页虚拟存储管理(17),程序要将128128的数组置“0”。分给的主存只一块,页面尺寸为每页128个字,数组中的

15、元素每行存放在一页中。若程序如下:Var A:array1.128 of array 1.128 of integer;for j:=1 to 128 do for i:=1 to 128 do Aij:=0总共产生(128*1281)次缺页中断。如果重新编制程序如下:Var A:array1.128 of array1.128 of integer;for i:=1 to128 do for j:=1 to 128 do Aij:=0 总共产生(1281)次缺页中断。,4.5.2 请求分页虚拟存储管理(18),调入一页而必须淘汰一个旧页时,所淘汰的页应该是以后不再访问的页或距现在最长时间后再

16、访问的页。几种页面替换算法:最佳页面算法(OPT、Belady算法)、先进先出页面淘汰算法(FIFO)、最近最久未使用页面淘汰算法(LRU)、Clock置换算法。这些算法都是基于系统对物理块的分配策略采用固定分配局部置换。,4.5.2 请求分页虚拟存储管理(19),1、最佳页面算法(OPT):调入一页而必须淘汰一个旧页时,所淘汰的页应该是以后不再访问的页或距现在最长时间后再访问的页。例:某程序在内存中分配三个页面,初始为空,页面走向为4,3,2,1,4,3,5,4,3,2,1,5。用最佳页面算法分析页面置换过程。,4.5.2 请求分页虚拟存储管理(20),共缺页中断7次,4.5.2 请求分页虚

17、拟存储管理(21),2、先进先出页面淘汰算法(FIFO):算法总是淘汰最先调入主存的那一页,或者说在主存中驻留时间最长的那一页(常驻的除外)。例:某程序在内存中分配三个页面,初始为空,页面走向为4,3,2,1,4,3,5,4,3,2,1,5。用先进先出页面算法分析页面置换过程。,4.5.2 请求分页虚拟存储管理(22),共缺页中断9次,4.5.2 请求分页虚拟存储管理(23),3、最近最久未使用页面淘汰算法(LRU):算法淘汰的页面是在最近一段时间里较久未被访问的那页。例:某程序在内存中分配三个页面,初始为空,页面走向为4,3,2,1,4,3,5,4,3,2,1,5。用最近最久未使用页面算法分

18、析页面置换过程。,4.5.2 请求分页虚拟存储管理(24),共缺页中断10次,4.5.2 请求分页虚拟存储管理(25),最近最久未使用页面淘汰算法(LRU)的几种实现方法:第一种方法:标志位法方法:每页设置一个引用标志位S,访问某页时,由硬件将页标志位S置1,隔一定时间t将所有页的标志S均清0。发生缺页中断处理:从标志位S为0的页中挑选一页淘汰,然后将所有页的标志位S清0。主要问题:时间间隔t的选择,t太大则标志位S均为1,t太小则标志位S均为0。,4.5.2 请求分页虚拟存储管理(26),第二种方法:多位寄存器法:为每页设置一个多位寄存器R,当页面被访问时,对应的寄存器的最左边位置1,每隔时

19、间t,将R右移一位。缺页中断处理:淘汰最小数值R对应的页面 此法也叫老化算法,性能较好。例:寄存器R共有四位,页面P0、P1、P2在T1、T2、T3时刻寄存器R内容如下:,页面 时刻 T1 T2 T3 P0 1000 0100 1010 P1 1000 1100 0110 P2 0000 1000 0100,4.5.2 请求分页虚拟存储管理(27),第三种方法:多位计数法方法:每个页面设置一个多位计数器,每当访问一页时,就使它对应的计数器加1。又叫最不常用页面替换算法LFU发生缺页中断处理:选择计数值最小的对应页面淘汰,并将所有计数器全部清0。第四种方法:多位计时器法方法:为每个页面设置一个多

20、位计时器,每当页面被访问时,系统的绝对时间记入计时器。缺页中断处理:比较各页面的计时器的值,选最小值的未使用的页面淘汰,因为,它是最“老”的未使用的页面。,上述几种方法均只是对最近最久未使用页面淘汰算法(LRU)的近似实现,这些方法在某一页访问频率较高时,很难精确地记住其它页面最近访问的情况.,4.5.2 请求分页虚拟存储管理(28),4、第二次机会页面置换算法方法:改进FIFO算法,把FIFO与页表中的“引用位”结合起来使用。缺页中断处理:检查FIFO中的队首页面(最早进入主存的页面),如果它的“引用位”是0,这个页面既老又没有用,选择该页面淘汰;如果“引用位”是1,说明它进入主存较早,但最

21、近仍在使用。把它的“引用位”清0,并把这个页面移到队尾,把它看作是一个新调入的页。算法含义:最先进入主存的页面,如果最近还在被使用的话,仍然有机会作为像一个新调入页面一样留在主存中。,4.5.2 请求分页虚拟存储管理(30),5、时钟页面替换算法:一个页面首次装入主存,其“引用位”置0。主存中的任何页面被访问时,”引用位”置1。淘汰页面时,从指针当前指向的页面开始扫描循环队列,把遇到的”引用位”是1的页面的”引用位”清0,跳过这个页面;把所遇到的”引用位”是0的页面淘汰掉,指针推进一步。扫描循环队列时,如果遇到的所有页面的”引用位”为1,指针就会绕整个循环队列一圈,把碰到的所有页面的”引用位”

22、清0;指针停在起始位置,并淘汰掉这一页,然后,指针推进一步。,4.5.2 请求分页虚拟存储管理(31),4.5.2 请求分页虚拟存储管理(32),时钟页面替换算法的改进算法:把”引用位”和”修改位”结合起来使用,共组合成四种情况:(1)最近没有被引用,没有被修改(r=0,m=0)(2)最近被引用,没有被修改(r=1,m=0)(3)最近没有被引用,但被修改(r=0,m=1)(4)最近被引用过,也被修改过(r=1,m=1)步1:选择最佳淘汰页面,从指针当前位置开始,扫描循环队列。扫描过程中不改变”引用位”,把找到的第一个r=0,m=0的页面作为淘汰页面。,4.5.2 请求分页虚拟存储管理(33),

23、步2:如果步1失败,再次从原位置开始,查找r=0且m=1的页面,把找到的第一个这样的页面作为淘汰页面,而在扫描过程中把指针所扫过的页面的”引用位”r置0。步3:如果步2失败,指针再次回到了起始位置,由于此时所有页面的”引用位”r均己为0,再转向步1操作,必要时再做步2操作,这次一定可以挑出一个可淘汰的页面。,4.5.2 请求分页虚拟存储管理(34),假设采用固定分配策略,进程分得三个页框,执行中按下列次序引用5个独立的页面:2 3 2 1 5 2 4 5 3 2 5 2。,缺页中断和被淘汰页面,性能比较 OPT F(1)F(2)F(4)LRU F(3)F(1)F(2)F(4)CLOCK F(2

24、)F(3)F(1)F(5)F(4)FIFO F(2)F(3)F(1)F(5)F(2)F(4),4.5.2 请求分页虚拟存储管理(36),假设固定分配,运行FORTRAN程序,共有0.25106次页面引用,页面大小为256个字。分给进程的页框数分别为6、8、10、12和14。FIFO所产生的缺页中断基本上是Opt的2倍,Clock则比较接近于LRU。,4.5.2 请求分页虚拟存储管理(37),4.5.2 请求分页虚拟存储管理(38),原则上,内存的页面越多,对同一个算法和同一个访页序列而言,命中率应该提高。但是,某些算法可能反而降低,这种现象称为Belady现象。LRU、OPT不会出现Belad

25、y现象,FIFO则可能出现。例 内存为4个页面的情况(FIFO会出现Belady现象)4 3 2 1 4 3 5 4 3 2 1 5(访页序列)4 3 2 1 1 1 5 4 3 2 1 5 4 3 2 1 4 3 5 4 3 2 1 5 4 3 2 2 2 1 5 4 3 2 1 4 3 2 1 4 3 5 2 4 3 3 3 2 1 5 4 3 2 4 3 2 1 4 3 5 4 4 4 3 2 1 5 4 3 命中只有两次,而内存只有3个页面时,命中反而有3次。,4.5.2 请求分页虚拟存储管理(38),六、请求分页虚拟存储管理的几个设计问题1、页面大小 考虑的几个因素:从页表大小考虑,

26、页面大一点好 从主存利用率考虑,页面小一点好,减少碎片从读写一个页面所需时间考虑,页面大一点效率高 最佳页面,4.5.2 请求分页虚拟存储管理(40),设:S:为用户作业程序的平均字节数 P:为字节单位的页面长度,且有SP e:页表项的字节数则:作业的页表长度为:S/P 页表所占的空间为:e*S/P个字节 作业的最后一页,平均浪费为P/2字节(半页)对一个作业而言:浪费的主存空间=页表使用的主存空间+内部碎片=e*S/P+P/2,4.5.2 请求分页虚拟存储管理(41),页面较小时页表占用空间多(因e*S/P较大),页面较大时内部碎片浪费多(因P/2较大)。现对P求一阶导数并令其为0,得到-e

27、S/P2+1/2=0 那么,可以得出最优页面尺寸 P=2Se 时,浪费的存储字节最少,称P为最佳 页面尺寸。对于S=128KB,每个页表项e=4B时,最优页面尺寸是1024字节,4.5.2 请求分页虚拟存储管理(42),Atlas为 512字(每字48位)、IBM370系列机为2048或4096字节、VAX为 512字节、IBM as/400为512字节、Intel 486和Motorola68040为4096字节。,4.5.2 请求分页虚拟存储管理(43),2.工作集P.J.Denning认为,应该将处理机调度和主存管理结合起来进行考虑,并在1968年提出了工作集模型。工作集模型工作集-在未

28、来的时间间隔内,一个进程运行时所需访问的页面集。工作集是为确保每个进程每一时刻能够执行下去,在物理存储器中必须有的最少页面数.,Windwos xp中工作集的定义为:该进程当前在内存中的页面的集合作业占用的主存块数目小于工作集,运行中会不断出现缺页中断,为保证作业有效运行,应该根据工作集大小分给它主存块,以保证工作集中所需要的页面能够进入主存。,4.5.2 请求分页虚拟存储管理(44),为了避免系统发生抖动,就应该限制系统内的作业数,使它们的工作集总尺寸不超过主存块总数。,4.5.2 请求分页虚拟存储管理(45),工作集和工作集窗口进程在时刻t的工作集:用W(t,)表示,指时刻t-到时刻t之间

29、所访问的不同页面的集合,是时间窗口尺寸,通过窗口来观察进程的行为。W(t,)就是作业在时刻t的工作集,表示在最近个实际时间单位内进程所引用过的页面的集合;W(t,)表示工作集中的页面数目,称工作集尺寸。如果系统能随W(t,)的大小来分配主存块,就既能有效利用主存,又可使缺页中断尽量少地发生,或者说程序要有效运行,其工作集必须在主存中。,4.5.2 请求分页虚拟存储管理(46),工作集W是t的函数,随时间不同,工作集也不同。其一是不同时间的工作集包含的页面数可能不同(工作集尺寸不同);其二是不同时间的工作集包含的页面可能不同(页面内容不同)。工作集W又是工作集窗口尺寸的函数,而且工作集尺寸W(t

30、,)是工作集窗口尺寸的非递减函数。正确选择工作集窗口尺寸如果过大,甚至把作业地址空间全包括在内,就成了实存管理如果过小,则会引起频繁缺页,降低了系统的效率。,4.5.2 请求分页虚拟存储管理(47),4.5.2 请求分页虚拟存储管理(48),通过工作集概念来指导确定驻留集的大小(1)监视每个进程的工作集。(2)定期地从一个进程驻留集中删去那些不在工作集中的页。(3)仅当一个进程的工作集在主存(即驻留集包含了它的工作集时),进程才能执行。注意:正确的策略并不是消除缺页现象,而应使缺页间隔时间保持在合理水平,4.5.2 请求分页虚拟存储管理(49),3、页面交换区在磁盘中所开辟的、临时保存被淘汰页

31、面的缓冲区。替换算法要挑选页面淘汰出主存,但被淘汰出去的页面可能很快使用,又要被重新装入主存。操作系统必须保存被淘汰的页面,例如UNIX使用交换区临时保存页面,系统初始化时,保留一定盘空间作交换区,4、锁定主存页如果采用全局替换策略,锁住正在做I/O操作的内存页面,保证它不被移出,可以在页表项中增加锁定位来做到这一点。另一种解决方法是在核心内的缓冲区完成I/O,然后,把数据复制到用户的页面。,4.5.2 请求分页虚拟存储管理(50),5、写时复制写时复制(copy-on-write):创建子进程时,仅复制页表而不复制父进程的物理空间,子进程需要向页面写时才复制,主要应用于父子进程之间。写时复制

32、是存储管理节省物理内存(页框)的一种页面级优化技术,已被UNIX和Windows等采用,能减少主存页面内容的复制操作,减少相同内容页面在主存的副本数目。,4.5.2 请求分页虚拟存储管理(51),4.5.3 请求分段虚拟存储系统(1),分段式虚拟存储系统把作业的所有分段的副本都存放在辅助存储器中,当作业被调度投入运行时,首先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们装入。,段式虚拟存储管理的段表扩展,4.5.3 请求分段虚拟存储系统(2),特征位:00(不在内存);01(在内存);11(共享段);存取权限:00(可执行);01(可读);11(可写);扩充位:0(固

33、定长);1(可扩充);标志位:00(未修改);01(已修改);11(不可移动);,4.5.4 请求段页式虚拟存储管理(1),4.5.4 请求段页式虚拟存储管理(1),段式存储是基于用户程序结构的存储管理技术,有利于模块化程序设计,便于段的扩充、动态链接、共享和保护,但会生成段内碎片浪费存储空间页式存储是基于系统存储器结构的存储管理技术,存储利用率高,便于系统管理,但不易实现存储共享、保护和动态扩充把两者结合起来就是段页式存储管理,4.5.4 请求段页式虚拟存储管理(1),请求段页式存储管理的基本原理1、虚地址以程序的逻辑结构划分成段(段页式存储管理的段式特征)2、实地址划分成位置固定、大小相等

34、的页框(段页式存储管理的页式特征)3、将每一段的线性地址空间划分成与页框大小相等的页面,于是形成了段页式存储管理的特征。4、逻辑地址形式为:,4.5.4 请求段页式虚拟存储管理(2),请求段页式存储管理的数据结构作业表:登记进入系统中的所有作业及该作业段表的起始地址段表:至少包含这个段是否在内存,以及该段页表的起始地址页表:包含该页是否在主存(中断位)、对应主存块号。,4.5.4 请求段页式虚拟存储管理(3),请求段页式存储管理的动态地址转换从逻辑地址出发,先以段号s和页号p作索引去查快表,如果找到,那么立即获得页p的页框号p,并与位移d一起拼装得到访问主存的实地址,从而完成了地址转换。若查快表失败,就要通过段表和页表作地址转换了,用段号s作索引,找到相应表目,由此得到s段的页表起址s,再以p作索引得到s段p页对应的表目,得到页框号p;这时一方面把s段p页和页框号p置换进快表,另一方面用p和d生成主存实地址,从而完成地址转换。如查段表时,发现s段不在主存,产生“缺段中断”,引起系统查找s段在辅存的位置,将该段页表调入主存;,4.5.4 请求段页式虚拟存储管理(4),如查页表时,发现s段的p页不在主存,产生“缺页中断”,引起系统查找s段p页在辅存的位置,并将该页调入主存,当主存已无空闲页框时,就会导致淘汰页面。,4.5.4 请求段页式虚拟存储管理(4),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号