操作系统第5章作业答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

赵盈盈 2011210593 第五章作业

1. 存储管理的功能及目的是什么?

答:存储管理功能:

内存分配与管理。(1)记住每个存储区域的状态。(2)实施分配。分配方式有两种:静态

分配与动态分配(3)回收。

内存共享。共享的信息包括:代码共享(纯代码),数据共享

存储保护。存储保护内容有:保护系统程序区不受用户有意无意的侵犯;不允许用户程序写不属于自己地址空间的数据。(1)以防止地址越界;(2)以防止操作越权“扩充”内存容量。具体实现是在硬件支持下,软件硬件相互协作,将内存与外存结合起来统一使用。

地址映射。也称作重定位。将逻辑地址转换成物理地址。有两种方法:静态地址映射,动态地址映射。

存储管理目的:

充分利用内存,为多道程序并发执行提供存储基础;

尽可能方便用户使用;

解决程序空间比实际内存空间大的问题;

程序在执行时可以动态伸缩;

内存存取速度快;

存储保护与安全;

共享与通信;

了解有关资源的使用状况;

实现的性能和代价;

2. 什么是逻辑地址?什么是物理地址?为什么要进行二者的转换工作?

答:逻辑地址:就是cpu逻辑段管理内存而形成的地址。

物理地址:就是程序或数据在内存中的实际地址,即内存单元的地址,也就是被装入内存的内存地址寄存器的地址。

转换原因:当程序装入内存时,操作系统要为之分配一个合适的内存空间,由于程序逻辑地址与所分配到的内存物理地址编号不一致,而cpu执行指令时是按物理地址进行的,

所以要进行地址转换。

3. 什么是动态地址重定位?试用图画出动态地址重定位的过程。

答:动态地址重定位就是指动态地址映射。是地址映射的一种方式。它是在程序执行过程中要访

内存空间

4. 在分区分配方案中,回收一个分区时有几种不同的邻接情况,在各种情况下应如何处理? 答:有四种:上邻,下邻,上下相邻,上下不相邻。

(1)回收分区的上邻分区是空闲的,需要将两个相邻的空闲区合并成一个更大的空闲区,然后修改空闲区表。

(2)回收分区的下邻分区是空闲的,需要将两个相邻的空闲区合并成一个更大的空闲区,然后修改空闲区表。

(3)回收分区的上、下邻分区都是空闲的,需要将三个空闲区合并成一个更大的空闲区,然后修改空闲区表、

(4)回收分区的上、下邻分区都不是空闲的,则直接将空闲区记录在空闲区表中。

5. 如图1所示,主存中有两个空白区。现有这样一个作业序列:

作业1 要求 50KB ;

作业2 要求 60KB ;

作业3 要求 70KB 。

若用首次适应算法和最佳适应算法和最差适应算法分别来处理这个作业序列,试问哪一种算法可以分配得下,为什么?

答:(1)首次适应算法:原状态作业1→加入作业2→作业3

首先把120>50KB,分出50给作业1.出现空闲区70KB

其次,给作业二找空闲区刚出来的空闲区70KB>60KB,给作业二60KB ,新出现10KB 空闲区 最后给作业三找空闲区,10KB<70KB ,78KB 分给作业三70KB ,先出现空闲区8KB 。

此算法分配得下。最后状态如图(1)

(2)最佳适应算法:原状态作业1→加入作业2→作业3

首先,找到满足作业一的最小空间78KB>58KB ,分出50KB 给作业一;出现新空闲区28KB 。 其次,为作业二找空闲区,28KB<60KB 不满足作业二,另一空闲区120KB>60KB,分出60KB 给作业二,出现新空闲区60KB 。

最后,为作业三找空闲区,此时两个空闲区28KB<70KB,60KB<70KB,都无法满足作业三需求。 所以该算法不下。最后状态如图(2)。

(3)最差适应算法:原状态作业1→加入作业2→作业3

首先,为作业一找空闲区,最大的120KB>50KB,分割出50KB 给作业一,产生新的空闲区70KB ; 其次,作业二找空闲区,此时78KB>70KB ,为最大的空心区,从78KB 中分割出60KB 给作业二,产生新的空闲区18KB ;

最后,为作业三找空闲区,此时最大空闲区70KB 正好等于作业三大小。分配给作业三。最终剩下一个空闲区18KB 。该算法分配得下。最总状态如图(3)

5250KB 图1

0 1KB 2KB 3KB 4KB-1

图2

图(1)首次适应算法 图(2)最佳适应算法 图(3)最差适应算法

6. 已知主存有256KB 容量,其中OS 占用低纸20GB ,可以有这样的一作业序列:

作业1 要求 80KB ;

作业2 要求 16KB ;

作业3 要求 140KB ;

作业1 完成;

作业3 完成;

作业4 要求 80KB ;

作业5 要求 120KB 。

试用首次适应算法和最佳适应算法和最差适应算法分别处理上述作业序列(在序储分配时,从空白区高址处分割作为已分配区),并完成以下各步:

(1)画出作业1、2、3进入主存后,主存的分配情况。

1)所示

图(2)

(2)作业1、3完成后,画出主存分配情况。

答:分配情况如上图(2)所示。

(3)画出两种算法中空白区的分区描述器信息(假定分区描述器所需占用的字节数已包含在作业所要求的主存容量中)及空白链接情况。

答:1.首次适应算法空白描述信息和空白区链接情况:

(4)哪种算法对该作业序列而言是适合的?

答:作业一和作业三完成之后按三种适应算法分配内存情况如下:

1、首次适应算法:作业三释放的空白区80KB,作业一释放空白区140KB。

为作业四找空白区,从140KB分割出80KB给作业四,产生新的空白区60KB,

为作业五找空白区,剩下两个空白区都小于120KB,所以无法满足作业五要求,所以该算

法分配不下。

2、最佳适应算法:作业三释放的空白区80KB,作业一释放空白区140KB。

为作业四找空白区,从80KB分割出60KB给作业四,产生新的空白区20KB,

为作业五找空白区,20KB<120KB,140KB可以,从中分割出120KB给作业五,产生新的

空白区20KB。所以该算法是合适的。

3、最差适应算法:作业三释放的空白区80KB,作业一释放空白区140KB。

为作业四找空白区,从最大的空白区140KB分割出80KB给作业四,产生新的空白区60KB,

为作业五找空白区,剩下两个空白区都小于120KB,所以无法满足作业五要求,所以该算

法分配不下。

所以对该体而言,最好的算法是最佳适应算法

7. 已知主存容量为64K,某一作业A的地址空间如图2所示,它的4个页面(页面大小为1)0、1、2、3被分配到主存的2、4、6、7块中,要求并回答。

(1)画出作业A的页映像表。

(2)当200号单元处有一条指令“mov r1,[3500]”执行时,如何进行正确的地址变换以使3500处的内容12345装入r1中?

答:3500/1024=3 所以在逻辑第三页。3500%1024=428,所以页内偏移地址为428。

查看页表,第三页对应内存块号为7.所以对应内存首地址即物理地址为7*1024+428=7596

8. 什么是虚拟存储器?在页式系统中如何实现虚拟存储?

答:虚拟存储器是指:把内存与外存结合起来使用,从而得到一个容量很大的、速度足够快的“内存”,这就是虚拟存储器,简称虚存。

页式系统实现虚存的工作原理:在进程开始之前,不是装入全部页面,二十装入一个或零个界面,之后根据进程运行的需要,动态装入其他页面;当内存空间已满,而有需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。

9.如果主存中的某页正在与外部设备交换信息,缺页中断时可以将这一页淘汰吗?为了实现正确的页面调度,应如何扩充页表的功能?

答:不可以。在使用虚拟页式存储管理时需要在页表中增加一些内容,得到页表内容为:页号、驻留位、内存块号、外存地址、访问位、修改位。其中驻留位,又称中断位,表示该页是在内存还

相关文档
最新文档