考研操作系统32.docx
《考研操作系统32.docx》由会员分享,可在线阅读,更多相关《考研操作系统32.docx(35页珍藏版)》请在冰豆网上搜索。
考研操作系统32
考研操作系统-3-2
(总分:
172.00,做题时间:
90分钟)
一、{{B}}单项选择题{{/B}}(总题数:
41,分数:
82.00)
1.下列说法正确的有______。
Ⅰ.先进先出(FIFO)页面置换算法会产生Belady现象。
Ⅱ.最近最少使用(LRU)页面置换算法会产生Belady现象。
Ⅲ.在进程运行时,如果它的工作集页面都在虚拟存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。
Ⅳ.在进程运行时,如果它的工作集页面都在主存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。
∙A.Ⅰ、Ⅲ
∙B.Ⅰ、Ⅳ
∙C.Ⅱ、Ⅲ
∙D.Ⅱ、Ⅳ
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]Ⅰ正确,举个例子:
使用先进先出(FIFO)页面置换算法,页面引用串为1、2、3、4、1、2、5、1、2、3、4、5时,当分配3帧时产生9次缺页中断,分配4帧时产生10次缺页中断。
Ⅱ错误,最近最少使用(LRU)页面置换算法没有这样的问题。
Ⅲ错误,Ⅳ正确:
若页面在内存中,不会产生缺页中断,也不会出现页面的调入/调出。
虚拟存储器的说法不正确。
2.在一个请求分页系统中,采用LRU页面置换算法时,加入一个作业的页面走向为:
1,3,2,1,1,3,5,1,3,2,1,5。
当分配给该作业的物理块数分别为3和4时,在访问过程中所发生的缺页率为______。
∙A.25%,33%
∙B.25%,100%
∙C.50%,33%
∙D.50%,75%
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题考查LRU页面置换算法,分析如下。
物理块数为3时,缺页情况见下表。
物理块数为3时的缺页情况
访问串
1
3
2
1
1
3
5
1
3
2
1
5
内存
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
3
3
3
3
3
3
3
5
2
2
2
2
5
5
5
2
2
2
是否缺页
√
√
√
√
√
√
缺页次数为6,缺页率为6/12=50%。
物理块数为4时,缺页情况见下表。
物理块数为4时的缺页情况
访问串
1
3
2
1
1
3
5
1
3
2
1
5
内存
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
5
5
5
5
5
5
是否缺页
√
√
√
√
缺页次数为4,缺页率为4/12=33%。
当分配给作业的物理块数为4时,注意到作业请求页面序列只有4个页面,可以直接得出缺页次数为4,而不需要按表列出缺页情况。
3.有一个矩阵为100行×200列,即a[100][200]。
在一个虚拟系统中,采用LRU算法。
系统分给该进程5个页面来存储数据(不包含程序),设每页可存放200个整数,该程序要对整个数组初始化,数组存储时是按行存放的。
试计算下列两个程序各自的缺页次数(假定所有页都以请求方式调入)______。
程序一:
for(i=0;i<=99;i++)
for(j=0;j<=199;j++)
A[i][j]=i*j;
程序二:
for(i=0;j<=199;j++)
for(i=0;i<=99;i++)
A[i][j]=i*j;
∙A.100,200
∙B.100,20000
∙C.200,100
∙D.20000,100
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题中,矩阵a有100×200=20000个整数,每页存放200个整数,故一页可以存放一行数组元素。
系统分配给进程5个页面存放数据,假设程序已调入内存(因题目中没有提供与程序相关的数据,故可以不考虑程序的调入问题),因此只需考虑矩阵访问时产生的缺页中断次数。
对于程序一,由于矩阵存放是按行存储,本程序对矩阵a的访问也是按行进行的。
因此本程序依次将矩阵a的内容调入内存,每一页只调入一次,每一页都会发生一次缺页中断,因此会产生20000/200=100次缺页中断。
对于程序二,矩阵存放时按行存储,而本程序对矩阵a的访问是按列进行的。
当j=0时,内层循环的执行将访问第一列的所有元素,需要依次将矩阵a的100行调入内存,将产生100次缺页中断。
当j=1时,仍需要依次将矩阵a的100行调入内存(因留在内存中的是第95、96、97、98、99行),仍将产生100次缺页中断。
后续循环,可依次类推。
由此可知,程序二将产生20000次缺页中断。
4.假设页的大小为4KB,页表的每个表项占用4B。
对于一个64位地址空间系统,采用多级页表机制,至少需要______级页表(本题默认字长为1B)。
∙A.3
∙B.4
∙C.5
∙D.6
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]内存中页的大小为4KB,每个页表项占用4B,则每页可以存放1K个页表项地址,采用n级页表可以寻址的地址空间的容量为(1K)n×4KB=210n+12B。
64位地址空间的大小为264B。
为使n级页表可以寻址64位的地址空间,应使下式成立:
210n+12B≥264B。
可解得n的最小值为6。
因此,至少需要用6级页表才能解决64位地址空间的寻址问题。
5.假定有一个请求分页存储管理系统,测得系统各相关设备的利用率为:
CPU为10%,磁盘交换区为99.7%;其他I/O设备为5%。
试问:
下面______措施可能改进CPU的利用率?
Ⅰ.增大内存的容量Ⅱ.增大磁盘交换区的容量
Ⅲ.减少多道程序的度数Ⅳ.增加多道程序的度数
Ⅴ.使用更快速的磁盘交换区Ⅵ.使用更快速的CPU
∙A.Ⅰ、Ⅱ、Ⅲ、Ⅳ
∙B.Ⅰ、Ⅲ
∙C.Ⅱ、Ⅲ、Ⅴ
∙D.Ⅱ、Ⅵ
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题考查分页存储管理的内容。
首先分析题目给出的条件:
CPU和I/O设备占用率较低,而磁盘交换区占用率非常高,说明当前系统频繁缺页,频繁进行页面置换,导致真正执行任务的时间变短,效率变低,系统发生抖动。
要缓解这种情况,需要降低系统缺页率,才能使系统有更多时间来处理任务而不是置换页面,根据这一思路来分析选项。
①Ⅰ正确:
增大内存的容量。
增大内存可使每个程序得到更多的页面,能减少缺页率,因而减少换入换出过程,可提高CPU的利用率。
②Ⅱ错误:
增大磁盘交换区的容量。
因为系统实际已处于频繁的换入换出过程中,增加磁盘交换区容量也不能降低缺页率,因此增大磁盘交换区的容量无用。
③Ⅲ正确:
减少多道程序的度数,可以提高CPU的利用率。
因为从给定的条件中可知,磁盘交换区的利用率为99.7%,说明系统现在已经处于频繁的换入换出过程中,可减少主存中的程序,这样每个进程分配到的内存空间会相对增大,可以有效降低缺页率。
④Ⅳ错误:
增加多道程序的度数。
系统处于频繁的换入换出过程中,再增加主存中的用户进程数,只能导致系统的换入换出更频繁,使性能更差。
⑤Ⅴ错误:
使用更快速的磁盘交换区。
因为系统现在处于频繁的换入换出过程中,即使采用更快的磁盘交换区,其换入换出频率也不会改变。
⑥Ⅵ错误:
使用更快速的CPU。
系统处于频繁的换入换出过程中,CPU处于空闲状态,利用率不高,提高CPU的速度无济于事。
综上分析,Ⅰ、Ⅲ可以改进CPU的利用率。
6.一个页式虚拟存储系统,其并发进程数固定为4个。
最近测试了它的CPU利用率和用于页面交换的利用率,假设得到的结果为下列选项,______说明系统需要增加进程并发数?
Ⅰ.CPU利用率13%;磁盘利用率97%
Ⅱ.CPU利用率97%;磁盘利用率3%
Ⅲ.CPU利用率13%;磁盘利用率3%
∙A.Ⅰ
∙B.Ⅱ
∙C.Ⅲ
∙D.Ⅰ、Ⅲ
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题考查虚拟存储的内容。
题目要求要增加进程并发数,也就是说当前的系统利用率不够高,可以允许更多的进程并发执行。
根据这个推断,只需要找出利用率不高的选项就可以了。
根据上一题可以得知,磁盘利用率越高,表示系统换页越频繁。
如果同时出现磁盘利用率过高和CPU利用率过低,则说明当前系统出现了抖动。
①Ⅰ:
系统CPU利用率很低,但磁盘利用率很高,可以推断系统出现抖动现象。
这时若再增加并发进程数反而会降低系统性能。
页式虚拟存储系统因抖动现象而未能充分发挥功用。
②Ⅱ:
系统CPU利用率很高,磁盘利用率很低,说明缺页现象很少,大部分时间在处理任务,系统性能正常。
此时不需要采取什么措施。
③Ⅲ:
系统CPU利用率和磁盘利用率都很低,表明缺页现象不明显,而且CPU没有充分利用。
此时应该增加并发进程数,提高CPU的利用率。
综上分析,只有Ⅲ需要增加并发进程数。
7.若用8个字(字长32位,且字号从0开始计数)组成的位示图管理内存,用户归还一个块号为100的内存块时,它对应位示图的位置为______(注意:
位号也从0开始)。
∙A.字号为3,位号为5
∙B.字号为4,位号为4
∙C.字号为3,位号为4
∙D.字号为4,位号为5
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题考查位示图的基本计算。
首先求出块号为100在哪一个字号,0~31在字号0,32~63在字号1,64~95在字号2,96~127在字号3,所以块号100在字号3。
之后需要解决的问题就是求出第100块在字号3的哪一位,字号3的第0位是第96块,依次类推,第100块在字号3的第4位。
8.设有8页的逻辑空间,每页有1024B,它们被映射到32块的物理存储区中。
那么,逻辑地址的有效位是______位,物理地址至少是______位。
∙A.10、11
∙B.12、14
∙C.13、15
∙D.14、16
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题需要弄清页大小、页号位数、物理块数、页内偏移地址、逻辑地址位数、物理地址位数之间的联系。
因为8页=23页,所以表示页号的地址有3位,又因为每页有1024B=210B,所以页内偏移地址有10位,所以总共逻辑地址有13位;又因为页面的大小和物理块的大小是一样的,所以每个物理块也是1024B,而内存至少有32块物理块,所以内存大小至少是32×1024B=215B,所以物理地址至少要15位,不然无法访问内存的所有区域。
故选C。
9.总体上说,“按需调页”(Demand-Paging)是个很好的虚拟内存管理策略。
但是,有些程序设计技术并不适合于这种环境。
例如,______。
∙A.堆栈
∙B.线性搜索
∙C.矢量运算
∙D.二分法搜索
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]要使按需调页有效,就要紧紧抓住按需调页被提出的前提,那就是程序运行的局部性原理。
按需调页适合运行的程序是具有局部性现象的程序,也就是最好是对数据进行顺序访问的程序。
对于选项A,堆栈只能在栈顶进行操作,栈底的元素很久都用不着,显然对数据的访问具有局部性。
对于选项B,线性搜索是按顺序搜索下来,显然也具有局部性。
对于选项C,矢量运算就是数组运算,数组存放是连续的,所以数组运算就是邻近的数据的运算,也满足局部性。
最后来看选项D,二分法搜索先查找中间的那个元素,如果没找到,再找前面数过去1/4位置或者倒数1/4位置的那个元素,再这样找下去,显然每次搜寻的元素不都是相邻的,二分法搜索是跳着搜索的,所以不具有局部性,不适合按需调页的环境,所以答案应该选D。
10.考虑页面替换算法,系统有m个页帧(Frame)供调度,初始时全空;引用串(ReferenceString)长度为p,包含了n个不同的页号,无论用什么算法,缺页次数不会少于______。
∙A.m
∙B.p
∙C.n
∙D.min(m,n)
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题考查的知识点是页面置换算法,但考查的角度较为灵活,并非考查页面置换算法的使用,而是讨论置换算法的缺页次数的界限,需要考生深入理解导致页面置换的原因后才能答对。
引用串的长度为p,那么即使每次有页面请求都发生缺页,缺页的次数也是p,所以p是缺页次数的上限。
不同的页号数为n,那么至少每种页号第一次出现的时候内存中不会有这种页号存在,所以每种页号第一次出现的时候必然发生缺页,所以缺页次数的下限是n。
故答案选C。
11.在某页式存储管理系统中,页表内容见下表。
页表内容
页号
块号
0
2
1
1
3
3
4
7
若页面的大小为4KB,则地址转换机构将逻辑地址0转换成的物理地址是______。
∙A.8192
∙B.8193
∙C.2048
∙D.2049
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]本题中页的大小为4KB,从表中可知,每个页存储在一个块中,即每个块大小为4KB。
逻辑地址0对应的页号为0,表中对应的块号为2。
第0块物理地址范围为0~4095;第1块物理地址范围为4096~8191;第2块物理地址范围为8192~12287。
本题易错在逻辑地址、物理地址、块号都是从0开始编址的,而不是1。
12.在请求分页存储管理中,每个页表的表项实际上是用于实现______。
∙A.访问内存单元
∙B.静态重定位
∙C.动态重定位
∙D.装载程序
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]请求分页存储管理的地址重定位方式为动态重定位,这是因为程序的某个页面可能会由于调入调出而在不同时期存储在不同的页框内,因此是动态重定位。
页表项所包含的信息就是逻辑地址到物理地址的映射,因此这里页表项的作用就是实现动态重定位。
13.操作系统中为实现多道程序并发,对内存管理可以有多种方式,其中代价最小的是______。
∙A.分区管理
∙B.分页管理
∙C.分段管理
∙D.段页式管理
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]本题考查实现各种存储管理的方法。
为实现多道程序并发.系统必须将多个程序调入内存,让多个进程竞争CPU和外设,使得计算机能高效地运转。
多个程序调入内存会存在越界、溢出等多种问题。
为解决这些问题,存储管理采用了分区法、分页法、分段法和段页式等多种技术,而实现分页、分段和段页式存储管理都需要特殊的硬件支持(例如带地址加法器的CPU等),因而代价较高。
分区存储是实现多道程序并发的简单易行而代价最小的方法,这种方法特别适合在嵌入式系统或移动设备的操作系统中实现多道程序并发。
14.假定某页式管理系统中,主存为128KB,分成32块,块号为0,1,2,3,…,31;某作业有5块,其页号为0,1,2,3,4,被分别装入主存的3,8,4,6,9块中。
有一逻辑地址为[3,70]。
试求出相应的物理地址(其中方括号中的第一个元素为页号,第二个元素为页内地址,按十进制计算)______。
∙A.14646
∙B.24646
∙C.24576
∙D.34576
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]块大小为128KB/32=4KB,因为块与页面大小相等,所以每页为4KB。
第3页被装入到主存第6块中,故逻辑地址[3,70]对应的物理地址为4K×6+70=24576+70=24646。
其地址变换过程如图所示。
[*]
15.设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048B,内存总共有8个存储块,试问逻辑地址至少为多少位?
内存空间有多大______?
∙A.逻辑地址至少为12位,内存空间有32KB
∙B.逻辑地址至少为12位,内存空间有16KB
∙C.逻辑地址至少为15位,内存空间有32KB
∙D.逻辑地址至少为15位,内存空间有16KB
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]本题中,每页为2048B,所以页内位移部分地址需要占据11个二进制位;逻辑地址空间最大为16页,所以页号部分地址需要占据4个二进制位。
故逻辑地址至少应为15位。
由于内存共有8个存储块,在页内存储管理系统中,存储块大小与页面的大小相等,因此内存空间为16KB。
16.考虑一个分页式存储管理系统,其页表常驻内存。
Ⅰ.如果内存访问耗时200ns,那么访问内存中的数据需要多长时间?
Ⅱ.如果引入关联寄存器(AssociativeRegisters),而且75%的页面可以从关联寄存器中找到,那么此时的有效访问时间(EffectiveMemoryRearenceTime)为多少______?
假设访问关联寄存器的时间可以忽略。
注:
有效访问时间即为平均访问时间。
∙A.200ns,150ns
∙B.400ns,150ns
∙C.400ns,250ns
∙D.600ns,250ns
(分数:
2.00)
A.
B.
C. √
D.
解析:
400ns,其中200ns访问页表,200ns访问内存中的数据。
Ⅱ.有效访问时间=0.75×200ns+0.25×400ns=250ns。
引入关联寄存器之后,直接从关联寄存器中可以找到的页面,只需要一次访问内存,即只需要耗时200ns,其他还是要两次访问,即400ns。
17.假设一个“按需调页”虚拟存储空间,页表由寄存器保存。
在存在空闲页帧的条件下,处理一次缺页的时间是8ms。
如果没有空闲页面,但待换出页面并未更改,处理一次缺页的时间也是8ms。
如果待换出页面已被更改,则需要20ms。
访问一次内存的时间是100ns,假设70%的待换出页面已被更改,请问缺页率不超过______才能保证有效访问时间小于或等于200ns?
∙A.0.6×10-4
∙B.1.2×10-4
∙C.0.6×10-5
∙D.1.2×10-5
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]题目并没有明确当缺页中断时,内存中是否有空闲页帧,所以假设内存总是忙的。
设缺页率为P。
访问内存中页面:
(1-P)×100ns
页面不在内存,但不需要保存待换出页面:
P×(1-70%)×(8ms+100ns)
页面不在内存,但需要保存待换出页面:
P×70%×(20ms+100ns)
所以,有效访问时间=(1-P)×100ns+P×(1-70%)×(8ms+100ns)+P×70%×(20ms+100ns)=200ns,得P=0.6×10-5。
18.存储管理方案中,______可采用覆盖技术。
∙A.单一连续存储管理
∙B.可变分区存储管理
∙C.段式存储管理
∙D.段页式存储管理
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]覆盖技术是早期在单一连续存储管理中使用的扩大存储容量的一种技术。
19.为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是______。
∙A.该程序不应含有过多的I/O操作
∙B.该程序的大小不应超过实际的内存容量
∙C.该程序应具有较好的局部性(Locality)
∙D.该程序的指令相关不应过多
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]虚拟存储器是基于程序的局部性原理的,因此程序的局部性越好,对虚拟存储器的利用就越好。
I/O操作和指令相关的多少与存储器没有直接关系。
虚拟存储器设计的目的主要在于能让系统运行大于内存容量的作业,因此B选项错误。
20.虚拟存储器的最大容量取决于______。
∙A.内外存容量之和
∙B.计算机的地址结构
∙C.是任意的
∙D.作业的地址空间
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]虚拟存储器的最大容量取决于计算机的地址结构,并不是任意的。
例如,计算机是32位系统,则虚拟存储器的最大寻址空间就是232B,也就是虚拟存储器的最大容量。
内外存的大小和作业的地址空间与虚拟存储器的大小没有直接关系,通常内外存的容量之和会小于或等于虚拟存储器的最大容量。
21.对操作系统而言,系统抖动现象的发生是由______引起的。
∙A.置换算法选择不当
∙B.交换的信息量过大
∙C.内存容量不足
∙D.页面大小设置不当
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]首先要明确抖动的概念,抖动是指系统频繁地进行页面置换,导致系统的很多时间和资源都用于置换页面,而不是真正处理数据或计算,这样会造成资源的较大浪费。
通常这种现象产生的原因是页面置换算法选择不当,总是置换出系统即将使用的页面,导致系统很快就要将该页面重新载入内存。
交换的信息量大不会造成系统抖动,如果所交换信息的局部性足够好,甚至一定时间内不会出现页面置换;内存容量不足虽然会造成驻留集较小,但是存在Belady异常,驻留集变大相反可能会导致页面置换次数增加,因此内存容量不足也不是导致抖动的原因;页面大小设置不当也同样不会直接导致抖动现象。
22.在下列存储管理方案中,能实现虚拟存储的是______。
∙A.分区分配
∙B.分页存储管理
∙C.请求分页存储管理
∙D.分段存储管理
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]所有的存储管理方案中,请求分页、请求分段和请求段页式都能够实现虚拟存储,不带请求两字的,都是不能实现虚拟存储的,因为这些方案都不能实现部分载入和按需置换,无法在逻辑上扩充内存。
23.下面关于虚拟存储器的论述中,正确的是______。
∙A.在段页式系统中以段为单位管理用户的逻辑空间,以页为单位管理内存的物理空间,有了虚拟存储器才允许用户使用比内存更大的地址空间
∙B.为了提高请求分页系统中内存的利用率,允许用户使用不同大小的页面
∙C.为了能让更多的作业同时运行,通常只装入10%~30%的作业即启动运行
∙D.最佳置换算法是实现虚拟存储器的常用算法
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]概念题,记住即可。
在段页式系统中,段是用户的逻辑空间,页是内存的物理空间,因为段是用户定义的,而页是系统自动划分的,对于用户是透明的。
每个系统的页面大小是固定的,由系统决定,不允许使用不同大小的页面。
最佳置换算法仅用来对比其他算法,无法实现。
24.在可变分区分配管理中,某一作业完成后,系统收回其内存空间,并与相邻区合并,为此修改空闲区说明表,造成空闲分区数减1的情况是______。
∙A.无上邻空闲分区,也无下邻空闲分区
∙