1、计算机专业基础综合操作系统(存储管理)-试卷 1 及答案解析(总分:62.00,做题时间:90 分钟)一、单项选择题(总题数:18,分数:36.00)1.单项选择题 1-40 小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_2.下列页面置换算法中,可能会产生 Belady 异常现象的是( )。(分数:2.00)A.先进先出算法 FIFOB.最近最少使用算法 LRUC.利用 reference bit 的近似的 LRUD.最优算法 optimall3.下列关于分段存储管理的说法中,错误的是( )。(分数:2.00)A.便于编程B.便于分段共享C.便于内存分配D
2、.能动态链接4.为进程分配连续内存的是( )。(分数:2.00)A.分页存储管理B.分段存储管理C.可变分区管理D.段页式存储管理5.在下面的页面置换算法中,( )只是具有理论意义,但是实现起来很困难。(分数:2.00)A.先进先出置换算法B.最近最久未使用置换算法C.clock 置换算法D.最佳置换算法6.属于内存连续分配方式的是( )。(分数:2.00)A.固定分区分配方式B.分段存储管理方式C.分页存储管理方式D.段页式存储管理方式7.下面关于联想存储器的说法中,不正确的是( )。(分数:2.00)A.联想存储器是为了提高变换速度B.联想存储器是超高速缓存构造成按内容可寻址的存储器C.联
3、想存储器不增加太多的硬件投资D.联想存储器是高速缓存构造成按地址可寻址的存储器8.可变分区管理中的( )算法,空闲区按其大小递增次序组成链。(分数:2.00)A.首次适应B.最佳适应C.下次首次适应D.最坏适应9.在某计算机中采用了多级存储体系,设计有 Cache、主存和磁盘。假设访问 Cache 一个字需要花费10ns,若该字不在 Cache 中但是存在于主存中,那么需要 100 ns 载入 Cache,然后重新开始定位。若该字既不在 Cache 中,也不在主存中,那么需要 10 ms 的时间装入主存,再用 100 ns 复制到 Cache,再开始定位。设 Cache 的命中率为 090,主
4、存的命中率为 075,那么,该系统访问一个字的平均时间是( )。(分数:2.00)A.25 000 nsB.250 023 nsC.250 017 nsD.250 020 ns10.下列关于程序装入内存的说法中,正确的是( )。(分数:2.00)A.由链接程序将用户源代码编译成若干目标模块B.由编译程序将编译后形成的目标模块和所需的库函数链接在一起C.由编译程序将用户源代码编译成若干目标模块D.由链接程序将装入模块装入内存11.程序装入模块的主要方式包括( )。(分数:2.00)A.绝对装入方式B.可重定位方式C.动态运行时装入方式D.以上三者12.下列关于程序装入方式的叙述中,不正确的是(
5、)。(分数:2.00)A.绝对装入方式适用于单道程序环境下B.可重定位方式适用于多道程序环境下C.动态运行时装入方式也适用于多道程序环境下D.可重定位方式适用于单道程序环境下13.在进行程序链接时,应完成的工作是( )。I对相对地址进行修改 变换外部调用符号 首次适应算法 循环首次适应算法(分数:2.00)A.I,B.I,C.I,D.I,14.在动态分区分配方式中,可利用( )分区分配算法。(分数:2.00)A.首次适应算法B.循环首次适应算法C.最佳适应算法D.以上三种15.在动态分区分配方式中,将各空闲分区链接成空闲分区链的说法中,不正确的是( )。(分数:2.00)A.在每个分区的起始地
6、址部分设置一些用于控制分区分配的信息B.在每个分区的起始地址部分设置用于链接各分区的前向指针C.在每个分区的尾部设置一后向指针D.在每个分区的尾部设置一些用于控制分区分配的信息16.要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用( )技术。(分数:2.00)A.动态重定位B.静态重定位C.动态分配D.静态分配17.固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。经划分后分区的个数是固定的,各个分区的大小( )。(分数:2.00)A.是一致的B.都不相同C.可以相同,也可以不相同,要根据作业长度固定D.在划分时确定且长度保持不变18.采用固定分区方式
7、管理主存储器的最大缺点是( )。(分数:2.00)A.不利于存储保护B.主存空间利用率不高C.要有硬件的地址转换机构D.分配算法复杂二、综合应用题(总题数:13,分数:26.00)19.综合应用题 41-47 小题。(分数:2.00)_20.何谓静态链接、装入时动态链接和运行时动态链接?(分数:2.00)_21.引入动态重定位的目的是什么?(分数:2.00)_22.为什么要引入段页式存储管理?说明在段页式存储管理系统中的地址变换过程。(分数:2.00)_23.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?(分数:2.00)_24.有一个程序要把 100x 100 的数组
8、置初值“0”,现假定有两个主存块可用来存放数组中的元素,每个主存块可以存放 200 个数组元素,数组中的元素按行编址。两个主存块的初始状态都为空,若程序编制如下: (1)Var A:array1100of array1100of integer; for j:=1 to 100 do for i:=1 to 100 do Ai,j:=0 (2)Var A:array1100of array1100of integer;for i:=1 to 100 do for j:=1 to 100 do Ai,j:=0 当采用 LRU 页面调度算法时,对上述两种程序编制方法各会产生多少次缺页中断?(分数:
9、2.00)_25.假定某采用页式存储管理的系统中,主存容量为 1 MB,被分成 256 块,块号为 0,1,2,255。现有一个共 4 页(页号为 0、1、2、3)的作业被依次装入到主存的第 2、4、1、5 块中。请问: (1)主存地址应该用多少位来表示? (2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分应占用多少位? (3)把作业中每一页占用的主存块起始地址填入下表。 (分数:2.00)_26.某采用段式存储管理的系统为装入主存的一个作业建立了如下的段表: (分数:2.00)_27.为什么要引入动态分段存储管理?它与请求页式存储管理有什么区别?(分数:2.00)_28.请较详细地说
10、明,引入分段存储管理是为了满足用户哪几方面的需要?(分数:2.00)_29.段页式存储管理方式中如何实现地址变换?(分数:2.00)_30.为什么说分段系统较之分页系统更易于实现信息共享和保护?(分数:2.00)_31.分页和分段有何区别?(分数:2.00)_计算机专业基础综合操作系统(存储管理)-试卷 1 答案解析(总分:62.00,做题时间:90 分钟)一、单项选择题(总题数:18,分数:36.00)1.单项选择题 1-40 小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_解析:2.下列页面置换算法中,可能会产生 Belady 异常现象的是( )。(分数
11、:2.00)A.先进先出算法 FIFO B.最近最少使用算法 LRUC.利用 reference bit 的近似的 LRUD.最优算法 optimall解析:解析:Belady 现象指为进程分配的内存页增加,缺页率反而增加的异常现象。3.下列关于分段存储管理的说法中,错误的是( )。(分数:2.00)A.便于编程B.便于分段共享 C.便于内存分配D.能动态链接解析:4.为进程分配连续内存的是( )。(分数:2.00)A.分页存储管理B.分段存储管理C.可变分区管理 D.段页式存储管理解析:5.在下面的页面置换算法中,( )只是具有理论意义,但是实现起来很困难。(分数:2.00)A.先进先出置换
12、算法B.最近最久未使用置换算法C.clock 置换算法D.最佳置换算法 解析:解析:最佳置换算法是指将以后不再使用或很长时间都不需要使用的页面置换出去。在利用最佳置换算法的过程中,不能够事先预知哪些页面是以后不再使用的,因此只具有理论意义,实现起来很困难。6.属于内存连续分配方式的是( )。(分数:2.00)A.固定分区分配方式 B.分段存储管理方式C.分页存储管理方式D.段页式存储管理方式解析:7.下面关于联想存储器的说法中,不正确的是( )。(分数:2.00)A.联想存储器是为了提高变换速度B.联想存储器是超高速缓存构造成按内容可寻址的存储器C.联想存储器不增加太多的硬件投资D.联想存储器
13、是高速缓存构造成按地址可寻址的存储器 解析:解析:为了加速查找过程,超高速缓存构造成按内容可寻址的存储器,这种结构也称为联想存储器。引入联想存储器是为了提高地址变换速度,且不增加太多的硬件投资。8.可变分区管理中的( )算法,空闲区按其大小递增次序组成链。(分数:2.00)A.首次适应B.最佳适应 C.下次首次适应D.最坏适应解析:解析:可变分区管理中,最佳适应算法是找到能够适应分区的最小的空闲页面,因此需要将空闲区按其大小递增次序组成链,以方便查找。9.在某计算机中采用了多级存储体系,设计有 Cache、主存和磁盘。假设访问 Cache 一个字需要花费10ns,若该字不在 Cache 中但是
14、存在于主存中,那么需要 100 ns 载入 Cache,然后重新开始定位。若该字既不在 Cache 中,也不在主存中,那么需要 10 ms 的时间装入主存,再用 100 ns 复制到 Cache,再开始定位。设 Cache 的命中率为 090,主存的命中率为 075,那么,该系统访问一个字的平均时间是( )。(分数:2.00)A.25 000 nsB.250 023 nsC.250 017 nsD.250 020 ns 解析:解析:本题考查多级存储层次下的平均访问时间。多级存储是现代计算机获得比较优异的存储器访问性能又比较廉价的一种实现方法。正确的计算需要搞清楚 CPU 访问一个字的流程。通常
15、,若需要执行的指令字已经载入到 Cache 中,那么,仅需要从 Cache 中取出放到指令队列上即可,所花费的时间即是Cache 的访问时间。当 Cache 中缺席时,产生中断,调用 Cache 更新程序,将所需的指令字从内存载入Cache,然后返回到中断点继续定位,所需的时间是访问 Cache 的时间和中断服务程序所花费的时间之和。同理,可以推断出访问不在主存中的指令字所需花费的时间是磁盘装入时间与内存中断服务程序时间以及Cache 访问时间的和。根据各自命中率的不同,可以计算出总时间为: 1009+(10+100)07501+(10+100+1010 6 )(1 一 09)(1075)=2
16、50 020 ns10.下列关于程序装入内存的说法中,正确的是( )。(分数:2.00)A.由链接程序将用户源代码编译成若干目标模块B.由编译程序将编译后形成的目标模块和所需的库函数链接在一起C.由编译程序将用户源代码编译成若干目标模块 D.由链接程序将装入模块装入内存解析:解析:首先由编译程序将用户源代码编译成若干目标模块,再由链接程序将编译后形成的目标模块和所需的库函数链接在一起,组成两个装入模块,再由装入程序将装入模块装入内存。11.程序装入模块的主要方式包括( )。(分数:2.00)A.绝对装入方式B.可重定位方式C.动态运行时装入方式D.以上三者 解析:解析:程序装入模块的方式有:绝
17、对装入方式、可重定位方式和动态运行时装入方式。12.下列关于程序装入方式的叙述中,不正确的是( )。(分数:2.00)A.绝对装入方式适用于单道程序环境下B.可重定位方式适用于多道程序环境下C.动态运行时装入方式也适用于多道程序环境下D.可重定位方式适用于单道程序环境下 解析:解析:绝对装入方式适用于单道程序环境下。可重定位方式适用于多道程序环境下。动态运行时装入方式也适用于多道程序环境下。13.在进行程序链接时,应完成的工作是( )。I对相对地址进行修改 变换外部调用符号 首次适应算法 循环首次适应算法(分数:2.00)A.I,B.I, C.I,D.I,解析:解析:在进行程序链接时,应完成对
18、相对地址进行修改和变换外部调用符号。14.在动态分区分配方式中,可利用( )分区分配算法。(分数:2.00)A.首次适应算法B.循环首次适应算法C.最佳适应算法D.以上三种 解析:解析:在动态分区分配过程中,可以利用的分区分配算法包括首次适应算法、循环首次适应算法、最佳适应算法。15.在动态分区分配方式中,将各空闲分区链接成空闲分区链的说法中,不正确的是( )。(分数:2.00)A.在每个分区的起始地址部分设置一些用于控制分区分配的信息B.在每个分区的起始地址部分设置用于链接各分区的前向指针C.在每个分区的尾部设置一后向指针D.在每个分区的尾部设置一些用于控制分区分配的信息 解析:解析:应在每
19、个分区的起始地址部分,设置一些用于控制分区分配的信息以及用于链接各分区的前向指针。在分区尾部则设置一后向指针,通过前、后向指针将所有的分区链接成一个双向链。16.要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用( )技术。(分数:2.00)A.动态重定位 B.静态重定位C.动态分配D.静态分配解析:17.固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。经划分后分区的个数是固定的,各个分区的大小( )。(分数:2.00)A.是一致的B.都不相同C.可以相同,也可以不相同,要根据作业长度固定D.在划分时确定且长度保持不变 解析:18.采用固定分区方式管理
20、主存储器的最大缺点是( )。(分数:2.00)A.不利于存储保护B.主存空间利用率不高 C.要有硬件的地址转换机构D.分配算法复杂解析:二、综合应用题(总题数:13,分数:26.00)19.综合应用题 41-47 小题。(分数:2.00)_解析:20.何谓静态链接、装入时动态链接和运行时动态链接?(分数:2.00)_正确答案:(正确答案:(1)静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方式。 (2)装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式。 (3)运行时的动态链接是将某些目标模块的链接推迟到执行时才进行。)解析:21.引入动态重定位的目的是什么?(
21、分数:2.00)_正确答案:(正确答案:(1)为了在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位。 (2)可在系统中增加一个重定位寄存器,用它来装入(存放)程序在内存中的起始地址,程序在执行时真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位。)解析:22.为什么要引入段页式存储管理?说明在段页式存储管理系统中的地址变换过程。(分数:2.00)_正确答案:(正确答案:(1)为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种方法,设计出了段页式存储管理技术来实现对存储器的管理。 (2
22、)地址变换过程如下: 首先,由段表控制寄存器确定段表在主存中的位置。 其次,将虚地址中的段号和控制寄存器中的段表大小比较,以确保其访问的有效性。 最后,硬件地址转换机构根据虚地址中的段号 S,得到欲访问段在该作业的段表中的表目,并验证存取权限,以确保本次存储访问是允许的。然后,检查分段存在标识(判状态位),如果访问的段在主存,则通过段表找到该段的页表存放地址,再根据虚地址中的页号 P 查页表,找到该页所对应的内存块号与虚地址中的页内地址 d 相加形成物理地址;若访问的分段不在主存,则由硬件产生缺段中断。如果一完整的分段不在主存,则说明该段所有的页面均不在主存,因而也没有相应的页表。操作系统对缺
23、页中断响应后,必须重新构造其页表,并装入一个或多个所需的页面。此时,开始继续执行本次的存储访问。当页表的位置和大小确定后,其存储访问过程如先前描述过的页面系统一样进行。)解析:23.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?(分数:2.00)_正确答案:(正确答案:(1)回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区分配新表项,而只修改前邻接分区的大小。 (2)回收区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大小为两者之和。 (3)回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使
24、用前邻接分区的首址,大小为三区之和,取消后邻接分区的表项。 (4)回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据其首址,插入到空闲链中的适当位置。)解析:24.有一个程序要把 100x 100 的数组置初值“0”,现假定有两个主存块可用来存放数组中的元素,每个主存块可以存放 200 个数组元素,数组中的元素按行编址。两个主存块的初始状态都为空,若程序编制如下: (1)Var A:array1100of array1100of integer; for j:=1 to 100 do for i:=1 to 100 do Ai,j:=0 (2)Var A:a
25、rray1100of array1100of integer;for i:=1 to 100 do for j:=1 to 100 do Ai,j:=0 当采用 LRU 页面调度算法时,对上述两种程序编制方法各会产生多少次缺页中断?(分数:2.00)_正确答案:(正确答案:根据题意,主存块的大小为每块可存放 200 个数组元素,故作业信息也按每页200 个元素来划分。现作业信息是由 100100 的数组元素组成,因而共被分成 50 页。由于作业信息是按行编址的,故每顺序的两行元素在同一页面中,可被同时装到一个主存块中。有两个主存块可供该程序使用,因而程序被装入主存时可把开始两页(共四行元素)的
26、信息分别装入两个主存块。那么,程序执行时若按(1)的编制方法,将对每一列中的各元素顺序清零,即对一列中的元素都清零后再对下一列的元素清零。由于开始两页已被装入主存,所以第一列的四个元素将首先被顺序清零。但当要对第一列的第五个元素清零时却发现该元素不在主存中,因而产生一次缺页中断,按 LRU 调度算法应淘汰最近最少使用的第一页,使腾出的主存空间可用来存放当前需访问的第三页,即装入第五、六两行元素。程序继续执行时每对两个元素初始化后都要产生一次缺页中断,因而对第一列的 100 个元素初始化会产生(502)次缺页中断。对以后的 99 列来说,为对每一列元素初始化都将产生 50 次缺页中断,故(1)的
27、编制方法执行程序时总共会产生(501002)次缺页中断。若按(2)的编制方法,将对一行的元素都清零后再对下一行的元素清零。因而,开始的两页(四行元素)信息先被初始化。当要对第五行元素初始化时将产生缺页中断,按 LRU 调度算法淘汰最近最少用的第一页后可把当前需访问的包含第五、六两行元素的第三页装入主存。程序继续执行时每对两行元素全部初始化后才产生一次缺页中断,因而共会产生 50 一 2 次缺页中断。 因此,程序被装入主存时可把开始两页(四行)装入所分到的主存块中。对于(1)所编制的程序执行时将按列对元素初始化,除对第一列的前四个元素初始化时不会产生缺页中断外,以后每对两个元素初始化时都要产生一
28、次缺页中断,故缺页中断次数为 501002 次。 对于(2)所编制的程序执行时将按行对元素初始化,除对前四行元素初始化时不会产生缺页中断外,以后每对两行元素初始化时都要产生一次缺页中断,故缺页中断次数为 502 次。)解析:25.假定某采用页式存储管理的系统中,主存容量为 1 MB,被分成 256 块,块号为 0,1,2,255。现有一个共 4 页(页号为 0、1、2、3)的作业被依次装入到主存的第 2、4、1、5 块中。请问: (1)主存地址应该用多少位来表示? (2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分应占用多少位? (3)把作业中每一页占用的主存块起始地址填入下表。 (分
29、数:2.00)_正确答案:(正确答案:(1)主存地址应该用 20 位来表示。 (2)作业每一页的长度应为 2 12 =4 096 B,逻辑地址中的页内地址部分应占用 12 位。 (3)作业中每一页占用主存块的起始地址为: )解析:26.某采用段式存储管理的系统为装入主存的一个作业建立了如下的段表: (分数:2.00)_正确答案:(正确答案:段式存储管理支持用户的分段观点,以段为单位进行存储空间的管理。段式存储管理为作业的每一段分配一个连续的主存区域,用来存放各段的信息。段式存储管理要有硬件的地址转换机构作支撑,作业执行时按逻辑地址中的段号查段表得该段在主存中的起始地址,起始地址加段内地址便是当
30、前要访问的绝对地址。为保证信息的安全,这个绝对地址如果在该段的存储区域内则可以访问,否则将产生个地址越界中断来拒绝访问。 本题中,作业访问0,432、1,010、3,400时,由于段内地址均在段长所限制的范围之内,因而绝对地址不会超出该段所占的主存区域,处理器可按绝对地址存取信息。但是,作业访问2,500时段内地址超过了规定的段长 100,因而处理器拒绝为其存取信息。 因此,各次访问时所对应的绝对地址(假设均采用十六进制数表示)如下: )解析:27.为什么要引入动态分段存储管理?它与请求页式存储管理有什么区别?(分数:2.00)_正确答案:(正确答案:(1)一个大的进程可能包含很多个程序模块。
31、对它们进行链接要花费大量的 CPU 时间,而实际执行时则可能只用到其中的一小部分模块。因此,从减少 CPU 开销和减少存储空间浪费的角度来看,静态链接是不合适的,因此引入动态分段存储管理。 (2)它与请求页式存储管理的区别: 第一,分页的作业地址空间是单一的线性地址空间,而分段作业的地址空间是二维的。 第二,页是信息的物理单位,大小固定;段是信息的逻辑单位,其长度不定。 第三,分页管理实现的是单段式虚拟存储系统,而分段存储管理实现的是多段式虚拟存储系统。)解析:28.请较详细地说明,引入分段存储管理是为了满足用户哪几方面的需要?(分数:2.00)_正确答案:(正确答案:(1)方便了编程; (2
32、)实现了分段共享: (3)实现了分段保护; (4)实现了动态链接; (5)实现了动态增长。)解析:29.段页式存储管理方式中如何实现地址变换?(分数:2.00)_正确答案:(正确答案:首先,必须配置一段表寄存器,在其中存放段表始址和段长 TL。进行地址变换时,先利用段号 S,与段长 TL 进行比较,若 STL,表示未越界(若 STL,表示段号太大,访问越界,产生越界中断信号),于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号 P 来获得对应页的页表项位置,从中读出该页所在的物理块号 b,再用块号 b 和页内地址构成物理地址。)解析:
33、30.为什么说分段系统较之分页系统更易于实现信息共享和保护?(分数:2.00)_正确答案:(正确答案:(1)对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项。 (2)对于分段系统,每个段都从 0 开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。)解析:31.分页和分段有何区别?(分数:2.00)_正确答案:(正确答案:(1)共同点是:分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换。 (2)不同点是: 第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要。 第二,页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序。 第三,分页的作业地址空间是一维的,而分段的作业地址空间是二维的。)解析: