
操作系统存储管理习题..ppt
42页第四章第五章第四章第五章 存储管理习存储管理习题题1、某系统采用、某系统采用动态分区动态分区存储管理技术,某时刻内存存储管理技术,某时刻内存中有三个空闲区,它们的首地址和大小分别为:中有三个空闲区,它们的首地址和大小分别为:空闲区空闲区1 (100KB,10KB) 空闲区空闲区2(200KB,30KB)空闲区空闲区3 (300KB,15KB)(1)画出该时刻内存分配图;画出该时刻内存分配图;(2)用首次适应法和最佳适应法画出此时的空闲分区用首次适应法和最佳适应法画出此时的空闲分区链;链;(3)有如下作业序列:有如下作业序列:作业作业1 需求需求15KB,,作业作业2 需求需求16KB,,作业作业3 需求需求10KB,,用哪种算法能将该作业序列装入内存?用哪种算法能将该作业序列装入内存?(给出简要分给出简要分配过程配过程)100K(1)110K200K230K300K315K10KB30KB15KB(2)100K10KB200K30KB300K15KB^首次适应法首次适应法最佳适应法最佳适应法100K10KB300K15KB200K30KB^100K110K200K230K300K315K10KB30KB15KB(3)100K110K200K230K300K315K10KB15KB15KB作业作业1215K首首次次适适应应法法100K110K200K230K300K315K作业作业314KB作业作业1作业作业2216K100K110K200K230K300K315K10KB30KB15KB最最佳佳适适应应法法2、、考考虑虑一一个个由由8个个页页面面,,每每页页1K字字节节组组成成的的逻逻辑辑空空间间,,把把它它映映射射到到由由32个个物物理理块块组组成的存储器。
问:成的存储器问:((1)有效的逻辑地址有多少位?)有效的逻辑地址有多少位?((2)有效的物理地址有多少位?)有效的物理地址有多少位?•解解此此题题的的关关键键是是要要知知道道在在分分页页管管理理中中,,“页页”和和“块块”是是一一样样大大小小的的,,这这样样才才知知道道物物理存储器是理存储器是32K•((1))逻辑地址有逻辑地址有13位位((2)物理地址有)物理地址有15位位3、、若若在在一一分分页页存存储储管管理理系系统统中中,,某某作作业业的的页页表表如如下下所所示示已已知知页页面面大大小小为为1024字字节节,,试试将将逻逻辑辑地地址址1011,,2148,,3000,,5012转化为相应的物理地址转化为相应的物理地址 页号页号块号块号01232316为了描述方便,设页号为为了描述方便,设页号为P,页内位移为,页内位移为W,逻辑地,逻辑地址为址为A,内存地址为,内存地址为M,页面大小为,页面大小为L,,n根据根据 P=int(A/L) W=A mod Ln 对于逻辑地址对于逻辑地址1011qP=int(1011/1024)=0qW=1011 mod 1024=1011qA=1101=(0,1101)n查页表查页表0号页在号页在2号块,所以物理地址为号块,所以物理地址为M=1024*2+1101= 3059。
n对于逻辑地址为对于逻辑地址为2148qP=2148/1024=2qW=2148 mod 1024=100qA=2148=(2,100)n查页表查页表2号页在号页在1号块,所以物理地址为号块,所以物理地址为M=1024*1+100=1124n对于逻辑地址为对于逻辑地址为3000qP=3000/1024=2qW=3000 mod 1024=952qA=3000=(2,952)n查页表查页表2号页在号页在1号块,所以物理地址为号块,所以物理地址为M=1024*1+952=1976n 对于逻辑地址对于逻辑地址5012qP=5012/1024=4qW=5012 mod 1024=916n因页号超过页表长度,该逻辑地址非法因页号超过页表长度,该逻辑地址非法 4、某虚拟存储器的用户空间共有、某虚拟存储器的用户空间共有32个页面,每页个页面,每页1KB,,主主存存16KB试问:试问:((1)逻辑地址的有效位是多少?)逻辑地址的有效位是多少?((2)物理地址需要多少位?)物理地址需要多少位?((3)假定某时刻系统用户的第)假定某时刻系统用户的第0,,1,,2,,3页分别分配的物页分别分配的物理块号为理块号为5,,10,,4,,7,试将虚地址,试将虚地址0A5C和和093C变换为物理变换为物理地址。
地址n((1)程序空间的大小为)程序空间的大小为32KB,,因此逻辑地址的有效位数是因此逻辑地址的有效位数是15位n((2)内存储空间的大小是)内存储空间的大小是16KB,,因此物理地址至少需要因此物理地址至少需要14位n((3)页面大小为)页面大小为1KB,虚地址,虚地址0A5C( 000101001011100)表示页号为表示页号为00010,页内地址是,页内地址是1001011100该页在内存该页在内存的第的第4块,即块号为块,即块号为0100,因此,因此0A5C的物理地址是的物理地址是01001001011100,即,即125CHn((4))用同样的方法可以求得,用同样的方法可以求得,093C的物理地址是的物理地址是113CH5、考虑一个分页存储器,其页表存放在内存考虑一个分页存储器,其页表存放在内存)((1))若若内内存存的的存存取取周周期期为为0.6us,,则则CPU从从内内存存取取一一条指令(或一个操作数)需多少时间?条指令(或一个操作数)需多少时间?((2))若若使使用用快快表表且且快快表表的的命命中中率率为为75%%,,则则内内存存的的平均存取周期为多少?平均存取周期为多少?假定访问快表的时间可以忽略不计假定访问快表的时间可以忽略不计•((1))因因为为页页表表放放在在内内存存,,故故取取一一条条指指令令((或或一一个个操操作作数数))须须访访问问两两次次内内存存,,所所以以需需0.6us××2 = 1.2us的的时时间。
间•((2))这这里里假假定定访访问问快快表表的的时时间间可可以以忽忽略略不不计计,,命命中中快表时取数只要一次访存,故此时的平均存取周期为快表时取数只要一次访存,故此时的平均存取周期为•0.6us××0.75+1.2us×(×(1-0.75)=0.75us•关关键键:要要知知道道访访问问快快表表的的时时间间可可以以忽忽略略不不计计和和平平均均存存取周期的概念取周期的概念6、、某某段段式式存存储储管管理理系系统统中中,,有有一一作作业业的的段段表表((SMT))如如下下表表所所示示,,求求逻逻辑辑地地址址[0,,65],,[1,,55],,[2,,90],,[3,,20]对对应应的的主主存存地地址址((按按十十进进制制))其其中中方方括括号号中中的的第第一一个个元元素素为为段段号号,,第二个元素为段内地址)第二个元素为段内地址) 段号段号段长段长(容量)(容量)主存起主存起始地址始地址状态状态0123200501001506008501000——1110逻逻辑辑地地址址[0,,65]::对对应应的的主主存存地地址址为为600++65==665逻逻辑辑地地址址[1,,55]::因因段段内内地地址址超超过过段段长长,,所所以以产生段地址越界中断。
产生段地址越界中断段号段号段长段长(容量)(容量)主存起主存起始地址始地址状态状态0123200501001506008501000——1110逻逻辑辑地地址址[2,,90]::对对应应的的主主存存地地址址为为1000++90==1090逻逻辑辑地地址址[3,,20]::因因为为状状态态位位为为0,,即即该该段段在在辅辅存中,所以产生缺段中断存中,所以产生缺段中断段号段号段长段长(容量)(容量)主存起主存起始地址始地址状态状态0123200501001506008501000——1110n虚拟内存的实际大小由系统的逻辑地址结构、虚拟内存的实际大小由系统的逻辑地址结构、主存、辅存容量共同决定主存、辅存容量共同决定n虚拟内存容量的理论值是虚拟内存容量的理论值是210 *220=1G;;n最大段内地址为最大段内地址为220=1M,超过,超过512K的内存容量,的内存容量,故最大实际段长为故最大实际段长为512k而不是而不是1Mn所以可计算虚拟存储容量为所以可计算虚拟存储容量为n210 *512K =210 *0.5M=0.5G n0.5G<2G,,因此虚拟存储器的实际容量是因此虚拟存储器的实际容量是0.5G。
7、有一计算机系统,内存容量为、有一计算机系统,内存容量为512K,,辅存容量辅存容量为为2G,,逻辑地址形式为:段号逻辑地址形式为:段号29~20bit 段内地址段内地址19~0bit求其虚拟存储器的实际容量?求其虚拟存储器的实际容量?(*)n8、在请求分页存储管理系统中,存取一次、在请求分页存储管理系统中,存取一次内存的时间是内存的时间是8us,,查询一次快表的时间是查询一次快表的时间是1us,,缺页中断的时间是缺页中断的时间是20us,,n假设页表的查询与快表的查询同时进行假设页表的查询与快表的查询同时进行 当查询页表时,如果该页在内存但快表中当查询页表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送没有页表项,系统将自动把该页页表项送入快表)n1、求对某一数据进行一次存取可能需要的、求对某一数据进行一次存取可能需要的时间?时间?n2、连续对同一页面上的数据进行、连续对同一页面上的数据进行4次连续次连续读取,求每次读取数据可能需要的时间读取,求每次读取数据可能需要的时间?•当系统对数据进行存取时,有当系统对数据进行存取时,有3种可能性种可能性•1、、所存取的数据的页面在内存,其页表项已经存所存取的数据的页面在内存,其页表项已经存储到快表,储到快表,此时存取数据的时间是:查询快表的时间此时存取数据的时间是:查询快表的时间+存取内存数据的时间存取内存数据的时间=1us+8us= 9us•2、、所存取的数据的页面在内存,但是其页表项没所存取的数据的页面在内存,但是其页表项没有存储到快表有存储到快表,没有命中快表,此时存取数据的时间,没有命中快表,此时存取数据的时间是:查询页表的时间是:查询页表的时间+存取内存数据的时间存取内存数据的时间=8us+8us= 16us•3、、所存取的数据的页面不在内存,发生缺页中断,所存取的数据的页面不在内存,发生缺页中断,此时存取数据的时间是:此时存取数据的时间是:• 查询页表的时间查询页表的时间+缺页中断的时间缺页中断的时间+访问页表的时访问页表的时间间+存取内存数据的时间存取内存数据的时间 =8us+20us+8us+8us = 44us•当对某一数据进行当对某一数据进行4次连续读取时:次连续读取时:第第1次可能的时间分别为:次可能的时间分别为:1us+8us= 9us;;8us+8us= 16us;;8us+20us+8us+8us=44us。
第第2次时,对应页面的页表项已经交换到快次时,对应页面的页表项已经交换到快表中因为存取是连续的,不存在页面被淘汰表中因为存取是连续的,不存在页面被淘汰的可能性,所以第的可能性,所以第2次、第次、第3次、第次、第4次的存取次的存取时间是一样的,消耗的时间为时间是一样的,消耗的时间为1us+8us= 9us9、考虑一个有快表的请求分页系统、考虑一个有快表的请求分页系统设内存的读写周期为设内存的读写周期为1us,内外存之间传送一个页面的平均时间内外存之间传送一个页面的平均时间为为5ms,,其中,其中, 80%情况下命中快表,情况下命中快表,10%情情况下页面失效(缺页)况下页面失效(缺页)求内存的有效存取时间求内存的有效存取时间)n内存的有效存取时间内存的有效存取时间EAT(Efficent Access Time)也叫平均存取时间也叫平均存取时间AAT(Average Access Time),,其计算公式如下:其计算公式如下:EAT==命中快表时的存取时间命中快表时的存取时间×快表命中率快表命中率+命中内存时的存取时间+命中内存时的存取时间×内存命中率内存命中率+页面失效时的存取时间+页面失效时的存取时间×页面失效率页面失效率将题中的已知条件代入可得将题中的已知条件代入可得EAT=1us×80% +2us×((100-80-10))% +(1us+5000us+1us+1us)×10%=0.8us+0.2us+500.3us=501.3us10、一个使用快表的页式虚存,(、一个使用快表的页式虚存,(1))快表的命中率为快表的命中率为70%,内存的存取周%,内存的存取周期为期为1us;(;(2)缺页时,若内存有可)缺页时,若内存有可用空间或被置换的页面在内存未被修用空间或被置换的页面在内存未被修改过,则处理一个缺页需改过,则处理一个缺页需8ms,,否则否则需需20ms,假定被置换的页面,假定被置换的页面60%是属%是属于后一种情况。
于后一种情况问:为了保证有效存取时间不超过问:为了保证有效存取时间不超过2us,,问可接受的最大缺页率是多少?问可接受的最大缺页率是多少?设可接受的最大缺页率为设可接受的最大缺页率为p,,则有则有1us×0.7+ 命中快表命中快表2us×(1-0.7-p)+ 命中页表命中页表(0.4×8ms+0.6×20ms) × p 缺页缺页=2us即即 0.7+0.6-2p+3200p+1200p=2 15198p=0.7 p=0.00004611、在分页存储管理系统中,存取一次内存的时间、在分页存储管理系统中,存取一次内存的时间是是8us,,查询一次快表的时间是查询一次快表的时间是1us,,缺页中断的时缺页中断的时间是间是20us假设页表的查询与快表的查询同时进行,当查询页假设页表的查询与快表的查询同时进行,当查询页表时,如果该页在内存但快表中没有页表项,系统表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送入快表将自动把该页页表项送入快表一个作业最多可保留一个作业最多可保留3个页面在内存。
个页面在内存现开始执行一作业,系统连续对作业的2、4、现开始执行一作业,系统连续对作业的2、4、5、、2、2、7、、6、、4、、2各页面的数据进行各页面的数据进行1次存取,如分别次存取,如分别采用采用FIFO算法和最优页面置换算法,求每种算法下算法和最优页面置换算法,求每种算法下存取这些数据需要的总时间存取这些数据需要的总时间 ??nLRUn第第2页面:页面:20++8*3n第第4页面:页面:20 +8*3n第第5页面:页面:20 +8*3n第第2页面:页面:8+1n第第7页面:页面:20 +8*3n第第6页面:页面:20+8*3n第第4页面:页面:20+ 8*3 第第8页面:页面:20+8*3n 因此总的时间是(因此总的时间是(20++8*3))*7+((8+1))=317nOPTn第第2页面:页面:20++8*3n第第4页面:页面:20 +8*3n第第5页面:页面:20 +8*3n第第2页面:页面:8+1n第第7页面:页面:20 +8*3n第第6页面:页面:20+8*3n第第4页面:页面:8+1 第第8页面:页面:8+1n 因此总的时间是因此总的时间是 (20++8*3))*5 +(8+1)*3=2471212、在某分页虚存系统中,测得、在某分页虚存系统中,测得CPU和磁盘的利用和磁盘的利用率如下,试指出每种情况下的问题和措施。
率如下,试指出每种情况下的问题和措施 *(1) CPU的利用率为的利用率为15%,盘利用率为%,盘利用率为95%;%;(2) CPU的利用率为的利用率为88%,盘利用率为%,盘利用率为3%;%;(3) CPU的利用率为的利用率为13%,盘利用率为%,盘利用率为5%n((1))可可能能已已出出现现了了抖抖动动现现象象,,应应减减少少系系统统的的进程数;进程数;n((2))系系统统比比较较正正常常,,可可考考虑虑适适当当增增加加进进程程数数以提高资源利用率;以提高资源利用率;n((3))CPU和和磁磁盘盘的的利利用用率率都都较较低低,,必必须须增增加加并发进程数并发进程数在内存管理中,在内存管理中,“内零头内零头”和和“外零外零头头”各指的是什么?在固定式分区分各指的是什么?在固定式分区分配、可变式分区分配、页式虚拟存储配、可变式分区分配、页式虚拟存储系统、段式虚拟存储系统中,各会存系统、段式虚拟存储系统中,各会存在何种零头?为什么?在何种零头?为什么?n内零头(又称内部碎片):给一个作业分配的存内零头(又称内部碎片):给一个作业分配的存储块长度为储块长度为n,,在其中存储的作业长度为在其中存储的作业长度为m,,则剩则剩下的长度为(下的长度为(n-m))的空间,成为该存储块的内的空间,成为该存储块的内部碎片;部碎片;n若存储块长度为若存储块长度为n,,在该系统所采用的调度算法下,在该系统所采用的调度算法下,较长时间内无法选出一道长度不超过该块的作业,较长时间内无法选出一道长度不超过该块的作业,则称该块为外零头(外部碎片)。
则称该块为外零头(外部碎片)n在固定式分区分配中两种零头均会存在,因为空在固定式分区分配中两种零头均会存在,因为空间划分是固定的,无论作业长短,存储单元均不间划分是固定的,无论作业长短,存储单元均不会随之变化,若作业短而存储块长则产生内零头,会随之变化,若作业短而存储块长则产生内零头,若作业长而存储块短则产生外零头若作业长而存储块短则产生外零头n在可变式分区分配中只有外零头而无内零头,因在可变式分区分配中只有外零头而无内零头,因为空间划分是依作业长度进行的,是要多少给多为空间划分是依作业长度进行的,是要多少给多少,但剩下的部分太短而无法再分,则称为外零少,但剩下的部分太短而无法再分,则称为外零头n页式虚存中会存在内零头而无外零头,因存储空页式虚存中会存在内零头而无外零头,因存储空间与作业均分为等长单元,所以不存在无法分配间与作业均分为等长单元,所以不存在无法分配的单元,但作业长度并不刚好为页面大小的整数的单元,但作业长度并不刚好为页面大小的整数倍,因此在最后一页会有剩余空间,即为内零头倍,因此在最后一页会有剩余空间,即为内零头n段式虚存中会存在外零头而无内零头,因段式的段式虚存中会存在外零头而无内零头,因段式的空间划分类似于可变分区分配,根据段长分配,空间划分类似于可变分区分配,根据段长分配,要多少给多少,但会剩余小空间无法分配,则为要多少给多少,但会剩余小空间无法分配,则为外零头。
外零头为什么要引入逻辑地址?为什么要引入逻辑地址?n(1) 使使用用物物理理地地址址的的程程序序只只有有装装入入程程序序所所规规定定的的内内存存空空间间上上才才能能正正确确执执行行,,如如果果程程序序所所规规定定内内存存空空间间不不空空闲闲或不存在,程序都无法执行;或不存在,程序都无法执行;n(2) 使使用用物物理理地地址址编编程程意意味味着着由由程程序序员员分分配配内内存存空空间间,,程程序序员员无无法法事事先先协协商商每每个个程程序序所所应应占占的的内内存存空空间间的的位位置置,这这在在多多道道程程序序系系统统中中,,势势必必造造成成程程序序所所占占内内存存空空间间的的相互冲突;相互冲突;n(3) 在在多多道道程程序序系系统统中中,,系系统统无无法法保保证证程程序序执执行行时时,,它所需的内存空间都空闲它所需的内存空间都空闲n基基于于上上述述原原因因,,必必须须引引入入一一个个统统一一的的、、在在编编程程时时使使用用的的地地址址,,它它能能够够在在程程序序执执行行时时根根据据所所分分配配的的内内存存空空间间将将其其转转换换为对应的物理地址,这个地址就是逻辑地址为对应的物理地址,这个地址就是逻辑地址。
n逻辑地址的引入为内存的共享、保护和扩充提供方便逻辑地址的引入为内存的共享、保护和扩充提供方便试比较静态重定位和动态重定位试比较静态重定位和动态重定位n“重重定定位位”实实际际上上指指的的是是相相互互联联系系的的两两件件事情:事情:n一是确定一个待执行程序在内存中的位置;一是确定一个待执行程序在内存中的位置;n二是将程序中的逻辑地址转换成物理地址二是将程序中的逻辑地址转换成物理地址n后一件事情是由前一件事情决定的后一件事情是由前一件事情决定的试比较静态重定位和动态重定位试比较静态重定位和动态重定位 n静态重定位的特点静态重定位的特点q实现容易,无需增加硬件地址变换机构;实现容易,无需增加硬件地址变换机构;q一般要求为每个程序分配一个连续的存储区;一般要求为每个程序分配一个连续的存储区;q在重定位过程中,装入内存的代码发生了改在重定位过程中,装入内存的代码发生了改变;变;q在程序执行期间不再发生地址的变换;在程序执行期间不再发生地址的变换;q在程序执行期间不能移动,且难以做到程序在程序执行期间不能移动,且难以做到程序和数据的共享,其内存利用率低和数据的共享,其内存利用率低动态重定位特点动态重定位特点 实现要依靠硬件地址变换机构,且存储管理软件算法较复实现要依靠硬件地址变换机构,且存储管理软件算法较复杂;杂;n程序代码是按原样装入内存的,在重定位的过程中也不程序代码是按原样装入内存的,在重定位的过程中也不发生变化发生变化(重定位产生的物理地址存放在内存地址寄存重定位产生的物理地址存放在内存地址寄存器中器中)n同一代码中的同一逻辑地址,每执行一次都要重定位一同一代码中的同一逻辑地址,每执行一次都要重定位一次;次;n只要改变基地址,就可以很容易地实现代码在内存中的只要改变基地址,就可以很容易地实现代码在内存中的移动;移动;n动态重定位可以将程序分配到不连续的存储区中;动态重定位可以将程序分配到不连续的存储区中;所以,尽管动态重定位需要硬件支持,但支持程序浮动,所以,尽管动态重定位需要硬件支持,但支持程序浮动,便于利用零散的内存空间,利于实现信息共享和虚拟存便于利用零散的内存空间,利于实现信息共享和虚拟存储,所以现代计算机大都采用动态重定位。
另外,实现储,所以现代计算机大都采用动态重定位另外,实现虚拟存储器需要动态重定位技术的支持虚拟存储器需要动态重定位技术的支持在实存管理上,管理方法主要分成在实存管理上,管理方法主要分成哪两种类型?哪两种类型? 实存管理的方法主要分成:实存管理的方法主要分成:n(1)连续:用用户户程程序序需需要要占占用用连连续续的的内内存存空空间间,,如如分区存储管理;分区存储管理;n(2)离离散散:用用户户程程序序不不需需要要占占用用连连续续的的内内存存空空间间,,如如分分页页、、分分段段、、段段页页等等管管理理,,一一个个用用户户程程序序在在内内存存可可能能是是不不连连续续的的,,如如果果它它有有不不只只一一页页或或一一段的话为什么在分页和分段管理下取一条指令或一为什么在分页和分段管理下取一条指令或一个操作数通常需两次访存?如何解决这一问个操作数通常需两次访存?如何解决这一问题?题?n因为用于地址变换的页表或段表也是存放在内存的,因为用于地址变换的页表或段表也是存放在内存的,n为为了了将将CPU给给出出的的逻逻辑辑地地址址变变成成物物理理地地址址,,首首先先就就要要访访问问内内存存的的页页表表和和段段表表,,然然后后,,根根据据形形成成的的物物理理地地址址再取指令或数据,这就要两次访存。
再取指令或数据,这就要两次访存n解解决决这这一一问问题题的的办办法法是是提提供供一一个个称称之之为为“快快表表”的的硬硬件件,,用用以以存存放放当当前前运运行行进进程程的的页页表表或或段段表表的的部部分分内内容容,,“快快表表”的的访访问问时时间间很很快快,,因因此此可可以以节节约约访访问问页页表表和和段段表的时间表的时间 n存存储储器器访访问问具具有有时时间间和和空空间间的的“局局部部性性”,,因因此此快快表表的的命命中中率率一一般般可可达达70%到到90%;;页页表表和和段段表表是是在在系系统统执执行行过过程程中中,,每每时时每每刻刻都都需需要要访访问问的的,,因因此此,,访访问问时时间间的微小缩短,其累计节约的时间却可以达到很大的微小缩短,其累计节约的时间却可以达到很大为什么分段管理下的程序共享和保为什么分段管理下的程序共享和保护比分页管理更有意义护比分页管理更有意义. .n因因为为段段是是一一个个有有意意义义的的逻逻辑辑整整体体,,如如主主程程序序、、子子程程序序、、数数据据表表格格、、工工作作空空间间等等,,就就如如书书本本上上的一章或一个自然段的一章或一个自然段n而而页页只只是是一一个个物物理理尺尺寸寸,,不不一一定定有有完完整整的的意意义义,,如书本上的一页。
如书本上的一页n程程序序共共享享当当然然希希望望被被共共享享的的对对象象是是一一个个有有意意义义的整体,如一个子程序;的整体,如一个子程序;n至至于于程程序序保保护护,,指指的的是是每每个个进进程程都都应应按按所所拥拥有有的的存存取取权权访访问问不不同同的的程程序序,,而而存存取取权权(R,W,E,W,E等等) )当然对一个有完整意义的对象才更有意义当然对一个有完整意义的对象才更有意义n所所以以就就共共享享和和保保护护而而言言,,分分段段管管理理比比分分页页管管理理更有意义更有意义什么是抖动现象?如何消除这种现象?什么是抖动现象?如何消除这种现象?n抖动现象,是在虚存管理下,用于页面(在内、外存抖动现象,是在虚存管理下,用于页面(在内、外存之间)对换的时间比程序的有效运行时间还要多的这之间)对换的时间比程序的有效运行时间还要多的这样一种现象它可以是一进程内部的局部性抖动,也样一种现象它可以是一进程内部的局部性抖动,也可以是整个系统的全局性抖动可以是整个系统的全局性抖动n造成这种情况固然与置换算法和页面走向有关,但其造成这种情况固然与置换算法和页面走向有关,但其根本原因是多道系统内的进程数太多,从而分给每个根本原因是多道系统内的进程数太多,从而分给每个进程的页面数太少。
进程的页面数太少n因此,解决这一问题的最有效的办法是减少系统内的因此,解决这一问题的最有效的办法是减少系统内的进程数nDenning于于1980年提出了年提出了“L=S准则准则”,即调整系统,即调整系统内的进程数,使得产生缺页的平均间隔时间(内的进程数,使得产生缺页的平均间隔时间(L))等等于系统处理进程缺页的平均时间(于系统处理进程缺页的平均时间(S)理论和实践理论和实践表明,此时的表明,此时的CPU利用率最高利用率最高覆盖技术的基本思想是什么?覆盖技术的基本思想是什么?n若一个大的程序是由多个相对独立的程序模块若一个大的程序是由多个相对独立的程序模块组成,且有些模块是相互排斥的,即执行甲就组成,且有些模块是相互排斥的,即执行甲就不会执行乙,不会执行乙,n在这种情况下,就没有必要将该程序的所有模在这种情况下,就没有必要将该程序的所有模块装入内存,块装入内存,n可将那些二者(或多者)执行时取其一的模块可将那些二者(或多者)执行时取其一的模块处理成处理成““覆盖覆盖””,让它们共享内存的一个,让它们共享内存的一个““覆覆盖区盖区””n这样就可大大节省内存空间,达到用小内存运这样就可大大节省内存空间,达到用小内存运行大程序的目的。
行大程序的目的 覆盖技术与虚拟存储技术有何本质不同?覆盖技术与虚拟存储技术有何本质不同?n虚拟存储器对于程序员时虚拟存储器对于程序员时透明透明的,不需要的,不需要程序员了解程序结构、覆盖的区域、时机,程序员了解程序结构、覆盖的区域、时机,不需要精心的设计程序及其数据结构,所不需要精心的设计程序及其数据结构,所有的操作由操作系统自动完成有的操作由操作系统自动完成n覆盖的程序段的覆盖的程序段的最大长度最大长度要受到物理内存要受到物理内存容量的限制,而虚拟存储器的最大长度不容量的限制,而虚拟存储器的最大长度不受物理内存容量的限制,只受计算机地址受物理内存容量的限制,只受计算机地址结构的限制结构的限制交换技术与虚存中使用的调入调出技交换技术与虚存中使用的调入调出技术有何相同和不同之处?术有何相同和不同之处?主要相同点主要相同点:是都要在内存与外存之间交换信息是都要在内存与外存之间交换信息主要区别主要区别:交换技术换出换进一般是整个进程交换技术换出换进一般是整个进程(proc结构和结构和共享正文段除外共享正文段除外),因此一个进程的大小受物,因此一个进程的大小受物理存储器的限制;理存储器的限制;而虚存中使用的调入调出技术在内存与外存之间而虚存中使用的调入调出技术在内存与外存之间来回传递的是存储页或存储段,而不是整个进来回传递的是存储页或存储段,而不是整个进程,从而使得进程映射具有了更大的灵活性,程,从而使得进程映射具有了更大的灵活性,且允许进程的大小比可用的物理存储空间大的且允许进程的大小比可用的物理存储空间大的多。
