您的当前位置:首页习题7答案

习题7答案

2024-04-29 来源:乌哈旅游
1、存储管理的主要功能是什么

解 内存分配、存储保护、地址变换、存储共享、存储扩充

2、什么是地址空间、存储空间、逻辑地址、物理地址

解:1)地址空间:一个程序可以访问的地址是有限的,这个程序可以访问的地址范围我们称为地址空间,或者说是指程序用来访问信息所用的地址单元的集合。

2)存储空间:所谓存储空间是指能够访问的主存的范围。一个数据在主存中的位置称为物理地址或绝对地址。

3)逻辑地址:地址空间单元的编号。 4)物理地址:存储空间单元的编号。

3、采用可变式分区存储管理时,能否实现虚拟存储,为什么

解:不能。可变式分区方式虽然分成程序的大小可以变化,但是要求整个程序都装入内存才能运行,这样无法进行逻辑上扩充内存。

4、可变分区管理有哪几种存储分配算法 解:1)首次适应算法(First-Fit)。这种策略总是从链表的开头开始查找。一旦找到了足够大的、能满足给定的请求的第一个空闲分区,就停止查找。 2)下次适应算法(Next-Fit)。又称为循环首次适应算法。对首次适应算法的一个简单改动就是每次要从上次查找停止的位置开始查找,也就是前次分配后的空闲分区。 3)最佳适应算法(Best-Fit)。这种策略的直观想法是,总是给内存请求者分配最适合它大小的空闲分区,提高内存的利用率。

5、什么是地址重定位有哪几种常用的地址重定位方法 解:由于将作业装入到与其地址空间不一致的存储空间所引起的对有关地址部分的调整过程称为地址重定位。 常用的重定位方法有两种,静态重定位和动态重定位。静态重定位是指在程序运行之前由链接装入程序进行的重定位。动态重定位是在程序运行过程中,通过重定位寄存器来进行地址转换。

6、在某系统中,采用固定分区分配方式,内存分区(单位:字节)情况如下图左所示。现有大小为4KB、18KB、50KB、85KB的多个作业要求进入内存,试画出它们进入内存后的空间分配情况,并说明主存浪费有多大。

解:从图中可以看出该系统共有4个分区,第一个分区的大小为10KB,第二个分区的大小为30KB,第三个分区的大小为80KB,第四个分区的大小为100KB。作业进入系统后的情况如下图右所示。 0KB 0KB

操作系统

30KB 30KB

4Kb的作业 40KB 40KB 18KB的作业 70KB 70KB

50KB的作业

150KB 150KB 256KB

85KB的作业 256KB

从上图右可以看出,作业进入系统后,第一分区剩余空间为6KB,第二分区剩余空间 为12KB,第三分区的剩余空间为30KB,第四分区剩余的空间为21KB。主存共浪费69KB。

7、简述页式存储管理的基本原理及地址转换过程。

解:分页存储管理的原理是:把作业分成大小相的的部分,称为页;把内存分成大小与页的大小相同的分区,称为块。在进行内存分配时,以块为单位,使得作业的多个页可以离散地存放在内存中。

地址转换过程参见教材中图。

8、设有一页式存储管理系统,向用户提供的逻辑地址空间最大为32页,每页1024字节,内存共有8个存储块,试问逻辑地址至少应为多少位内存空间有多大

解:每页1024字节,即210,所以页内偏移量占10位,逻辑地址空间最大为32页,所以页号部分占用5位,因此,逻辑地址应为15位。 内存中有8个存储块,由于分页系统中物理块的大小和逻辑页的大小相同,所以内存空间为8K。

9、试述分页系统和分段系统的主要区别。 解:分页存储管理和分段存储管理的有很多相似之处,也有很多不同,它们的主要区别如下: (1) 页是信息的物理单位,分页的主要目的是减少内存的外碎片,提高内存的利用率。

分页是由于系统管理员的需求,而不是用户的需求。段是信息的逻辑单位,分段的目的是为了程序的完整性,使为了满足用户的需求。

(2) 页的大小是固定的,取决于系统,有系统自动把地址分成页号和块号。段的长度是

不固定的,并且可以不断变化。 (3) 分页的地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符就

可以标识一个地址;分段的地址空间是二维的,程序员在标识一个地址时,即要给出段名,又要给出段内地址。

10、简述虚拟存储器的工作原理。

解:将作业放在磁盘上,当作业装入的时候,只装入部分作业,在作业的执行过程中,当需要访问的信息不在内存,在通过请求调页功能或请求调段功能把需要的信息调入内存。

11、一个32位地址的计算机使用两级页表。虚拟地址被分成9位的顶级页表域,11位的二级页表域和一个偏移量。页面大小是多少在地址空间中一共有多少个页面 解:页面大小为212=4KB,地址空间中一共可以使用的页面是220个。

12、页系统中页表的结构

解:页号、物理块号、外存地址、状态位、访问位、修改位 13、某请求分页存储管理系统中,允许用户编程空间为32个页面(每页1KB),主存为16KB。

如有一个用户的页表如下图所示,则虚地址0AC5H、1AC5H对应的物理地址是多少

页号 0 1 2 3 块号 8 7 4 10 解:每页大小为1KB,则页内地址部分占10个字节,逻辑地址0AC5H转换成二进制是 000010 01,即第二页,存放在第四个物理块中,所以得到的物理地址是 000100 01,即12C5H。 逻辑地址1AC5H转换成二进制为000110 01,即页号为6,从页表中可以看出:第六页还没有调入内存,这时产生一个缺页。

14、有一请求分页存储管理系统,页面大小为每页200字节,有一个50×50的整型数组按行连续存放,每个整数占2个字节,将数组初始化为0的程序描述如下: int a[50][50] int i,j; for(i=0;i<50;i++) for(j=0;j<50;j++) a[i][j]=0; 若在程序执行时,内存中只有一个存储块用来存放数组信息,试问该程序执行时产生多少次缺页中断。

解:由题目可知,该数组中有2500个整数,每个整数占2个字节,共需存储空间5000个字节;而页面大小为200个字节,数组占用25页。即 a[0][0],a[0][1],…,a[0][49],a[1][0],a[1][1],…,a[1][49] 占用一页 a[2][0],a[2][1],…,a[2][49],a[3][0],a[3][1],…,a[3][49] 占用一页

a[48][0],a[48][1],…,a[48][49],a[49][0],a[49][1],…,a[49][49] 占用一页 初始化数组是按行进行的,即第一页初始化完成进行第二页,一直到最后一页,共计25页,所以产生25次缺页中断。

15、常用的页面置换算法有哪些 解1)最优置换算法 当发生缺页时,当前内存中的这几页中,有的页可能以后再也不用了,那么把这个页置换出去是最好的,如果当前内存中的几页都要使用,那么就选择一个最后用到的页并把它置换出去。

2)先进先出置换算法

当发生页面置换时,总是选择当前系统中最早进入内存的那一页并把它置换出去。 3)最近最久未用置换算法 当发生缺页时,系统会选择当前内存页面中没有被使用时间最久的那一页,即最少使用的那一页,并将它置换出去。

16、在一个请求分页存储管理系统中,一个作业的页面走向是4、3、2、1、4、3、5、2、3、2、1、5,当分配给该作业的物理块数分别为3、4时,试计算采用下述页面淘汰算法时的缺

页率(假设开始时内存中没有页面),并比较所得结果。

1) 最优页面置换算法 2) 先进先出置换算法 3) 最近最少使用置换算法

解1)根据页面走向,使用最优置换算法时,页面置换情况如下:

页面走向 1 2 3 缺页

页面走向 1 2 3 4 缺页 4 4 Y 3 4 3 Y 2 4 3 2 Y 1 4 3 1 Y 4 3 5 5 3 1 Y 2 2 3 1 Y 3 2 1 5 5 3 1 Y 缺页率为7/12。 4 4 Y 3 4 3 Y 2 4 3 2 Y 1 4 3 2 1 Y 4 3 5 5 3 2 1 Y 2 3 2 1 5 缺页率为5/12。 2)使用先进先出置换算法,页面置换情况如下: 页面走向 1 2 3 缺页

缺页率为9/12 页面走向 1 2 3 4 缺页 4 4 Y 3 3 4 Y 2 2 3 4 Y 1 1 2 3 4 Y 4 3 5 5 1 2 3 Y 2 3 2 1 5 4 4 Y 3 3 4 Y 2 2 3 4 Y 1 1 2 3 Y 4 4 1 2 Y 3 3 4 1 Y 5 5 3 4 Y 2 2 5 3 Y 3 2 1 1 2 5 Y 5 缺页率为5/12。

3)最近最久未用置换算法,页面置换情况如下: 页面走向 1 2 3 4 4 3 3 4 2 2 3 4 1 1 2 3 4 4 1 2 3 3 4 1 5 5 3 4 2 2 5 3 3 3 2 5 2 2 3 5 1 1 2 3 5 5 1 2 缺页

页面走向 1 2 3 4 缺页 Y Y Y Y Y Y Y Y Y Y 缺页率为10/12。 4 4 Y 3 3 4 Y 2 2 3 4 Y 1 1 2 3 4 Y 4 4 1 2 3 3 3 4 1 2 5 5 3 4 1 Y 2 2 5 3 4 Y 3 3 2 5 4 2 2 3 5 4 1 1 2 3 5 Y 5 5 1 2 3 缺页率为7/12 由上述结果可以看出,增加物理块数,可以降低缺页率。

17、下面的引用串:1、2、3、4、1、2、5、1、2、3、4、5, 对范围从1~6的页框,使用FIFO页面置换算法,确定其产生的缺页数目。画图表示缺页次数和页框数的关系,以说明Belady异常。 解

页面走向 1 缺页

缺页12次 页面走向 1 2 缺页

缺页12次 页面走向 1 2 3 缺页

缺页9次 页面走向 1 2 3 4 缺页

缺页10次 页面1 2 3 4 1 2 5 1 2 3 4 5 1 1 Y 2 2 1 Y 3 3 2 1 Y 4 4 3 2 1 Y 1 2 5 5 4 3 2 Y 1 1 5 4 3 Y 2 2 1 5 4 Y 3 3 2 1 5 Y 4 4 3 2 1 Y 5 5 4 3 2 Y 1 1 Y 2 2 1 Y 3 3 2 1 Y 4 4 3 2 Y 1 1 4 3 Y 2 2 1 4 Y 5 5 2 1 Y 1 2 3 3 5 2 Y 4 4 3 5 Y 5 1 1 Y 2 2 1 Y 3 3 2 Y 4 4 3 Y 1 1 4 Y 2 2 1 Y 5 5 2 Y 1 1 5 Y 2 2 1 Y 3 3 2 Y 4 4 3 Y 5 5 4 Y 1 1 Y 2 2 Y 3 3 Y 4 4 Y 1 1 Y 2 2 Y 5 3 Y 1 1 Y 2 2 Y 3 3 Y 4 4 Y 5 5 Y 走向 1 2 3 4 5 缺页

缺页5次 页面走向 1 2 3 4 5 6 缺页 1 1 Y 2 2 1 Y 3 3 2 1 Y 4 4 3 2 1 Y 1 2 5 5 4 3 2 1 Y 1 2 3 4 5 1 Y 2 1 Y 3 2 1 Y 4 3 2 1 Y 5 4 3 2 1 Y 缺页5次

18、在虚拟页式存储管理中,影响缺页率的因素有哪些 解1)分配给进程的物理块数。 2)页面大小 3)程序本身结构

4)页面淘汰算法的选择

19、什么是虚拟页式存储管理中的抖动问题,造成抖动问题的因素有哪些 在虚拟页式存储管理的页面置换算时,如果频繁的发生缺页中断称为系统抖动。造成抖动的原因有:

1) 分配的物理块太少; 2) 调度算法选择不当

因篇幅问题不能全部显示,请点此查看更多更全内容