操作系统第五章作业答案.docx

上传人:夺命阿水 文档编号:1153003 上传时间:2024-03-24 格式:DOCX 页数:9 大小:70KB
返回 下载 相关 举报
操作系统第五章作业答案.docx_第1页
第1页 / 共9页
操作系统第五章作业答案.docx_第2页
第2页 / 共9页
操作系统第五章作业答案.docx_第3页
第3页 / 共9页
操作系统第五章作业答案.docx_第4页
第4页 / 共9页
操作系统第五章作业答案.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《操作系统第五章作业答案.docx》由会员分享,可在线阅读,更多相关《操作系统第五章作业答案.docx(9页珍藏版)》请在课桌文档上搜索。

1、第5章习题答案3、可变分区管理方式下,采用移动技术有什么优点?移动一道作业时操作系统要做哪些工作?答:消除外部碎片.经过一段时间的分配回收后,会产生很多碎片,这些碎片都很小,缺乏以满足程序分配重内存的要求,但总和可以满足程序的分配要求.通过移动技术,在适当的时候,在内存中移动程序,把所有空闲碎片合并成一个连续的大空闲空间放在内存一端,就可以满足分配的要求移动一道作业时,操作系统需要修改被移动进程的地址信息,还要复制进程空间;而且在移动时必须停止所有其他程序的运行。4、用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为32K,IOK,5K,228K,100Ko现有

2、五个作业Jl,J2,J3,J4和J5。它们各需主存IK,10K,108K,28K和115K。假设采用最先适应分配算法能把这五个作业按JlJ5的次序全部装入主存吗?你认为按怎样的次序装入这五个作业可使主存空间利用率最高。答:(1)不行。列表模拟J1J5进入内存情况如下:初始空闲分区状态Jl进入后空闲分区的状态J2进入后空闲分区的状态J3进入后空闲分区的状态J4进入后空闲分区的状态没有满足J5运行条件的空闲分区32K31K21K21K21KIOKIOKIOKIOKIOK5K5K5K5K5K228K228K228K120K92K100K100K100K100K100K(2)以JlJ2J3J5J4的次

3、序装入这五个作业可使主存空间利用率最高。以上述顺序模,取装入过程列表如下:初始空闲分区状态Jl进入后空闲分区的状态J2进入后空闲分区的状态J3进入后空闲分区的状态J5进入后空闲分区的状态J4进入后空闲分区的状态32K31K21K21K21K21KIOKIOKIOKIOKIOKIOK5K5K5K5K5K5K228K228K228K120K5K5K100K100K100K100K100K72K这样可以将五个作业全部装入内存,使得内存利用率最高。6、段式存储管理系统中是如何实现存储保护的?答:因为段是按逻辑意义来划分的,可以按段名访问所以段式存储管理可以方便地实现内存信息的共享并进行有效的内存保护。

4、段式管理的保护主要有两种。一种是地址越界保护法,另一种是存取方式控制保护法。具体措施有:(1) 利用段表及段长来实现段的保护,防止程序执行时地址越界。(2) 存取权限保护法:在段表中设有“存取权”一项,可对程序的保护权限进行各种必要的限制。(3) 存储保护键保护:由于I/O通道对存储器访问是不经过段表的,因此有的机器还采用存储保护键保护。地址越界保护是利用表中的段长项与虚拟地址中的段内相对地址比拟进行的。假设段内相对地址大于段长,系统就会产生保护中断。不过,在允许段动态增长的系统中,段内相对地址大于段长是允许的。为此,段表中设置相应的增补位以指示是否允许该段动态增长。建立存取控制指在段表的每个

5、表目中,除指明段长以外,还增加“存取方式”一项。这种段的保护,对非共享段来说,主要是用来指示程序设计的错误。而对于共享段来说,那么显得特别重要。采取存取保护键。由于I/O通道对存储器的访问是不经过段表的,因此有的机器除了段保护之外,还采用存储保护键。因为这种保护对I/O通道十分有效。总之,在一个段式存储管理系统中,通过建立段表,施加存取控制,以及设置存储保护键等,可以提供一个多级的存储保护体系。10、有一个操作系统采用段式存储管理方案,用户区内存为512K,分配时截取空闲块的前半局部(小地址局部初始时内存全部空闲。系统执行如下申请、释放操作序列。申请300K,申请IooK,释放300K,申请1

6、50K,申请50K,申请90K(1)假设采用首先适应算法,空闲块表中有哪些空块(指出大小,地址(2)假设采用最正确适应算法,空闲块表中有哪些空块(指出大小,地址);(3)假设随后又申请80K,针对上述两种情况说明结果?其结果说明了什么问题?答:操作系统采用段式存储。执行申请释放序列后,结果如下:a、如果采用首先适应算法,空闲块表中的空块有地址大小290kIOk400k112kb、如果采用最正确适应算法,空闲块表中的空块有地址大小240k60k450k62kc、假设继续申请80k如果之前采用首先适应算法,那么直接分配起始地址为400k的连续80k空间如果之前采用最正确适应算法,那么需要首先采用拼

7、接技术对空闲空间进行合并,然后在合并后的空闲空间中分配连续80k空间。在上述情况中采用最正确适应算法却导致后来的内存直接分配失败而不得不进行内存空间整理。这说明最正确适应算法并不是所有时候都能够保持大块连续的空闲空间。IK假设一个程序的段表如下:段号状态位段起始地址段长存取控制0010040W11201020W201590100E307550R其中,状态位为“1”表示该段不在内存。存取控制:W表示可写,R表示可读,E表示可执行。对于以下的逻辑地址可能会发生什么情况:(4) STORE1,0,50(5) STORE1,b10(6) 1.OADb2,77(7) 1.OADb3,20答:(1)地址越

8、界保护;(2)发生链接中断,由操作系统的链接中断处理程序处理,根据间接字中的地址找到链接地址的符号名,并将目标段调入内存分配段号,再根据标号找到段内地址,修改间接字,置状态位为0,完成链接后,重新执行该指令,将Rl中的存放器写入目标地址;(3)内存保护错误。可执行数据不能被load(4)可以将第3段,偏移为20处所存的地址指向的内存单元的数据读入Rl中12、设在内存中按地址递增次序有三个不连续的空闲区Fl、F2、F3,它们的容量分别是60K、130K20K请给出一个后备作业序列,使得实施存储分配时(1)采用最正确适应算法将取得好的效果,而采用最差适应算法和首先适应算法效果都不好I(2)采用最正

9、确适应算法效果不好,而采用最差适应算法和首先适应算法都可取得好的效果;(3)采用最差适应算法将取得好的效果,而采用首先适应算法和最正确适应算法效果都不好;(4)采用这三种算法都可取得好效果;(5)采用这三种算法效果都不好。答:(1)符合要求的后备作业序列为J2:60K,J3:13OK模拟采用最正确适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态装入J3后的空闲区状态60K60KOKOK130K130KI30KOK20K19KI9K19K模拟采用最坏适应算法的装入过程如卜丁初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态没有可以满足J3装入条件的空闲区

10、60K60KOK130K129K129K20K20K20K模拟采用首先适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态没有可以满足J3装入条件的空闲区60K59K59K130K130K70K20K20K20K只有采用最正确适应算法才能将3个作业全部装入,因为其他两种算法都为了装入较小的作业而划分了较大的空闲区,使得剩余的空闲区相对于未装入的较大的作业小了(2)满足条件的后备队列为:J1:1K,J2:129K,J3:59K,J4:20K。模拟采用最正确适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态装入J3后的空闲区状态没有可以

11、满足J4装入条件的空闲区60K60K60KIKI30K130KIKIK20K19KI9K19K模拟采用最坏适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态装入J3后的空闲区状态装入J4后的空闲区状态60K60K60KIKIK130K129KOKOKOK20K20K20K20KOK模拟采用首先适应算法的装入过程如卜初始空闲区状态装入Jl后的空闲区状态装入Jl后的空闲区状态装入Jl后的空闲区状态装入Jl后的空闲区状态60K59K59KOKOK130K130KIKIKIK20K20K20K20KOK采用首先适应算法和最坏适应算法都可以将4个作业全部装入内存,而最正确

12、适应算法只能将3个作业装入内存。因为最正确适应算法在装入过程中形成了小的不能有效利用的碎片。满足条件的后备队列为:J1:3OK,J2:80K,J3:60Ko模拟采用最差适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态装入J3后的空闲区状态60K60K60KOK130K100K20K20K20K20K20K20K模拟采用最正确适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区状态装入J2后的空闲区状态没有可以满足J3装入条件的空闲区60K30K30K130K130K50K20K20K20K模拟采用首先适应算法的装入过程如下:初始空闲区状态装入Jl后的空闲区

13、状态装入J2后的空闲区状态没有可以满足J3装入条件的空闲区60K30K30K130K130K50K20K20K20K只有最差适应算法能把全部的作业装入内存。因为其余两种算法划分了相对较小的空闲区形成了碎片。(4)将(2)中的后备队列改为:J2J29K,J3:59K,J4:18K。那么最正确适应算法也可以在最后一步装入J4。那么三种算法都可以装入全部的作业。具体的过程不再画出,请参照(2)题的表格。这是因为作业的大小刚好比拟合意。(5)将(3)中的后备队列改为Jl:30K,J2:80K,J361Ko那么最坏适应算法也无法在最后将J3装入内存。那么三种算法都不能装入全部的作业。具体的过程不再画出,

14、请参照(3)题的表格。这是因为作业的大小刚好比拟不合意。21、假定磁盘空闲空间表说明有以下存储块空闲:13、11、18、9和20块。有一个要求为某文件分配10个连续的磁盘块。(1)如果采用首次适应分配策略,那么将分配哪个块?(2)如果采用最正确适应分配策略,那么将分配哪个块?(3)如果采用最差适应分配策略,那么将分配哪个块?答:13(2)11(3)2023、为什么要引入虚拟存储器?虚拟存储器是什么?它需要什么硬件支持?根据什么说一个计算机系统有虚拟存储器?怎样确定虚拟存储器的容量?答:由于软件容量的迅速扩张,有可能一个进程的程序比内存可用空间还要大,这时候该程序就无法运行;另一方面,由于程序的

15、局部性,在进程运行的任一阶段只须使用程序的一局部,如果预先分配所有的内存空间,内存就会被浪费。为了能更有效的支持多道程序设计技术的实现和大型程序运行的需要,所以使用了虚拟存储器的概念,利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,从而增强系统的处理能力。虚拟存储器简称虚存,是把内存与外存有机的结合起来使用,从而得到一个容量很大的、速度足够快的“内存”。虚拟存储器需要的硬件支持是:系统有一个容量足够大的外存;系统有一个具有相当容量的内存;硬件提供实现虚、实地址映射的机制。如果一个计算机系统硬件上拥有上述的支持条件、操作系统又支持虚拟存储管理,那么这个计算机

16、系统是有虚拟存储器的。一个虚拟存储器的最大容量(寻址空间)可以用存放器的位数来确定,因此比方X86体系的计算机存放器为32位,因此虚拟存储器的最大容量应该为2的32次方字节,即4GB。26、有一个虚拟存储系统。分配给某进程3页内存,开始时内存为空,页面访问序列如下:65,42,195,4,3,6,5,432,1965(1)假设采用先进先出页面置换算法(FIFO),缺页次数为多少?(2)假设采用最近最少使用页面置换算法(LRU),缺页次数为多少?(3)假设采用最正确页面置换算法算法呢?答:(1):17次(2):17次(3)11次27、有一台计算机含有4个页面,每一页的装入时间,最后一次修改时间以

17、及R与M位的值如下(时间为时钟周期):页装入时间最后访问时间RM012627900123026010212027211316028011(1) NRU应淘汰哪一页(2) FlFo应淘汰哪一页(3) 1.RU应淘汰哪一页(4)第二次时机应淘汰哪一页答:NRU应淘汰第0页FIFO应淘汰第2页1.RU应淘汰第1页第二次时机应淘汰第0页29、何谓系统的“抖动”现象?当系统发生“抖动”时,你认为应该采取什么措施来加以克服?答:在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象为颠簸(或抖动)。颠簸或抖动产生的最主要的原

18、因是页面置换算法不合理,分配给进程的物理页面数太少。可以考虑改良页面的置换算法。另一方面,程序员编写程序的同时,如果能根据机器寻址的特点,来调整访存指令的执行顺序(例如对大矩阵的操作是先行后列还是先列后行,等)也可以防止抖动的发生。30、在虚拟页式存储管理中,进程在内外存中的存放有以下两种方法:(1) 一局部页面放在内存,其余页面放在外存I(2) 一局部页面放在内存,全部页面放在外存;试从系统开销的角度分析两种方法各自的优缺点,并说明页表的差异。答:第一种方法,一局部页面放内存,其余页面放外存,这样在内存中的页面在外存中不存在副本,第二种方法当前需要的页面放在内存中,全部的页面在外存中都有副本

19、,因此第一种方法比第二种方法占据的存储空间小。但是在将页面移出内存的过程中,对于第一种方法,不管要移出的页面是否被修改正,都必须将其写回磁盘;对第二种方法,如果要移出的页面没有被修改正,那么它在磁盘上的副本已经是最新的了,那么不需要写回,调入的页直接覆盖被淘汰的页就行了。因此第二种方法比起第一种方法来,输入输出设备的压力小,调入调出数据和程序段的频率低。因为第一种方法移出页面时不管页面是否被修改正都得将其写回外存,所以页表中不需要有修改位。所以页表差异在第一种方法的页表不需要有修改位,而第二种方法需要有修改位。31、有一个虚拟存储系统采用最近最少使用(LRU)页面置换算法,每个程序占3页内存,

20、其中一页用来存放程序和变量3(不作他用)。每一页可存放150个整数变量。程序A和程序B如下:6JfA:VARCARRAY1.150,1.100OFinteger;iJHnteger;FORi:=lto150DOFORj:=lto100DOCijJ:=O;程序B*VARC:ARRAY1.150,1.100OFinteger;ijnnteger;FORji=Ito100DOFORi:=!to150DOCijJ:=O;设变量ij放在程序页中,初始时,程序及变量ij已在内存,其余两页为空。矩阵C按行序存放。(1)试问当程序A和程序B执行完后,分别缺页多少次?(2)最后留在内存中的各是矩阵C的哪一局部?

21、答(I)100次,10000次(2)程序A运行完后内存两个页面中分别为:第一页:ARRAY148,1到ARRAYA48,100和ARRAYA49,1到ARRAY149,50第二页:ARRAY149,51到ARRAY149,100和ARRAY150,1到ARRAY150,100程序B运行完后内存两个页面中分别为:第一页:ARRAY148,1到ARRAYA48,100和ARRAYA49,1到ARRAY149,50第二页:ARRAY149,51到ARRAY149,100和ARRAY150,1到ARRAY150,10032、某采用页式虚拟存储管理的系统,接收了一个共7页的作业,作业执行时依次访问的页为

22、1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。假设采用最近最少用(LRU)调度算法,作业在得到两块主存空间和四块主存空间时各会产生多少次缺页中断?如果采用先进先出(FIFO)调度算法又会有怎样的结果?(1) 解:(2) 1.RU、两块主存空间:6 2 126 2 125 6 2 1234215234215123421缺页中断18次1.RU、四块主存空间:1.RU:123421页 1:12 3 4 2 1页 2:12 3 4 2页 3:12 3 4页 4:1 1 3 X 2 1 缺页中断10次5 6 2 1 15 6 22 15 64 2 15 2 12 3 7

23、 6 312 3 7 66 12 3 75 6 12 22 32 12 3 63 2 12 36 3 3 1 27 6 6 6 1 2X236(3) FIFO、两块主存空间:LRU: 12342156212 页 1:12 3 4 2 15 6 2 1 1页 2:12342156222 缺页中断18次2 3 61 3 62 1 3 (4) FIFO、四块主存空间:LRU:12342页 1:12344页 2:1233页 3:122页 4:1 1 X 2 缺页中断14次1432115 6 2 125 6 2 114 5 6 2 23 4 5 6 62 3 4 5 5 X 23 7 6 33 7 6

24、613 7 72 13 36 2 11 X 32 1 22 1 16 2 27 6 63 7 73 63 31 12 26 633、比拟各种存储管理方式的特征(包括主存空间的分配方式、是否要有硬件的地址转换机构作支撑、适合单道或多道系统等)、重定位方式、地址转换的实现(操作系统和硬件怎样配合)、存储保护的实现(操作系统和硬件各自做些什么工作)。存储管埋特征重定位方式地址转换过程存储保护主存分配方式硬件地址转换适合系统其他单一用户存储一次性全部连续不必需单道利用率低,不灵活动态或静态根据基地址生成物理地址。静态由软件完成:动态可由硬件提供基地址存放器帮助转换无分区管理固定分区管理按照程序提供的内

25、存需求最大值从已划分好的固定区域中分配不必需多道不能充分利用内存,碎片问题严重,程序大小受到限制动态或静态根据基地址生成物理地址。静态由软件完成:动态可由硬件提供基地址存放器帮助转换通过界限存放器硬件或保护键软件的相应判断,产生越界中断或者保护性中断硬件可变分区管理在装入程序时从空闲区域中划分不必需多道简单易行,利用率较高。缺乏扩充性动态(拼接时)根据基地址生成物理地址。可由硬件提供基地址存放器帮助转换页式存储管理以页面为单位,按用户程序需需要页表始址存放多道有效解决碎片问题,但有动态把逻辑地址分为页号和页内地址,与页表长度保护键软件或扩充求的页数分配,分配空间不一定连续器和长度存放器,也可以

26、增加快表时也会造成空间浪费。存放器比拟,检查越界,根据页表始址存放器得到页表首地址,根据逻辑页号找到内存块号,并且与页内地址拼成物理地址。可以用快表来实现加速。硬件页表,增加存取控制项硬件段式存储管理以段为单位,为每一个逻辑段分配连续的内存空间需要段表始址存放器和长度存放器,也可以增加快衣多道便于动态分配内存,管理和申请统一化,便于共享,动态链接,会有碎片问题动态把逻辑地址分为段号和段内地址,与段表长度存放器比拟,检查越界,根据段衣始址存放器得到段表首地址,根据逻辑段号找到该段起始地址,并且与段内地址拼成物理地址。可以用快表来实现加速硬件越界检查硬件保护键软件或扩充段表,增加存取控制项硬件段页

27、式存储管理以段为单位,为每一个逻辑段按用户程序需求的页数分配,分配空间不一定连续需要段表始址存放器、长度存放器和快表多道方便用户提高利用率,结合段式与页式的优点动态根据段号查找快表,如果找到那么直接获得物理地址,否那么通过段表始址存放器查找段表,根据段号查找页表位置,根据页号在页表中查找内存块号,和页内地址拼接成物理地址,并更新快表硬件越界检查硬件保护键或扩充段表,增加存取控制项硬件虚拟存储管理虚拟页式存储程序运行时不装入全部页面,根据需求动态装入,使用页面置换算法来调换内存中的页面需要在页式根底上增加页号、驻留位、内存块号、外存地址、访问位、修改位多道把内存与外存有机结合起来,扩充了内存的容量,有可能产生抖动动态在地址映射过程中如果访问页面不存在那么产生缺页中断硬件,并根据一定的算法将页面调入内存,如果内存已满,需要将某些页面暂时移出内存。软件越界检查硬件保护键软件或扩充段表,增加存取控制项硬件虚拟段式存储程序运行时不全部装入,根据需求动态装入,以段为单位进行内外村的交换。需要在段式根底上增加特征位、存取权限位、标志位、扩充位多道把内存与外存有机结合起来,扩充了内存的容量,有可能产生抖动动态在地址映射过程中如果访问段不存在那么产生缺段中断硬件,检察系统是否有足够连续空间,如有那么直接装入,否那么尝试使用紧缩技术获得足够连续空间,如果还缺乏那么考虑淘汰一些内存中的不常用段。软件

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

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


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号