文章目录
- 1.虚拟存储器概述
- 1.1.常规存储管理方式的特征和局部性原理
- 1.2.虚拟存储器的定义和特征
- 1.3.虚拟存储器的实现方法
- 2.请求分页存储管理方式
- 2.1.请求分页中的硬件支持
- 2.2.请求分页中的内存分配
- 3.页面置换算法
- 3.1.最佳置换算法和先进先出置换算法
- 3.2.最近最久未使用和最少使用置换算法
- 3.4.页面缓冲算法
- 4.“抖动”与工作集
- 4.1.多道程序度与“抖动”
- 5.请求分段存储管理方式
- 5.1.请求分段中的硬件支持
1.虚拟存储器概述
1.1.常规存储管理方式的特征和局部性原理
虚拟存储管理系统的基础是程序的(A)理论。
A. 局部性
B.全局性
C.动态性
D.虚拟性
解析:本题考察虚拟存储器的原理。虚拟存储技术的基础是程序的时间局部性和空间局部性原理。
实现虚拟存储器的目的是(D)。
A.实现存储保护
B.实现程序浮动
C.扩充辅存容量
D.逻辑上扩充主存容量
解析:本题考察虚拟存储器的功能。虚拟存储器可以实现从逻辑上扩充主存的容量,使得大作业可以在小内存中运行,同时也使得内存中可以装入更多的进程。
虚拟存储的实现式基于程序局部性原理,其实质是借助外存将内存较小的物理地址空间转化为较大的逻辑地址空间。(正确)
解析:本题考察虚拟存储器的原理和功能。虚拟存储器利用程序的局部性原理,借助外存将主存较小的物理地址空间扩充为较大的逻辑地址空间。
虚拟存储器实际上是一种设计技巧,使主存物理容量得到扩大。(错误)
解析:本题考察虚拟存储器的原理。扩大的是逻辑容量而非物理容量(实际容量)。
虚拟存储空间实际上就是辅存空间。(错误)
解析:本题考察虚拟存储器的原理。虚拟存储空间从逻辑上,是用户所感受到的主存空间,从大小上是主存空间和辅存空间的大小之和。
1.2.虚拟存储器的定义和特征
在虚拟存储系统中,操作系统为用户提供了巨大的存储空间。因此,用户地址空间的大小可以不受任何限制。(错误)
解析:本题考察虚拟存储器的地址空间大小和限制因素。虚拟存储器的地址空间是逻辑地址空间,其大小等于主存空间大小与外存空间大小之和;同时,虚拟存储器的容量受到计算机的地址字长的限制。
虚拟内存的容量受(D)的限制。
A.物理内存的大小
B.用户地址空间的大小
C.数据存放的实际地址
D.计算机地址字长
解析:本题考察虚拟存储器的容量限制因素。虚拟存储器的容量受限于计算机的地址字长。
虚拟存储方式下,程序员编写程序时,不必考虑主存的容量,但系统的吞吐量在很大程度上依赖于主存储器的容量。(正确)
解析:本题考察虚拟存储器的功能和原理。虚拟存储器使得程序员所看到的内存空间远大于实际的内存容量,因此编写程序时可以不必考虑主存的容量大小;但是,由于主存的容量是有限的,采用虚拟存储技术时,主存容量越大,系统的吞吐量也越高。
虚存管理和实存管理的主要区别是(C)。
A.虚存分逻辑地址和物理地址,实存不分
B,实存要求一程序在内存必须连续,虚存不需要连续的内存
C.实存要求一程序全部装入内存才开始运行,虚存允许程序在执行的过程中逐步装入
D.虚存以逻辑地址执行程序,实存以物理地址执行程序
解析:本题考察虚拟存储器和传统存储器的区别,也就是考察虚拟存储器的特征。虚拟存储器和传统存储器最本质的区别在于虚拟存储器的多次性,也就是一个作业中的程序和数据无需在作业运行时一次性地装入内存,而是允许被分成多次调入。
1.3.虚拟存储器的实现方法
页式存储管理中,一个作业可以占用不连续的内存空间,而段式存储管理中,一个作业则是占用连续的内存空间。(错误)
解析:本题考察页式存储管理和段式存储管理的原理。无论是页式管理还是段式管理,都是基于离散的内存分配方式,因此一个作业都是占用离散而非连续的内存空间。
以下存储管理技术中,支持虚拟存储器的技术是(C)。
A.动态分区法
B.可重定位分区法
C.请求分页技术
D.对换技术
解析:本题考察虚拟存储器的实现方法。支持某一个技术说明对该技术进行了实现,因此与虚拟存储器有直接关联的只有请求分页技术和对换技术。请求分页技术是虚拟存储器的实现方法之一,因此支持虚拟存储器技术;而对换技术并不能实现虚拟存储器技术,而是应该说虚拟存储器技术支持对换技术。综上所述,本题选择C选项。
请求分页存储管理的主要特点是(B)。
A.消除了页内零头
B.扩充了内存
C.便于动态链接
D.便于信息共享
解析:本题考察虚拟存储器的实现方法。虚拟存储器的作用是从逻辑上扩充内存,而请求分页存储管理方式是虚拟存储器的一种主要实现方式,因此可以从逻辑上对内存进行扩充。
虚拟存储管理是内存离散分配的一种方法(正确)
解析:本题考察虚拟存储管理的内存分配基础。虚拟存储管理无论是哪一种实现方式,都是建立在内存离散分配的基础上的。
2.请求分页存储管理方式
某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻用户进程的0,1,2,3页面在内存物理块5,10,4,7中存放,则逻辑地址0A5C(H)所对应的物理地址是(D)。
A.2A5C
B.1A5C
C.165C
D.125C
解析:
本题考察请求分页存储管理方式中逻辑地址到物理地址的转换。请求分页存储管理方式中的地址转换其实和传统存储器管理方式的地址转换方式类似。
由于虚拟存储器中的逻辑空间大小为32个页面,因此需要5个二进制位来表示逻辑地址中的页号。由于每页为1KB,因此页内偏移地址为10位。由于内存为16KB,因此内存中可以存放16个块,所以需要4个二进制位表示块号。
请求分页存储管理方式中,逻辑地址由逻辑页号与偏移地址两部分组成,因此总位数为十五位。将逻辑地址0A5CH转换为二进制表示即为000 1010
0101 1100B,因此逻辑页号为00010,即为十进制的2。根据题目条件可知对应的内存物理块为4,用四个二进制位表示即为0100B。
块内偏移地址为逻辑地址后十位,即1001011100B。 将物理块号0100B和后面的十位偏移地址进行拼接,得到物理地址为01 0010 0101 1100B,转化为十六进制即为125CH。因此本题的答案为D选项。
页式存储管理系统不利于共享和保护。(正确)
解析:本题考察页式存储管理系统的不足之处。页式存储管理系统不利于信息的共享和保护,相反,段式管理系统有利于信息的共享和保护。
页式存储管理中,为了提高内存的利用效率,允许同时使用不同大小的页面。(错误)
解析:本题考察页式存储管理系统的定义。页式存储管理系统中每个页面的大小都是相等的;每个存储单元大小不等的是段式存储管理系统。
在页式存储管理系统中,整个系统的页表个数是(D)个。
A.1
B.2
C.3
D.与装入主存的作业个数相同
解析:本题考察页式存储管理系统中页表的个数。页式存储管理系统中每一个进程都对应一张页表,因此选择D选项。
在计算机系统中,快表用于(C)。
A.存储文件信息
B.与主存交换信息
C.地址变换
D.存储通道程序
解析:本题考察快表的作用。快表是用于快速进行地址变换的高速缓冲寄存器。
2.1.请求分页中的硬件支持
在请求分页系统中,页表中的改变位是供(C)参考的。
A.页面置换
B.内存分配
C.页面换出
D.页面调入
解析:本题考察请求分页存储管理方式中请求页表各个字段的功能。请求页表的改变位也称为修改位,用于标识该页在调入内存后是否被修改过。当需要将该页换出时,如果该页未被修改,则无需重新写入外存,从而降低系统开销。由于页面置换包含页面换入和页面换出两个部分,而页表的改变位只与页面换出过程有关,因此本题的最佳选项是C选项。
在请求页式存储管理中,若所需页面不在内存中,则会引起(D)。
A.输入输出中断
B.时钟中断
C.越界中断
D.缺页中断
解析:本题考察缺页中断的概念。缺页中断就是指在请求页式存储管理系统中,如果所需的页面不在内存中所引发的中断。
试述缺页中断与一般中断的主要区别。
解析:本题考察缺页中断和一般中断的两个主要区别。区别如下:
①在指令执行期间产生和处理中断信号。通常的中断都是在CPU完成执行一条指令后才检查是否有中断到达。如果有,则CPU去响应中断,否则继续执行下一条指令。然而,缺页中断是在指令执行期间,如果发现所要访问的指令或数据不在内存时,便立即产生和处理缺页中断信号,以便能及时将所缺页面调入内存。
②一条指令在执行期间可能产生多次缺页中断。基于这个特征,系统中的硬件机构应该能保存多次中断时的状态,并保证最后能返回到中断前产生缺页中断的指令处继续执行。
2.2.请求分页中的内存分配
在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是(C)。
A.可变分配,全局置换
B.可变分配,局部置换
C.固定分配,全局置换
D.固定分配,局部置换
解析:本题考察请求分配中的内存分配策略类型。请求分配中的内存分配策略共有固定分配局部置换、可变分配全局置换和可变分配局部置换三种,因此不存在固定分配全局置换。
3.页面置换算法
在请求分页系统中,常采用哪几种置换算法?
解析:
本题考察常用的请求分页式存储管理系统中的置换算法。常用的置换算法如下:
①先进先出(FIFO)置换算法。这种算法很少单独使用。
②最近最久未使用(LRU)置换算法。该算法效果比较好,但是硬件实现较复杂。
③最少使用置换算法(LFU)。算法效果也比较好,但是硬件实现比较复杂。
④Clock置换算法。也称为最近未用算法(NRU),是LRU算法的一种近似。
备注:最佳置换算法由于实际上无法实现,因此不纳入考虑范围。
3.1.最佳置换算法和先进先出置换算法
下述(A)页面淘汰算法会产生Belady现象。
A.先进先出
B.最近最少使用
C.最不经常使用
D.最佳
解析:本题考察Belady现象的定义,属于拓展内容。Belady现象是指在分页式存储管理系统中,如果页面置换算法采用先进先出(FIFO)算法,如果对于一个进程未分配其所要求的全部界面,有时就会发生分配的页面数增多但是缺页率反而提高的异常现象。
在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
解析:
本题考察请求分页系统采用FIFO页面置换算法的算法流程,以及缺页率的计算。
当物理块数为3时,所得到的置换图如下:其中红色标注部分表示下一次需要换出的页,打勾表示发生了缺页现象。
由此可以计算出物理块数为3时发生缺页共9次,缺页率=9/12×100%=75%。
当物理块数为4时,得到的置换图如下:
由此可知物理块数为4时发生缺页10次,缺页率=10/12×100%=83.3%。
可以看出物理块数增加反而使得缺页率提高,这就是Beledy现象。
在虚拟存储系统中,若进程在内存中占三块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生(D)次缺页中断。
A.7
B.8
C.9
D.10
解析:本题考察请求分页系统采用FIFO页面置换算法的算法流程。算法过程与上一题类似。
3.2.最近最久未使用和最少使用置换算法
选择在最近的过去很久未访问的页面予以淘汰的算法称为(B)。
A.Opt
B.LRU
C.MFU
D.LFU
解析:本题考察最近最久未使用算法的定义。由此可知选B选项。
在请求分页存储管理中,LRU(最近最少使用)置换策略总是优于FIFO策略。(错误)
解析:本题考察请求分页存储管理两种页面置换算法的评价。先进先出算法(FIFO)总是淘汰最早进入内存中的页面;最近最少使用算法则淘汰在一段时间内最少使用的页面。一般情况下,FIFO算法由于没有利用有些页面经常被访问的规律,因此性能较差。但是,如果各个页面的访问较为均匀随机,则FIFO算法更好,这是因为FIFO算法实现起来非常简单。
在一个请求分页存储管理系统中,一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试计算采用LRU淘汰算法时的缺页率(假设开始执行时主存中没有页面)。
解析:
本题考察请求分页存储管理方式采用LRU置换算法的过程。
本题所对应的置换过程图如下所示:
当物理块数为3时,对应的缺页率为10/12=83.3%;当物理块数为4时,对应的缺页率为8/12=66.7%。
由此可以看出对于LRU算法,增加物理块数可以降低缺页率。
3.4.页面缓冲算法
在下列有关请求分页管理的叙述中,正确的是(D)。
A.程序和数据是在开始执行前一次性装入的
B.产生缺页中断一定要淘汰一个页面
C.一个淘汰的页面一定要写回外存
D.在页表中要有"中断位"、"访问位"等信息
解析:本题考察请求分页管理中的相关知识点。请求分页管理属于虚拟存储器实现方式的一种,而虚拟存储器的一个特点是多次性,也就是程序和数据无需再开始运行前一次性装入内存,由此可以判断A选项错误。产生缺页中断时,如果当前内存已满,才需要选择性地淘汰一个页面,当内存未满时只需要将新的页面放入内存中即可,因此B选项错误。被淘汰的页面可以暂时不写入磁盘,而是挂在一个链表上,只有当换出的页面数目达到一定值时才一起写回到磁盘中,因此C选项错误。在请求页表中需要有中断位和访问位等信息,因此D选项正确。
4.“抖动”与工作集
4.1.多道程序度与“抖动”
什么是抖动? 产生抖动的原因是什么?
解析:本题考察抖动的定义和根本原因。
①抖动的概念:在请求分页式存储管理方式中,刚被换出的页很快又要被访问,需要将它重新调入,又需要将它调入。如此频繁地更换界面,以至于一个进程在运行中大部分时间都花费在页面置换工作上,这时就称进程发生了抖动。
②抖动的原因:同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,以至于每一个进程在运行时,频繁出现缺页,必须请求系统将所缺的页调入内存。
5.请求分段存储管理方式
5.1.请求分段中的硬件支持
采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是(B)。
A.2的24次方
B.2的16次方
C.2的32次方
D.2的8次方
解析:本题考察段式存储管理方式的地址构成。段式存储管理方式的地址构成为:逻辑地址由段号和段内偏移地址组成,其中段内偏移地址指出每段的最大长度。本题中由于地址用24位进行标识,8位表示段号,因此段内偏移地址用16位表示,所以每段的最大长度为2的16次方。