操作系统第5章作业答案教学内容

  • 格式:doc
  • 大小:70.50 KB
  • 文档页数:13

操作系统第5章作业答案 精品资料

仅供学习与交流,如有侵权请联系网站删除 谢谢2 赵盈盈 2011210593 第五章作业

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

答:存储管理功能:

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

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

存储保护。存储保护内容有:保护系统程序区不受用户有意无意的侵犯;不允许用户程序写不属于自己地址空间的数据。(1)以防止地址越界;(2)以防止操作越权

“扩充”内存容量。具体实现是在硬件支持下,软件硬件相互协作,将内存与外存结合起来统一使用。

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

存储管理目的:

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

尽可能方便用户使用;

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

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

内存存取速度快;

存储保护与安全;

共享与通信;

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

仅供学习与交流,如有侵权请联系网站删除 谢谢3 实现的性能和代价;

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

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

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

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

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

答:动态地址重定位就是指动态地址映射。是地址映射的一种方式。它是在程序执行过程中要访问数据时在进行地址映射,即逐条指令执行时完成地址映射。

0

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

答:有四种:上邻,下邻,上下相邻,上下不相邻。

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

LOAD

1500

3333

LOAD 1500

3333

500 有效地址

+ 1000 0

1000

1500

1800 80内存空间 5010精品资料

仅供学习与交流,如有侵权请联系网站删除 谢谢4 (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。 120KB

78KB 0

50KB

250KB

图1 mov r1, [3500]

12345 0

1KB

2KB

3KB

4KB-1

图2 精品资料

仅供学习与交流,如有侵权请联系网站删除 谢谢5 此算法分配得下。最后状态如图(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)

作业二(60KB)

空闲区60KB

作业一(50KB

空闲区28KB

作业一(50KB)

作业三(70KB)

作业二(60KB) 精品资料

仅供学习与交流,如有侵权请联系网站删除 谢谢6

作业一(50KB)

作业二(60KB)

空闲区10KB

作业三70KB

空闲区8KB

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

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

作业1 要求 80KB;

作业2 要求 16KB;

作业3 要求 140KB;

作业1 完成;

作业3 完成;

作业4 要求 80KB;

作业5 要求 120KB。

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

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

答:(1) 首次适应算法、最佳适应算法、最差适应算法的分配方式都如下图(1)所示 空闲区18KB

0KB 0KB 精品资料

仅供学习与交流,如有侵权请联系网站删除 谢谢7 OS(20KB)

作业二(16KB)

图(1) 图(2)

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

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

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

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

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

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

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

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

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

法分配不下。

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

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

作业三(80KB)

作业二(16KB)

作业一(140KB) 19KB

160KB 176KB

225KB 19KB

160KB

176KB

225KB 精品资料

仅供学习与交流,如有侵权请联系网站删除 谢谢8 为作业五找空白区,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。 内存块号

2

4

6

7 逻辑页 0

1

2

3