考研操作系统内存与虚拟三.docx

上传人:b****5 文档编号:7192975 上传时间:2023-01-21 格式:DOCX 页数:18 大小:26.96KB
下载 相关 举报
考研操作系统内存与虚拟三.docx_第1页
第1页 / 共18页
考研操作系统内存与虚拟三.docx_第2页
第2页 / 共18页
考研操作系统内存与虚拟三.docx_第3页
第3页 / 共18页
考研操作系统内存与虚拟三.docx_第4页
第4页 / 共18页
考研操作系统内存与虚拟三.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

考研操作系统内存与虚拟三.docx

《考研操作系统内存与虚拟三.docx》由会员分享,可在线阅读,更多相关《考研操作系统内存与虚拟三.docx(18页珍藏版)》请在冰豆网上搜索。

考研操作系统内存与虚拟三.docx

考研操作系统内存与虚拟三

考研操作系统-内存与虚拟(三)

(总分:

212.00,做题时间:

90分钟)

一、判断题(总题数:

11,分数:

44.00)

1.页式存储管理中,用户应将自己的程序划分成若干大小相等的页面。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

用户无需将程序划分为页面,这个工作由操作系统自动完成。

判断下面关于存储器管理功能的论述是否正确:

(分数:

8.00)

(1).即使在多道程序设计环境下,用户也能设计用内存物理地址直接访问内存的程序。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

在多道编程时,用户可使用汇编指令或其他特殊指令来分配使用物理内存空间。

(2).为了提高内存保护的灵活性,内存保护通常由软件实现。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

内存保护通常由硬件实现,目的是提高内存访问的效率。

(3).交换技术已不是现代操作系统中常用的一种技术。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

现代的段式或段页式存储管理仍然使用交换技术。

(4).虚拟存储器能在物理上扩充内存容量。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

虚拟存储器并不增加物理上的内存容量,而是增加虚存容量。

2.按最先适应算法分配的分区,一定与作业要求的容量大小最接近。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

该算法是分配第一个能够容纳作业的分区,而这个分区并不一定与作业要求的容量大小最接近。

3.对于请求分页式存储管理系统,若把页面的大小增加一倍,则缺页中断次数会减少一半。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

页面大小的增加可导致缺页次数的减少,但它们之间的数量关系却并不清楚。

4.在一个分页系统中,根据需要,页面的大小可以不相等。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

页面确实可以依据需要进行调整,但一个系统同时使用几种页面尺寸容易导致管理复杂,因此并不常用。

判断以下有关可变分区管理的说法是否正确:

(分数:

8.00)

(1).最差适应算法总是挑选最大的空闲区用于分割,使得剩下的分区仍可使用。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

(2).可变分区管理常采用的内存分配算法包括最先适应、最佳适应和最差适应算法。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

(3).最先适应算法实现简单,但碎片过多使内存空间利用率降低。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

最先适应算法在实际中效果不错,碎片较少。

(4).最佳适应算法是最好的算法,但后到的较大作业很难得到满足。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

最佳适应算法满足大作业的能力不错,但碎片较多。

判断下面关于重定位的说法是否正确:

(分数:

8.00)

(1).绝对地址是内存空间的地址编号。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

绝对地址就是物理内存地址,即内存空间的地址编号。

(2).用户程序中使用的从0地址开始的地址编号是逻辑地址。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

用户编程空间是虚拟地址空间,里面的每个地址都是逻辑地址,编号从0开始。

(3).动态重定位中装入内存的作业仍保持原来的逻辑地址。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

动态重定位装入的作业保持原来的逻辑地址,但在执行时这些逻辑地址需要被转换为内存物理地址才能真正使用。

(4).静态重定位中,地址转换工作是在作业装入过程中完成的。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

静态重定位在装入过程完成地址转换。

判断下面关于分页系统的页面大小的说法是否正确:

(分数:

6.00)

(1).页面大的好处是页表较小。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

页面大可减少虚拟空间的页面数,从而减少页表尺寸。

(2).页面小的好处是可以减少由内部碎片引起的内存浪费。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

内部碎片一般为最后一个页面的一半,页面越小,浪费越小。

(3).通常,影响磁盘访问时间的主要因素不在于页面的大小,所以使用时可优先考虑大的页面。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

磁盘访问时间主要是寻道和旋转时间,与页面大小关系不大。

5.段页式结合了段式和页式的优点,所以段页式的内部碎片和页式的一样少。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

段页式由于一个程序分为多段,而每个段都存在内部碎片,因此其碎片将比页式系统多。

6.可变式分区解决了碎片问题。

(分数:

2.00)

 A.正确

 B.错误 √

解析:

可变式分区通过变换区间的大小,可适当降低碎片问题,但无法从根本上解决碎片问题。

7.可重入代码又称为“纯代码”,是一种允许多个进程同时访问的代码,在执行过程中不允许有任何改变。

(分数:

2.00)

 A.正确 √

 B.错误

解析:

可重入代码就是允许多个进程同时访问的代码。

它必定不能包括数据,否则一个进程改变了数据,则另外的进程就可能不能正确运行。

二、应用题(总题数:

21,分数:

168.00)

8.在某多道程序系统中,供用户使用的内存空间为100KB,磁带机2台,打印机1台。

系统采用可变式分区分配方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入、输出操作的时间忽略不计。

现有一作业序列如下表所示:

作业

到达时间

计算时间min

要求内存KB

申请磁带机数

申请打印机数

1

8:

00

25

15

1

1

2

8:

20

10

30

1

3

8:

20

20

60

1

4

8:

30

20

20

1

5

8:

35

15

10

1

1

假设作业调度采用先来先服务算法,优先分配内存的低地址区域且不准移动已在内存中的作业,试解答如下问题:

(1)作业的调度顺序是什么?

(2)平均周转时间是多少?

(3)作业什么时候全部执行完成?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(1)8:

00作业1首先到达,将获得内存和所需其他资源,即15KB内存、1台打印机、1台磁带机。

20分钟后,作业2、3同时到达,二者中作业2的设备请求不能满足,无法推进。

因此作业3获得所需资源,即60KB内存和1台磁带机。

8:

25时,作业1结束,作业2可以获得其所需的30KB内存和1台打印机,从而往前推进。

8:

30时,作业4到达,但作业2、3仍然在进行,作业4的内存需求不能满足,处于等待状态。

8:

35,作业2结束,作业4可以获得其所需的20KB内存和1台磁带机,往前推进。

此时作业5也到达,其所需资源均能满足,因此也往前推进。

8:

40时,作业3结束。

8:

50,作业5结束,8:

55,作业4结束。

因此,作业调度川页序为:

1、3、2、4、5。

(2)从前面的分析可知,作业1周转时间为25分钟,作业2为15分钟,作业3为20分钟,作业4为25分钟,作业5为15分钟。

平均周转时间为(25+15+20+25+15)/5=20分钟。

(3)从上面的分析可知,作业执行全部结束的时间是8:

55。

解析:

9.在一个请求分页存储管理系统中,容量为1MB的主存被划分为256块,每块大小为4KB。

现有一作业,其页表如下表所示。

页号

块号

状态

0

24

0

1

36

0

2

32

0

3

1

4

1

试问:

(1)若给定逻辑地址为9016(十进制),求其物理地址。

(2)若给定逻辑地址为12300(十进制),其物理地址又如何?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(1)主存分成256块,说明一共能存放256个页面。

每块大小为4KB,说明页内地址所占位数为12位。

而十进制地址9016可以表示为:

10001100111000,也就是页面号为2,页内地址为001100111000(十进制的824)。

从页表可知页面2存放在物理内存的块32。

因此,最后的物理地址为:

32×4KB+824=128KB+824。

(2)若给定逻辑地址为12300,按与

(1)中同样的方法处理可得其页号为3。

从页表可知该页未装入主存,因而产生缺页中断。

随后中断处理程序将该页装入主存,然后进行地址变换。

解析:

10.有一个系统内存容量为1024KB,有8个作业同时到达,各作业需要的内存量和运行时间如下表所示:

作业编号

需要内存量(KB)

运行时间(s)

1

140

3

2

80

1

3

100

3

4

60

2

5

50

1

6

30

3

7

15

2

8

20

3

假定系统初启时,将内存1024KB按作业的编号顺序分给各道作业,系统有足够多的CPU,分配到内存的作业都可以立即运行。

问:

(1)1s后,内存空白区按首次适应和最佳适应算法的链接方式链接,将如何链接?

(2)2s后,其内存空白区按上述两种算法如何链接?

(3)在

(2)后,此时有一个作业9要求进入内存,它需要的内存量为12KB,按上述两种算法,将把哪一块空白区分给它?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(1)由于8个作业同时进入,系统按照作业编号顺序分配内存,所有作业形成一片连续的内存占用空间。

在1s后,作业2和作业5结束,出现两个内存空闲区,如下图所示。

注意上述结果与采用何种适用算法无关。

(2)在2s后,作业4和作业7结束,内存占用和闲置情况如下图所示:

注意上述结果与采用何种适用算法无关。

(3)如果新作业9要进入内存,按照首次适应算法,作业9将进入作业3上面的空闲区,情况如下图所示:

如果采用最佳适应算法,则作业9将进入作业6上面的空闲区,如下图所示:

解析:

11.在一个请求分页管理中,一个程序的页面访问顺序为4,3,2,1,4,3,5,4,3,2,1,5。

系统采用的页面替换算法为LRU页面置换算法。

(1)当分配给程序4个存储块时,求出缺页中断的次数。

(2)当分配给程序5个存储块时,求出缺页中断的次数。

(3)以上结果说明了什么?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(当分配给程序4个存储块时,缺页中断情况如下表所示:

时刻

1

2

3

4

5

6

7

8

9

10

11

12

访问页面

4

3

2

1

4

3

5

4

3

2

1

5

内存页面

4

3

2

1

4

3

5

4

3

2

1

5

4

3

2

1

4

3

5

4

3

2

1

4

3

2

1

4

3

5

4

3

2

4

3

2

1

1

1

5

4

3

缺页

+

+

+

+

+

+

+

+

缺页中断的次数为8次。

(2)当分配给程序5个存储块时,利用LRU页面置换算法缺页中断情况如下表所示:

时刻

1

2

3

4

5

6

7

8

9

10

11

12

访问页面

4

3

2

1

4

3

5

4

3

2

1

5

内存页面

4

3

2

1

4

3

5

4

3

2

1

5

4

3

2

1

4

3

5

4

3

2

1

4

3

2

1

4

3

5

4

3

2

4

3

2

1

1

1

5

4

3

2

2

2

1

5

4

缺页

+

+

+

+

+

缺页中断的次数为5次。

(3)以上结果说明:

采用LRU页面置换算法的情况下,增加主存容量将降低缺页中断的次数。

解析:

12.已知某系统页面长为4KB,页表项为4B,采用多层分页策略映射64位虚拟地址空间,若限定最高层页表占1页,问需要采用几层分页策略?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(根据题意,一个页面有记录4KB/4B=1000个。

64位虚拟地址空间共有页面264/4KB=252个。

最高层页表只有1页,则第2层有1000页,第3层有1000000页,到第6层时有页面1015>252。

因此需要采用6层分页策略。

这个题目也可以这样来解:

由于每层页表的大小都不超过一页,所以每层的页号不超过10位。

由于层数n需要满足不等式10×n+12≥64,所以采用6层。

解析:

13.在请求分页存储管理系统中,设一个作业访问页面的序列为4,3,2,1,4,3,5,4,3,2,1,5。

设分配给该作业的存储空间有4块,且最初未装入任何页。

试计算FIFO和LRU算法的失页率。

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(采用FIFO页面置换算法时,该作业运行时缺页情况如下表所示:

时刻

1

2

3

4

5

6

7

8

9

10

11

12

访问页面

4

3

2

1

4

3

5

4

3

2

1

5

内存页面

4

3

2

1

1

1

5

4

3

2

1

5

4

3

2

2

2

1

5

4

3

2

1

4

3

3

3

2

1

5

4

3

2

4

4

4

3

2

1

5

4

3

缺页

+

+

+

+

+

+

+

+

+

+

从表中可以看出,缺页中断次数为10;失页率为f=10/12=83%。

采用LRU页面置换算法时,该作业运行时缺页情况如下表所示:

时刻

1

2

3

4

5

6

7

8

9

10

11

12

访问页面

4

3

2

1

4

3

5

4

3

2

1

5

内存页面

4

3

2

1

4

3

5

4

3

2

1

5

4

3

2

1

4

3

5

4

3

2

1

4

3

2

1

4

3

5

4

3

2

4

3

2

1

1

1

5

4

3

缺页

+

+

+

+

+

+

+

+

从表中可以看出,缺页中断次数为8,失页率为8/12=67%。

解析:

14.在页式虚拟存储管理系统中,假定驻留集为M个页帧(初始所有页帧均为空),在长为P的引用串中具有Ⅳ个不同页号(N>M),对于FIFO和LRU两种页面替换算法,试求出缺页中断的上限和下限,说明理由。

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(不管采用什么替换算法,由于有N个不同的页面,且初始情况下驻留集为M个页帧均为空,因此缺页的下限都是N。

对于FIFO来说,缺页中断的上限出现在以轮转方式访问所有页面时,则每次访问均产生一个缺页中断,即上限为P。

对于LRU替换算法来说,缺页中断上限出现在每次访问的都是前面M个页面以外的页面时,此时每次访问均产生缺页中断,即上限为P。

解析:

15.一个计算机有Cache和一个用作虚拟内存的磁盘。

若从Cache中读取一个字所用的时间为Ans,从内存中将一个字读入Cache的时间为Bns,从磁盘中将一个字调入内存的时间为Cns。

若在Cache中读取一个字的命中率是(n-1)/n,在内存中读取一个字的命中率是(m-1)/m,则平均访问时间是多少?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(平均访问时间是[(n-1)/n]·A+[(m-1)/m]·B+[1-(n-1)/n-(m-1)/m]·C。

这里假定从内存读入Cache时和从磁盘读入到内存时,数据也同时传给处理器。

解析:

16.有一矩阵varA:

array[1..100,1..100]ofinteger以行为先进行存储。

有一个虚存系统,物理内存共有三页,其中一页用来存放程序,其余两页用于存放数据。

假设程序已在内存中占一页,其余两页空闲。

程序A:

fori:

=1to100do

forj:

=1to100do

A[i,j]:

=0;

程序B:

forj:

=1to100do

fori:

=1to100do

A[i,j]:

=0;

若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页?

若每页只能存放100个整数呢?

以上说明了什么问题?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(有两个内存块可以用来存放数组信息,每个主存块可存放200个数组元素,数组中的元素按行编址。

对于程序A来说,其访问顺序也是按行进行,由于每行有100个元素,每访问两行遇到一次缺页中断。

如果采用FIFO或LRU页面调度算法,一共产生50次缺页中断。

对于程序B来说,其访问顺序按列进行,与数组的按行存储顺序不一致,每访问两个数组元素将发生一次缺页中断。

如果采FIFO或LRU页面调度算法,一共产生5000次缺页中断。

若每页只能存放100个整数,对于程序A,数组的存储顺序与访问顺序一致,每访问一行数组遇到一次缺页中断。

如果采用FIFO或LRU页面调度算法,会产生100次缺页中断。

对于程序B,数组的存储顺序与访问顺序不一致,每访问一个数组元素遇到一次缺页中断。

如果采用FIFO或LRU页面调度算法,一共产生10000次缺页中断。

以上结果说明:

页面越大,缺页中断次数越少;页面越小,缺页中断次数越多。

解析:

17.有5个待运行作业J1、J2、J3、J4、J5,各自预计运行时间分别是9、6、3、5和7。

假定这些作业同时到达,并且在一台处理机上按单道方式执行。

讨论采用哪种调度算法和哪种运行次序将使平均周转时间最短。

平均周转时间为多少?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(按小作业优先算法的平均周转时间最短。

此时作业执行顺序为J3,J4,J2,J5,J1,平均周转时间为:

T=[3+(3+5)+(3+5+6)+(3+5+6+7)+(3+5+6+7+9)]/5=15.2)

解析:

18.设作业的虚拟地址宽度为24位,其中高8位为段号,低16位为段内相对地址。

试问:

(1)一个作业最多可以有多少段?

(2)每段的最大长度为多少字节?

(3)某段式存储管理采用如下段表,试计算[0,430]、[1,50]、[2,30]、[3,70]的主存地址。

其中方括号内的前一元素为段号,后一元素为段内地址。

当无法进行地址变换时,应说明产生何种中断。

段号

段长

主存起始地址

是否在主存

0

600

2100

1

40

2800

2

100

3

80

4000

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(1)一个作业最多可以有28=254个段。

(2)每段的最大长度为216=655365字节=64KB。

(3)逻辑地址[0,430]的主存地址为:

2100+430=2530。

逻辑地址[1,50]的段内地址超过段长,无法进行地址变换,将产生越界中断。

逻辑地址[2,30]所在的第2段没有驻存在内存中,无法进行地址变换,将产生缺段中断。

逻辑地址[3,70]的主存地址为:

4000+70=4070。

解析:

19.某请求页式系统允许用户空间为32个页面(每页1KB),主存为16KB,若一个用户程序有10页长,某时刻该进程的页表如下所示:

虚页号

物理块号

是否在TLB中

0

8

1

7

2

4

3

10

4

5

5

3

6

2

其他

无效

问:

(1)计算虚地址0AC5H、1AC5H对应的物理地址。

(2)页表存放在主存中,对主存的一次存取需要1.5ns,对TLB表的查找时间忽略为0,试问这两次访问共耗费多少时间?

(分数:

8.00)

__________________________________________________________________________________________

正确答案:

(1)32个页面需要用5位来区分,页内地址需要10位。

虚地址0AC5H的页号为2,页内地址为1011000101。

从页表可知,其物理块号为4,因此,其物理地址为1001011000101=12C5H。

虚地址1AC5H的页号为6,页内地址为1011000101。

根据页表可知,该虚地址对应的物理块号为2,其物理地址为101011000101=0AC5H。

(2)第1次访问TLB没有命中,因此需要查找页表,再访问主存一次,总计时间为3ns。

第2个虚地址在TLB中,只需

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

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1