操作系统练习题(3)第四章存储管理

第四章 存储管理
本章学习要点
【1】掌握存储管理的相关概念
【2】掌握操作系统的分区存储管理方法
【3】深入领会分页和分段存储管理方法
【4】深入领会虚拟存储管理方法
本章学习难点
【1】分页与分段地址映射
【2】虚拟存储管理

习题分析
一.判断改错题(判断由下划线标明的关键词的叙述是否正确,正确的打√,错误的打×并改正。)
1.进行程序的相对地址到物理地址的转换,就是地址重定位。( )
2.在分页管理中所产生的内存碎片,最多小于帧的大小。( )
3.段页式存储管理是通过请求调入和替换功能,对内外存进行统一管理,为用户提供了比实际内存容量大的多的物理存储空间。( )
4.请求页式存贮管理中,若一个作业要求的全部存贮需求不能满足,该作业只能等待。 ( )
5.碎片的总容量如果超过某个作业申请的容量,就可以将其再次分配给该作业。( )
6.最佳适应法将能满足作业需求量的最小空闲区分配给作业。( )
7.相对于简单分页管理来说,请求页式管理是“用时间换取了空间”,这是该种管理方式的一个缺点。( )
8.段式管理便于处理动态变化的数据结构,便于动态链接,便于分段共享。( )
9.请求分页管理过程中,作业地址空间同样受到内存容量大小的限制。( )
10.分区管理取消了存储分配连续性要求,使一个作业的地址空间在内存中可以是若干个不一定连续的区域。( )
11.静态分配是指在目标程序运行之前完成的存储分配。例如分区管理和分页管理。( )
12.分页管理中,作业地址空间是一维的,页的长度是等长的。( )
习题解答:
1.对;
2.对;
3.错;应为:段页式存储管理是段式和页式管理方法的结合,两者优势互补。
4.错;应为:……若一个作业所要求的全部存储不能满足,该作业也可运行。
5.错;应为:……,经拼接后就可以将其分配给该作业。
6.对;
7.对;
8.对;
9.错;应为:请求分页管理过程中,作业地址空间不受内存容量大小的限制。
10.错;应为:分页管理取消了存储分配继续性要求,使一个作业的地址空间在内存中可以是若干个不一定连续的区域。
11.错;应为:……。例如分区管理和简单分页管理。
12.对。

二.填空题
1.源程序经过 产生相对目标程序,运行时,必须经过 将相对目标程序装入内存,并实现相对地址到 的转换。
2.分页管理的主要任务之一是实现 到 的内存地址映像。
3.固定式和可变式分区的存储管理中,寻找空闲区一般采用: 、 和 等分配算法。
4.分页管理中,每存取一个数据,要访问两次内存,第一次访问内存中的 ,得到数据的 。第二次根据所得内容,从内存中取出 。
5.在分段管理中,系统为每个运行的作业建立一个 ,其内容主要包括 、 、 和状态标志。
6.系统是通过 、 和 来实现动态分页管理的,分别用以解决何时把作业需要的信息按 从外存调入内存;内存中无空闲页框,如何将已占据的页框释放;完成虚拟地址变换为对应的物理地址。
7.内存扩充的概念有两种,一种是在物理上进行扩充,为系统增配更多的存储芯片,以扩大 ;另一种是利用目前机器中实际内存空间,借助软件技术,实现内存扩充,称为 ,主要技术有 和 两种。
8.当程序经过 以后,形成了一种由机器指令组成的集合,被称为 。它的指令顺序都是以0作为一个参考地址,这种地址被称为 ,地址的集合被称为 。
9.在虚拟段式存储管理中,若逻辑地址的段内地址大于段表中该段的段长,则发生 。
10.在分段管理的地址变换过程中,若执行某条指令,首先要找到该作业段表的 ,然后根据逻辑地址中的段号去查找 ,得到该段的 , 其值与段内位移量 ,得到 。
习题解答:
1.编译或汇编,地址重定位,物理地址;
2.逻辑页号,物理块号;
3.首次适应、最佳适应、最差适应;
4.页表,物理地址,数据;
5.段表,段号,段长,内存起始地址;
6.调入策略,替换策略,地址变换,一定规则;
7.物理空间,虚拟,分页请求系统,请求分段系统;
8.编译,目标程序,逻辑地址,地址空间;
9.越界中断;
10.始址,段表项,内存中的物理始址,相加,操作的实际地址。

三.简答题
1.简述存储管理主要解决的问题。
答:存储分配——记录存储器的使用情况,响应存储器申请,根据分配策略分配内存,使用完毕回收内存。
地址变换——进行程序的相对地址到物理地址的转换,即地址的重定位。
存储扩充(虚拟地址)——采用某种技术,逻辑上扩充内存。
存储保护——多道程序共享内存空间,每个程序有单独的内存区,互不干扰。

2.简述可变分区存储器管理分配策略中的最先适应算法。
答:首次适应算法FF——优先分配内存中低址部分的空闲区。空闲链表按地址递增的次序链接,当进程申请分区时,从空闲链头开始查找,查找到第一块能满足要求的空闲块,就进行分配。可保留高址大空闲区以适应大作业的分配。

3.试解释动态分区的最佳适应算法。
答:最佳适应算法BF要求空闲链表按空闲块大小递增的次序链接,进行内存分配时,从链首开始顺序查找,直到找到一个能满足其大小要求的空闲区为止,该方法总是优先分配内存中最小的空闲区。可保留大空闲区。

4.简述可变式分区管理的分配策略。
答:可变式分区管理的分配策略有:
1)首次适应算法——选择起始地址最低且能满足用户要求大小的空闲区分配。
2)循环适应算法——从上次分配的空闲区的下一个空闲区开始,选择起始地址最低且能满足用户要求大小的空闲区进行分配。
3)最佳适应算法——选择既能满足要求,又是最小的空闲区分配。
4)最坏适应算法——选择最大的空闲区分配。

5.为什么要做“重定位”?何谓静态重定位和动态重定位?
答:当程序经过编译或者汇编后,形成目标程序的指令的顺序都以0作为一个参考地址,要把以0为相对地址的目标程序装入一个以某个地址为起点的用户存储区,需要进行一个地址的对应转换,即地址重定位。静态重定位是在目标程序装入指定内存区的时候,由装配程序在程序执行之前完成地址转换。动态重定位是在目标程序执行过程中,在CPU访问内存之前,由地址映射机构来完成的将指令或数据的相对地址转换为物理地址过程。

6.各种存储管理方式对作业地址空间连续性有何要求?
答:分区管理要求给每个作业分配一个地址连续的存储空间;分页管理取消了存储分配的连续性要求,使一个作业的地址空间在内存中可以使用若干个不一定连续的区域;分段管理每段使用一个连续的存储区,各段之间的内存区不一定连续。

7.页和段有什么不同?
答:(1)页是信息的物理单位,分页是由于系统管理的需要,消除外零头,提高内存的利用率;段是信息的逻辑单位,分段是为了更好的满足用户的需要;
(2)页的大小固定由系统确定,硬件实现;段长可变,决定于用户所编写的程序,根据信息的性质来划分;
(3)分页的地址空间是一维的,分段的地址空间是二维的。

8.常用的页面调度算法有哪几种?
答:最佳置换算法——选择永不使用或最长时间内不再被访问的页面淘汰。
先进先出算法——选择在内存中驻留时间最旧的页面予以淘汰。
最近最久未使用算法LRU——选择最近最久未使用的页面淘汰。
CLOCK算法——每页设置一个访问位,所有页面通过链接指针链成一个循环队列,循环检查各页面的使用情况进行选择淘汰。是LRU近似的算法。

9.何谓页表和快表?它们各起什么作用?
答:系统为每个进程建立的一张从逻辑页号到物理块号的映射表,称为页表;页表指出逻辑地址中页号与所占主存块号的对应关系,实现地址变换。为了提高地址变换速度,在地址变换机构中,增设一个具有并行查询能力的特殊高速缓冲存储器,称为快表。

10.在请求分页系统中,页表包含的内容有哪些?分别有何作用?
答:请求分页系统中,页表包含页号、物理块号、存在位、访问位、修改位和外存地址。页号和物理块号实现逻辑地址和物理地址的变换;存在位用于指示该页是否已调入内存,供程序访问时参考;访问位用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考;修改位表示该页调入内存后是否被修改过,供置换算法选择换出页面时参考以及外存保留最新副本;外存地址指出该页在外存上的地址,供调入该页时使用。

11.虚拟存储也是一种内存扩充技术,它与覆盖、交换技术有何不同?
答:覆盖——让作业中不同时调用的子模块共同使用同一内存区。当运行过程中调用不在内存中的一个模块时,由外存调入并且将原来已经运行完成的程序模块覆盖掉,即装入同一存储区域。覆盖技术由操作系统自动完成,但要求作业中各模块要有明确的调用结构。
对换——把内存中暂不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的程序和数据,换入内存。
虚拟存储是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。

12.简述虚拟存储器的特征。
答:离散性:每进程的地址空间是离散的存在于内存中的。
多次性:每进程分为多个段,分多次调入内存的。
对换性:内存里的数据可与磁盘上的数据调换运行。
虚拟性:使得逻辑上可利用的内存空间大大超过了实际的物理内存空间。

13.请求页式管理常用的替换策略有哪些?
答:请求页式管理常用的替换策略有:先进先出算法、最近最久未使用、CLOCK置换算法、最少使用算法、页面缓冲算法等。

14.简述段页式管理方式的优点。
答:段页式管理将分段和分页两种存储管理方式结合起来,双方优势互补,既方便用户,又提高内存利用率。
(1)具有便于实现,分段可共享,易于保护,可动态链接的优点;
(2)很好地解决外部碎片问题,以及为各个分段可离散地分配内存等优点。

15.在分页、分段和段页式存储管理中,访问一条指令或数据时,需要访问内存几次?各作什么处理?
答:分页系统——每取一个数据,要访问两次内存,第一次是访问内存中的页表,得到数据的物理地址,第二次根据得到的地址,从内存中取数据。
分段系统——每取一个数据,要访问两次内存,第一次是访问内存中的段表,得到数据的物理地址,第二次根据得到的地址,从内存中取数据。
段页式系统——每取一个数据,要访问三次内存,第一次是访问内存中的段表,得到该段对应的页表始址,第二次访问页表,得到数据的物理地址,第三次根据得到的地址,从内存中取数据。

四.应用题
1.请求分页系统中,设某进程共有9个页,分配给该进程的主存块数为5(即工作集为5),进程运行时,实际访问页面的次序是0,1,2,3,4,5,0,2,1,8,5,2,7,6,0,1,2。试求:
(1) FIFO页面调度算法,列出其页面淘汰次序和缺页中断次数,以及最后留驻主存的页号顺序。
(2) LRU页面调度算法,列出其页面淘汰次序和缺页中断次数,以及最后留驻主存的页号顺序。
(3) CLOCK页面调度算法,列出其页面淘汰次序和缺页中断次数,以及最后留驻主存的页号顺序。
(4) 最优OPT页面调度算法,列出页面淘汰次序和缺页中断次数,以及最后留驻主存的页号顺序。

【解答】(1) 采用FIFO页面调度算法
访问序列 0 1 2 3 4 5 0 2 1 8 5 2 7 6 0 1 2
内存块1 0 0 0 0 0 5 5 5 5 5 5 5 7 7 7 7 7
内存块2 1 1 1 1 1 0 0 0 0 0 0 0 6 6 6 6
内存块3 2 2 2 2 2 2 1 1 1 1 1 1 0 0 0
内存块4 3 3 3 3 3 3 8 8 8 8 8 8 1 1
内存块5 4 4 4 4 4 4 4 2 2 2 2 2 2
淘汰的页 √ √ √ √ √ 0 1 2 3 4 5 0 1 8

因此,页面淘汰顺序为0、1、2、3、4、5、0、1、8,缺页中断次数为14次。最后留驻主存的页号顺序为7、6、0、1、2。

(2) 采用LRU页面调度算法(因要列出最后的页号顺序,故没采用页号队列演算)
访问序列 0 1 2 3 4 5 0 2 1 8 5 2 7 6 0 1 2
内存块1 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 1 1
内存块2 1 1 1 1 1 0 0 0 0 0 0 7 7 7 7 7
内存块3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
内存块4 3 3 3 3 3 1 1 1 1 1 6 6 6 6
内存块5 4 4 4 4 4 8 8 8 8 8 0 0 0
淘汰的页 √ √ √ √ √ 0 1 3 4 0 1 8 5

因此,页面淘汰顺序为0、1、3、4、0、1、8、5,缺页中断次数为13次。最后留驻主存的页号顺序为1、7、2、6、0。

(3) CLOCK页面调度算法(用蓝色表示指针位置,号表示访问标志为1)
访问序列 0 1 2 3 4 5 0 2 1 8 5 2 7 6 0 1 2
内存块1 0
0* 0* 0* 0* 5* 5* 5* 5* 5* 5* 5* 7* 7* 7* 7* 7*
内存块2 1* 1* 1* 1* 1 0* 0* 0* 0* 0* 0* 0 6* 6* 6* 6*
内存块3 2* 2* 2* 2 2 2* 2 2 2 2* 2 2 0* 0* 0*
内存块4 3* 3* 3 3 3 1* 1* 1* 1* 1 1 1 1* 1
内存块5 4* 4 4 4 4 8* 8* 8* 8 8 8 8 2*
淘汰的页 √ √ √ √ √ 0 1 3 4 5 0 2 8

因此,页面淘汰顺序为0、1、3、4、5、0、2、8,缺页中断次数为13次。最后留驻主存的页号顺序为7、6、0、1、2。

(4) OPT页面调度算法
访问序列 0 1 2 3 4 5 0 2 1 8 5 2 7 6 0 1 2
内存块1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
内存块2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
内存块3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
内存块4 3 3 3 3 3 3 8 8 8 7 7 7 7 7
内存块5 4 5 5 5 5 5 5 5 5 6 6 6 6
淘汰的页 √ √ √ √ √ 4 3 8 5

因此,页面淘汰顺序为4、3、8、5(或4、3、5、8),缺页中断次数为9次。最后留驻主存的页号顺序为0、1、2、7、6(或0、1、2、6、7)。(还可有其它组合,从略)

2.某系统对主存采用页式管理,供用户使用的主存区域共640K字节,被分成160块,块号为0,1,…,159。现有一作业的地址空间共占4页,其页号为0, 1, 2, 3,被分配到主存的第2,4,1,5块中。请回答:
(1) 作业每一页的长度为多少字节?
(2) 写出该作业被装入主存时,其对应的页表。
(3) 把该作业的每一页在主存中的起始地址(用16进制表示)填在下表中:
页号 起始地址
0
1
2
3

【解答】(1) 作业每一页的长度为4K字节
(2) 该作业被装入主存时,其对应的页表为
逻辑页号 主存块号
0 2
1 4
2 1
3 5
(3) 该作业的每一页在主存中的起始地址(用16进制表示)如下表所示。
页号 起始地址
0 2000H
1 4000H
2 1000H
3 5000H

3.某采用段式存储管理的系统为装入主存的一个作业建立了如下段表:
段号 段 长 主存起始地址
0 660 210
1 140 3300
2 100 90
3 580 1237
4 960 1959
(1)计算该作业访问[0,432],[1,10],[2,500],[3,400](方括号中第一个元素为段号,第二个元素为段内地址)的绝对地址。
(2)总结段式存储管理的地址转换过程。

【解答】(1)略(其中逻辑地址[2,500]将产生地址越界中断)
(2)段式存储管理的地址转换过程如下:(此题也可画图加简单文字说明来解答)
将逻辑地址中的段号与段表寄存器中该作业的段表长度比较,若超出,则产生地址越界中断;若不超出,则进行如下工作:
由段表寄存器中的段表地址找到该作业的段表,由段号找到该段在段表中的表目;如果逻辑地址中的段内地址不超过该表目中所示长度,则把该表目中的起始地址与段内地址相加,所得的值就是要访问的主存绝对地址;否则,如果逻辑地址中的段内地址超过该表目中所示长度,则产生地址越界中断,暂停作业的运行。

4.在请求分页系统中,某用户程序的逻辑地址空间为16页,每页1KB,分配的内存空间为8KB。假定某时刻该用户的页表如下表所示。
页号 块号
0 3
1 7
2 4
3 1
4 12
5 9
6 61
7 20
试问:
(1)逻辑地址184BH对应的物理地址是多少?(用十六进制表示)
(2)逻辑地址5000(十进制)对应的物理地址是多少?(用十进制表示)
(3)当用户进程欲访问24A0H单元时,会出现什么现象?

【解答】(1)逻辑地址184BH=1 1000 0100 1011B,低10位00 0100 1011B是页内偏移量,高位110B是页号,即页号为6,查页表得内存块号为61,即111101B,与页内偏移地址00 0100 1011B构成物理地址为1111 0100 0100 1011B,即0F44BH。
(2)5000 DIV 1024=4,5000 MOD 1024=904,即逻辑地址5000的页号为4,页内地址为904。查页表知其所在的页框号为12,故对应的物理地址为:12*1024+904=13192。
(3)逻辑地址24A0H=10 0100 1010 0000B,其所在的页号为1001B=9,由题目所给条件可知该逻辑地址所在的页不在内存,故当用户进程欲访问24A0H单元时,会产生缺页中断。

5.在请求分页系统中,采用LRU页面置换算法时,假设一个作业的页面走向为4,3,2,1,4,3,5,1,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试描述访问过程中发生缺页的情况,并计算缺页中断率,比较所得结果。
4 3 2 1 4 3 5 1 3 2 1 5
3 4 4 4 1 1 1 5 5 5 2 2 2
3 3 3 4 4 4 1 1 1 1 1
2 2 2 3 3 3 3 3 3 5
页面数为3是:(10/12)*100%=83.3% 页面数为4是:(6/12)*100%=50%
4 4 4 4 4 4 4 4 4 4 2 2 2
3 3 3 3 3 3 3 3 3 3 3
2 2 2 2 5 5 5 5 5 5
1 1 1 1 1 1 1 1 1
页面增加可以降低缺页率。

1.(2010全国题)设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(Page Frame)。在时刻260前的该进程访问情况如下表所示(访问位即使用位)。
页号 页框号 装入时间 访问位
0 7 130 1
1 4 230 1
2 2 200 1
3 9 160 1
当进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题:
(1)该逻辑地址的对应的页号是多少?
(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
(3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,示意图如下)。

【答案要点】
(1) 17CAH=0001 0111 1100 1010B,表示页号的位是左边6位,即00101B,所以页号为5。
(2)根据FIFO算法,需要替换装入时间最早的页,故需要置换装入时间最早的0号页,即将5页装入7号页框中,所以物理地址为0001 1111 1100 1010B,换算成十六进制,为1FCAH。
(3) 根据CLOCK算法,如果当前指针所指页框的使用位为0,则替换该页;否则将其使用位清零,并将指针指向下一个页框,继续查找。根据题设和示意图,将从2号页框开始,前4次查找页框顺序为2→4→7→9,并将对应页框的使用位清零。在第5次查找中,指针指向2号页框,因2号页框的使用位为0,故淘汰2号页框对应的2号页,把5号页装入2号页框中,并将对应的使用位置为1,所以对应的物理地址为0000 1011 1100 1010B,换算成十六进制,为0BCAH。

7.假设当前在处理器上执行的进程的页表如下所示。所有数字为十进制数,每一项都是从0开始计数的,并且所有的地址都是存储器字节地址。页的大小为1024个字节。
I. 正确地描述CPU产生的虚拟地址通常是如何转化成一个物理主存地址的。
II.下列虚地址对应于哪个物理地址(缺页时暂不处理)?
(i) 1052 (ii) 2221 (iii) 5499
虚页号 有效位 访问位 修改位 页帧号
0 1 1 0 4
1 1 1 1 7
2 0 0 0 —
3 1 0 0 2
4 0 0 0 —
5 1 0 1 0
【解答】
I:对于一级页表,进行地址转换的步骤如下:
(1)由虚地址计算出页号和页内偏移量;
(2)根据页号和进程的页表首址,查页表,找到对应的页表项,取出帧号;
(3)(帧号页面大小)+页内偏移形成物理地址。
II:p=int(A/L) d=A mod L (A为虚地址,L为页面大小,p为页号,d为页内偏移)
(i) p=int(1052/1024)=1 d=1052 mod 1024=28
根据页号1查页表得到帧号为7,则1052对应的物理地址=7
1024+28=7196
(ii) p=int(2221/1024)=2 d=173
查页表知2号页不在内存,将产生缺页中断。
(iii) p=int(5499/1024)=5 d= 379
根据页号5查页表得到帧号为0,则5499对应的物理地址=0*1024+379=379

8.(7分)某请求分页系统的页面置换策略如下:(2012全国试题)
从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计)且在本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容暂时不清空。当发生缺页时,如果该页曾被使用过且还在空闲页链表中,则将其重新放回该进程的驻留集中;否则从空闲页链表头部取出一个页框。
忽略其他进程的影响和系统开销,初始时进程驻留集为空,目前系统空闲页的页框号为32、15、21、41。进程P依次访问的<虚拟页号,访问时刻>为<1,1>、❤️,2>、<0,4>、<0,6>、<1,11>、<0,13>、<2,14>。请回答下列问题:
(1)当虚拟页号为<0,4>时,对应的页框号是什么?
(2)当虚拟页号为<1,11>时,对应的页框号是什么?说明理由。
(3)当虚拟页号为<2,14>时,对应的页框号是什么?说明理由。
(4)这种方法是否适用时间局部性好的程序?说明理由。

【解答】
操作系统练习题(3)第四章存储管理_第1张图片
9. (8分)某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节。请回答下列问题。(2013全国试题)
(1)若使用一级页表的分页存储管理方式,逻辑地址结构为:
页号(20位) 页内偏移量(12位)
则页的大小是多少字节?页表最大占用多少字节?
(2)若使用二级页表的分页存储管理方式,逻辑地址结构为:
页目录号(10位) 页表索引(10位) 页内偏移量(12位)
设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。
(3)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为0000 8000H,其长度为8 KB,被装载到从物理地址0090 0000H开始的连续主存空间中。页表从主存0020 0000H开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面2的起始物理地址。
【答案要点】
(1)因为页内偏移量是12位,所以页大小为4 KB,(1分)
页表项数为232/4K=220,该一级页表最大为220×4 B=4 MB。(2分)
(2)页目录号=INT[INT[LA/4K]/1K];页表索引= INT[LA/4K] mod 1K
页目录号可表示为:( ( ( unsigned int)( LA) )>> 22)& 0x3FF。(1分)
页表索引可表示为:( ( (unsigned int) ( LA) )>> 12)& 0x3FF。(1分)

【评分说明】
①页目录号也可以写成( (unsigned int)( LA) )>> 22;如果两个表达式没有对LA进行类型转换,同样给分。

②如果用除法和其他开销很大的运算方法,但对基本原理是理解的,同样给分。

③参考答案给出的是C语言的描述,用其他语言(包括自然语言)正确地表述了,同样给分。

(3)代码页面1的逻辑地址为0000 8000H,表明其位于第8个页处,对应页表中的第8个页表项,所以第8个页表项的物理地址= 页表起始地址+8×页表项的字节数=0020 0000H+8×4=0020 0020H。由此可得如下图所示的答案。(3分)
操作系统练习题(3)第四章存储管理_第2张图片
一.练习题
(一)选择题
1.在虚拟存储系统中,若进程在内存中占3块(开始时为空)采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生 次缺页中断。
A.7 B.8 C.9 D.10
2.用户程序的逻辑地址可以不连续的存储管理方式是 。
A.固定分区 B.可变分区 C.页式 D.段页
3.在可变分区分配方案中,为了实现主存的空间分配,采用 进行管理。
A.页表 B. 段表
C.段表+页表 D. 分区分配表+空闲区表
4.动态重定位是在 完成的。
A.作业执行前集中一次 B.作业执行过程中集中一次
C.作业执行过程中 D.作业执行过程中由用户
5.在以下的存储管理方案中,能扩充主存容量的是 。
A.固定式分区分配 B.可变式分区分配 C.页式存储管理 D.分页虚拟存储管理
6.在可变分区分配方案中,在空闲区表中以空闲区长度按递减顺序排列适合于________算法。
A.最坏适应算法 B.最先适应算法 C.最优适应算法 D.首次循环适应算法
7.在页式虚拟存储管理中,为实现地址变换,应建立 。
A.空闲区表 B.分区分配表 C.页表 D.段表
8.在下述存储管理方案中, 管理方式要求作业的逻辑地址与占有主存的存储区域都是连续的。
A.段页式 B.页式 C.段式 D.可变分区
9.将主存空闲区按地址顺序从小到大登记在空闲区表中,每次分配时总是顺序查找空闲区表,此种分配算法称为 分配算法。
A.最先适应 B.最优适应 C.最坏适应 D.随机适应
10.页式存储管理中,每次从主存中取指令或取操作数,当读快表失败时,要读 次主存。
A.1 B.2 C.3 D.4
11.段式和页式存储管理的地址结构很类似,但是它们之间有实质上的不同。以下说法中,错误的是 。
A.页式的逻辑地址是连续的,段式的逻辑地址可以不连续
B.页式的地址是一维的,段式的地址是二维的
C.分页是操作系统进行的,分段是用户确定的
D.页式采用动态重定位方式,段式采用静态重定位方式
12.主存的地址空间常称为 。
A.逻辑地址空间 B.程序地址空间 C.物理地址空间 D.相对地址空间
13.段页式存储管理中,每次从主存中取指令或取操作数,当读快表失败时,至少要 次访问主存。
A.0 B.1 C.2  D.3
14.在请求页式存储管理中,当查找的页不在 中时,要产生缺页中断。
A.外存 B.虚存 C.内存 D.地址空间
15.在下列存储管理方式中,不要求将作业全部装入并不要求一个连续存储空间的管理方式是 。
A.固定分区存储管理 B.可变分区存储管理 C.页式存储管理 D.请求页式存储管理
16.在段式存储管理中, 。
A.以段为单位分配,每一段是一个连续存储区 B.段与段之间必定不连续
C.段与段之间必定连续 D.每段是等长的
17.在虚拟存储的实现中,需要页面淘汰的原因是 。
A.产生缺页中断时内存中没有空闲块 B.内存空间太大
C.页面换出、换入太频繁 D.进程要被封锁
18.把目标程序中的逻辑地址转换成主存空间的物理地址称为 。
A.存储分配 B.地址重定位 C.地址保护 D.程序移动
19.在操作系统的存储管理中,页式分配(分页)是 。
A.把程序的逻辑空间和内存的物理空间按同样的尺寸分成若干页
B.把作业按其所需空间分成若干页
C.将内存的空闲空间分成若干页
D.随机地将每个作业的地址空间分成大小相同的若干页
20.在以下的存储管理方案中,允许动态扩充主存容量的是 方式。
A.固定分区分配 B.可变分区分配 C.页式存储管理 D.请求分页存储管理
21.很好地解决了“零头”(碎片)问题的存储管理方法是 。
A.页式存储管理 B.段式存储管理 C.可变分区存储管理 D.可重定位分区存储管理
22.采用段页式存储管理的系统中,若地址用32位表示,其中10位表示段号,页的大小为4KB,则允许每段的最大页号是 。
A.1024 B.1023 C.4096 D.4095
23.虚拟存储管理系统的理论基础是程序的 原理。
A.局部性 B.全局性 C.动态性 D.虚拟性
24.Windows 2000采用二级页表,其逻辑地址结构如下:
页目录索引dir(10位) 页表页索引page(10位) 页内偏移offset(12位)
则其页目录的表项数和页的大小分别是 。
A.10和12 B.20和12 C.1M(1兆)和4K D.1024和4096
25.在一个分页虚存系统中,设页长2KB,某用户程序有30页。若该程序的虚页0、1、2、3、4、5、6、7已分别装入内存块4、17、18、20、25、26、30、32中,则该程序中的虚地址0AC5H和3AC5H对应的物理地址分别是 。
A.4AC5H和14AC5H B.4AC5H和20AC5H C.8AC5H和20AC5H D.8AC5H和102C5H
26.某进程页面访问序列为4,3,2, 1,4,3,5,4,3,2, 1,5,且开始执行时,内存中没有页面,分配给该进程的物理块数是3,则采用FIFO页面置换算法和LRU页面置换算法时缺页率分别是 。
A.83%和75% B.85%和70% C.75%和83% D.84%和75%
27.在请求分页系统中,假如一个作业的页面走向是1,2,1,3,1,2,4,2,1,3,4,分配给该作业的该作业的物理块数M为2(初始为空),当用FIFO页面置换算法时,所发生的缺页次数是 次。
A.10 B.9 C.8 D.7
28.在请求分页系统中,假如一个作业的页面走向是1,2,1,3,1,2,4,2,1,3,4,分配给该作业的该作业的物理块数M为2(初始为空),当用LRU页面置换算法时,所发生的缺页次数是 次。
A.10 B.9 C.8 D.7
29.某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分区的大小是 。(2010全国试题)
A.7MB B.9MB C.10MB D.15MB
30.在缺页处理过程中,操作系统执行的操作可能是 。(2011全国试题)
Ⅰ.修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框
A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ和Ⅲ

(二)应用题

1.在采用页式存储管理的系统中,某作业的逻辑地址空间为4页(每页2048字节),且已知该作业的页表如下表。试借助地址转换图(即要求画出页式存储管理系统地址转换示意图)求出逻辑地址4688所对应的物理地址。
页 表
页 号 内存块号
0 2
1 4
2 6
3 9

2.有一个虚存系统,某进程占用3个内存块,开始时内存为空,执行如下访问页号序列后:
5,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,5,0,1
(1)采用先进先出(FIFO)页面置换算法,面页置换次数是多少?(需画置换图)
(2)采用最近最久未使用(LRU)页面置换算法,面页置换次数是多少?(需画置换图)

3.设某作业占有7个页面,如果在主存中只允许装入4个工作页面(即工作集为4),作业运行时,实际访问页面的顺序是1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1。假设开始的4个页面已装入主存。
(1) 若试用FIFO页面调度算法,列出各自的页面淘汰顺序和缺页中断次数,以及最后留驻主存4页的顺序。
(2) 若用LRU页面调度算法,列出各自的页面淘汰顺序和缺页中断次数,以及最后留驻主存4页的顺序。

4.设某作业的页面引用串为:1,2,3,4,1,2,5,1,2,3,4,5,指出驻留集大小分别为3、4时,采用FIFO和LRU页面置换算法的缺页中断次数。结果说明了什么?

你可能感兴趣的:(操作系统练习题(3)第四章存储管理)