Relax1000 操作系统 · 第3章 内存管理 · 题目¶
第3章 内存管理¶
本章 79 题;题目册印刷页 152–166。
Q1¶
下列关于内存保护的说法中,正确的有( )。
I. 内存保护是通过软件实现的,无需硬件支持
II. 内存保护的方法有上下限地址保护和重定位、界地址保护
III. 用户进程可以修改重定位寄存器和界地址寄存器的值以实现内存的实时变化
- A.I
- B.II
- C.I、II
- D.II、III
Q2¶
形成逻辑地址和物理地址的阶段分别为( )。
- A.编译,装入
- B.链接,装入
- C.编译,装入或程序运行时
- D.链接,装入或程序运行时
Q3¶
下列关于程序链接方式的叙述中,错误的是( )。
- A.静态链接是在程序运行之前,将所有目标模块及所需的库函数一次性链接成一个完整的装入模块,之后不再拆开。
- B.装入时动态链接允许目标模块在装入内存时才进行链接,这便于模块的修改、更新以及实现共享
- C.运行时动态链接将某些模块的链接推迟到程序执行过程中真正需要调用它们时才进行,可以节省内存空间并加快程序启动速度
- D.无论是静态链接还是动态链接,在链接完成后,目标模块中所有对外部符号的引用都已解析为绝对物理地址
Q4¶
在支持“动态运行时装入”和“请求分页虚拟存储管理”的操作系统中,关于程序代码和地址的叙述,错误的是( )。
- A.编译阶段产生的目标模块中,指令的内部地址通常是相对于本模块起点的逻辑地址
- B.链接阶段将多个目标模块和库函数合并,形成一个统一的、从 0 开始编址的逻辑地址空间
- C.动态重定位是在作业真正被装载到主存时,由装载程序一次性完成逻辑地址到物理地址的转换
- D.在程序运行过程中,即使发生了页面置换,CPU 内正在执行的指令所操作的地址依然是逻辑地址
Q5¶
对于基于空闲分区链的动态分区存储管理方式:当进程运行完毕和释放内存时,系统应根据回收区的起始地址从空闲分区链中找到相应的插入位置,然后实施回收插入操作。下列处理方案中不正确的是( )。
- A.检查确认若回收区仅与插入位置前的空闲分区 F1 相邻接,应将回收区与 F1 合并。具体操作为修改表项 F1 的分区大小
- B.检查确认若回收区仅与插入位置后的空闲分区 F2 相邻接,应将回收区与 F2 合并。具体操作为修改表项 F2 的分区大小
- C.检查确认若回收区同时与插入位置前、后的空闲分区 F1 和 F2 相邻接,应将回收区与 F1、F2合并。具体操作为修改表项 F1 的分区大小,并删除表项 F2
- D.检查确认若回收区与插入位置前、后的空闲分区 F1 和 F2 均不相邻接,应为回收区单独建立新表项,填写起始地址和大小,并插入到空闲分区链
Q6¶
在下列存储管理方式中,会产生内部碎片的是( )。
I. 分段虚拟存储管理
II. 分页虚拟存储管理
III. 段页式存储管理
IV. 固定式分区管理
- A.II
- B.Ⅲ、Ⅳ
- C.Ⅰ、Ⅱ、Ⅲ
- D.Ⅱ、Ⅲ、Ⅳ
Q7¶
下列内存分配存储管理方式中,不会产生外部碎片的是( )。
- A.动态重定位分区分配
- B.分页存储管理
- C.可变分区分配
- D.分段存储管理
Q8¶
以下内存管理方式中,最适合采用动态链接的是( )。
- A.单一连续分配管理方式
- B.分段存储管理方式
- C.固定分区管理方式
- D.分页存储管理方式
Q9¶
下列关于顺序分配算法的说法中,正确的是( )。
I. 首次适应算法中,空闲分区按容量递增排序,系统每次分配第一个能满足大小的空闲分区
II. 邻近适应算法会使得空闲分区的分布更加均匀
III. 最坏适应算法相较之下不容易产生碎片
IV. 最佳适应算法性能最优
- A.I、II
- B.I、III
- C.II、III
- D.I、II、III
Q10¶
在采用伙伴系统(Buddy System)进行动态内存管理时,系统会按照特定规则对内存块进行分裂和合并。下列关于伙伴系统中“伙伴”概念的叙述中,错误的是( )。
- A.伙伴是指由一个较大的空闲块分裂而成的两个大小相等的子块
- B.只有当两个大小相同且物理地址连续的空闲块满足特定对齐条件时,它们才能被称为伙伴并进行合并
- C.一个内存块的伙伴是唯一的,且可以通过简单的地址运算找到其伙伴的地址
- D.在伙伴系统中,任意两个地址不相邻但大小相同的空闲内存块,若它们都源自同一个更大的初始空闲块,则它们互为伙伴
Q11¶
在( )中,每次分配时把既能满足要求又是最小的空闲区分配给进程。
- A.首次适应算法
- B.最坏适应算法
- C.最佳适应算法
- D.邻近适应算法
Q12¶
为了提高动态分区分配算法中查找空闲分区的效率,尤其是当系统较大、空闲分区数量较多时,可以采用基于索引搜索的分配算法。下列关于这类算法的叙述中,错误的是( )。
- A.快速适应算法将空闲分区按常用大小进行分类,并为每类大小维护一个独立的空闲链表,分配时能快速找到合适大小的链表并取下第一块,但回收时合并空闲分区的算法可能较复杂
- B.伙伴系统中,所有分区(包括空闲分区和已分配分区)的大小均为 2 的 k 次幂,分配时若没有合适大小的空闲块,则会递归地将更大的空闲块分裂成“伙伴”块,直到找到合适的块
- C.伙伴系统中,任意两个大小相同的空闲内存块,都可以互称为“伙伴”并进行合并
- D.哈希算法通过将空闲分区大小作为关键字计算哈希值,定位到哈希表中的相应表项,该表项指向一个包含特定大小范围空闲分区的链表,以期实现快速查找
Q13¶
下列存储管理方式中,可实现紧凑技术的存储管理方式为( )。
- A.动态重定位分区分配
- B.单一连续分配
- C.固定分区分配
- D.分页存储管理
Q14¶
某基于动态分区存储管理的计算机,其主存容量为 512MB,操作系统占用低地址部分的126MB,用户区大小为 386MB(初始为空),采用首次适应(First Fit)算法,分配和释放的顺序为:分配 80MB,分配 56MB,分配 120MB,释放 56MB,分配 40MB,分配 50 MB。此时主存中最大空闲分区的起始地址是( )。
- A.126
- B.246
- C.382
- D.432
Q15¶
某台计算机采用动态分区来分配内存,经过一段时间的运行后,内存中按地址从小到大存在100KB、450KB、250KB、200KB 和 600KB 的空闲分区。分配指针现在指向地址起始点,继续运行还会有 212KB、417KB、112KB 和426KB 的进程申请使用内存,则能够完全完成分配任务的算法是( )。
- A.首次适应算法
- B.邻近适应算法
- C.最佳适应算法
- D.最坏适应算法
Q16¶
在采用动态分区分配的存储管理方式中,系统运行时可能会产生许多不连续的小空闲区(外部碎片)。为了解决这个问题并提高内存利用率,可以采用“紧凑”(Compaction)技术。下列关于紧凑技术及其与动态重定位的叙述中,错误的是( )。
- A.“紧凑”是指将内存中的所有作业向一端移动,使它们相邻接,从而将分散的小空闲区合并成一个大的连续空闲区
- B.执行“紧凑”操作后,由于作业在内存中的物理位置发生了改变,因此必须对程序中所有地址进行修改才能保证程序正确执行
- C.动态重定位是指在程序运行时,每次访问内存地址之前都由硬件将逻辑地址加上重定位寄存器中的值转换为物理地址
- D.采用动态重定位分区分配方式,当内存进行“紧凑”后,只需修改相应作业的重定位寄存器的值,而无需修改作业内部的指令和数据地址
Q17¶
计算机系统按字节编址,采用可变分区分配存储管理方法,用空闲分区表管理空闲分区,分配内存采用首次适应算法,并将分区的高地址部分分配出去。内存低地址部分的 200KB 由操作系统占据,用户区从 200K 开始,大小为 386KB,初始时为空。接下来一段时间里内存中进行了以下操作:进程 A申请 80KB,进程 B 申请 56KB,进程 C 申请 120KB,进程 A 释放 80KB,进程 C 释放 120KB,进程 D申请 156KB,进程 E 申请 81KB。问完成这些操作后内存中最小空闲块的起始地址为( )。
- A.200K
- B.213K
- C.450K
- D.506K
Q18¶
某计算机系统按字节编址采用动态分区存储管理方式,内存分配采用最佳适应算法,并将分区的低地址部分分配出去。内存低 32MB 被操作系统占据,用户区大小为 55MB,初始为空。接下来一段时间里内存中进行了以下操作:进程 A 分配 15MB,进程 B 分配 30MB,进程 A 释放 15MB,进程 C 分配 8MB,进程 D分配 6MB。问完成上述操作后内存中最大的空闲分区大小是( )。
- A.15MB
- B.7MB
- C.9MB
- D.10MB
Q19¶
与单级页表相比,多级页表的主要优势在于( )。
- A.显著加快了逻辑地址到物理地址的转换过程
- B.能够减少程序运行过程中发生缺页中断的频率
- C.允许将页表离散地存放在内存中,避免了需要大块连续内存空间存放整个页表的问题
- D.减少了每个页表项所占用的字节数,从而压缩了页表的整体大小
Q20¶
采用二级页表的分页系统中,一级页表页表项中的内容是( )。
- A.用于二级页表索引的页号
- B.对应二级页表所在的页框号
- C.页目录号
- D.程序文件所在的页框号
Q21¶
下列关于存储管理中地址转换机制的叙述中,正确的是( )。
- A.静态重定位在程序装入内存时完成,需要硬件地址转换机构支持,且程序在内存中不能移动
- B.动态重定位在程序执行时完成,操作系统的装入程序进行地址修改且支持程序在内存中移动
- C.无论是分页还是分段存储管理,运行时的逻辑地址到物理地址的转换均由硬件地址转换机构自动完成
- D.引入快表(TLB)作为页表的硬件高速缓存,运行时的地址转换由操作系统通过直接检索快表项来加速实现,从而减少了访存次数
Q22¶
以下对分页存储管理方式的描述中,正确的是( )。
I. 在不使用快表(TLB)的分页存储管理方式中(不考虑多级页表),CPU 每次取指令都需要访问两次内存
II. 分页存储管理方式不会产生外部碎片,但会产生内部碎片
III. 分页存储管理方式对用户是不透明的
IV. 分页存储管理方式不能采用静态重定位
- A.I、II、IV
- B.Ⅰ、Ⅳ
- C.仅Ⅰ
- D.全都正确
Q23¶
某计算机系统可以由用户选择是否开启分页功能:若不开启,则视为使用单一连续分配方式管理内存;若开启,则视为使用分页方式管理内存,并且配备了 TLB 用于加速访存(TLB 与内存同时查找)。假设 TLB 的查找时间为 1ns,关闭分页功能时一次访存时间为 100ns。若希望开启分页功能时平均访存时间不大于 110ns,则 TLB 命中率必须达到( )。
- A.87.5%
- B.88.9%
- C.90%
- D.90.9%
Q24¶
在一台以字节为单位寻址的 64 位计算机系统中,地址线宽为 64 位,实际使用的虚拟地址空间大小是 256TB。若采用虚拟页式存储管理,每页的大小为 8KB,页表表项长为 8B,采用多级页表进行管理,则多级页表的级次最小是( )。
- A.3
- B.4
- C.5
- D.6
Q25¶
某分页存储管理系统中,逻辑地址长度为 16 位,物理地址长度为 18 位,每页的大小为 2KB,部分页表如下表所示。则逻辑地址 0x1234 对应的物理地址为( )。页号 页框号0 100 1 68 2 36 3 50 ... ...
- A.0x12334
- B.0x12234
- C.0x43210
- D.0x22234
原页版面片段(用于核对图表、矩阵或代码)

Q26¶
系统按字节编址,采用分页式存储管理方式管理内存,逻辑地址结构为:{页目录号,页号,页内偏移量}。假设逻辑地址空间大小为 64MB,页面大小为 1KB,页表项大小为 2B。问该系统的页目录表中至少需要包含多少个页表项( )。
- A.32
- B.128
- C.64
- D.256
Q27¶
系统按字节编址,采用请求分页存储方式管理内存,系统逻辑地址空间大小为 256TB,页面大小为 8KB,页表项大小为 8B,各级页表的大小正好占一个页面,则该系统页表的级数应当是 ( )。
- A.5
- B.3
- C.4
- D.2
Q28¶
在采用分页存储管理的系统中,地址结构长度为 18 位,其中 11 至 17 位表示页号,0 至 10 位表示页内偏移量,则主存容量最大可为( )KB,主存可分为( )个块。若有一作业依次被放入 2、3、7 号物理块,相对地址 1500 处有一条指令“store1,12500”,那么,该指令地址所在页的页号为 0,指令的物理地址为( ),该指令数据的存储地址所在页的页号为( )。
- A.256、256、5596、7
- B.256、128、500、7
- C.256、128、5596、6
- D.256、128、5500、6
审计旁注(非原文):作废
18 位逻辑地址和 2KB 页只能推出 128 个虚页,不能推出物理内存容量。
Q29¶
某计算机系统采用带快表的分页式存储管理方式。已知访问内存需要用时 1us,查询快表需要用时 0.2us,忽略快表更新等时间。若快表和内存的查询是串行的,请问在快表命中率为 85%和 50%时,系统的平均访存时间分别是多少( )。
- A.0.32us, 0.6us
- B.0.35us, 0.7us
- C.1.35us, 1.7us
- D.1.32us, 1.6us
Q30¶
计算机采用段页式存储管理,逻辑地址为 32 位。其中段号占 8 位,段内页号占 12 位,页内偏移占 12 位。物理内存按字节编址,页大小为 4KB,页表项大小为 4B。系统为每个进程维护一个段表,段表项大小为 8 字节。若某进程的段表起始物理地址为 8000 0000H。当前 CPU 访问逻辑地址 0501 2456H。已知段号为 5 的段表项内容为 0000 2000H(表示该段对应页表的起始物理地址)。则该逻辑地址对应的页表项的物理地址为( )。
- A.8000 0028H
- B.0000 2012H
- C.0000 2048H
- D.0000 2072H
Q31¶
下列关于分段存储管理系统数据共享相关概念的叙述中,错误的是( )。
- A.共享代码段(如公共库函数)通常是可重入代码(纯代码),在执行过程中不会被修改,因此多个进程可以同时安全地执行它
- B.当多个进程共享一个数据段时,为了保证数据的一致性,操作系统通常需要提供同步互斥机制,如信号量或管程
- C.系统为所有共享段建立一个共享段表,其中记录了每个共享段的物理位置、长度以及当前共享该段的进程数量(共享计数)
- D.为了实现共享,共享段在不同进程的段表中所对应的段号必须相同,但段内地址可以不同
Q32¶
下列关于分页和分段的描述中,正确的是( )。
- A.分页系统中,页面在物理内存中只能从页面大小的整数倍地址开始存放
- B.页是信息的物理单位,页长由用户决定
- C.分段主要目的是提高主存利用率
- D.段是信息的逻辑单位,段长由系统决定
Q33¶
对于采用分段式存储管理方式的计算机系统来说,以下相关描述中正确的是( )。
- A.程序分段对装入程序是可见的,程序如何分段在装入时决定
- B.程序分段对用户是可见的,程序如何分段在用户编程时决定
- C.程序分段对操作系统是可见的,程序如何分段在分配内存时决定
- D.程序分段对操作系统是可见的,程序如何分段在程序运行时决定
Q34¶
某计算机系统采用分段方式管理内存,段表存储在寄存器中,只存储段基址,不存储段长。某时刻段表内容如下所示:段寄存器 段基址CS 0x00000 DS 0x07c00 SS 0x65000 ES 0xb8000则段内偏移 0x1327(段基址在 CS 中)和 0x1592(段基址在 ES 中)对应的物理地址分别为( )。
- A.0x01327,0xB9592
- B.0x01327,0x09292
- C.0x66327,0xB9592
- D.0x66327,0x09292
Q35¶
段页式存储管理中( )。
- A.用户的地址空间是分页管理,物理内存是分段管理
- B.用户的地址空间是分段管理,物理内存是分页管理
- C.辅助存储空间是分段管理,物理内存是分页管理
- D.辅助存储空间是分页管理,物理内存是分段管理
Q36¶
页式存储管理方式、段式存储管理方式和段页式存储管理方式这三者的虚拟地址空间维度依次是( )。
- A.一维、一维、二维
- B.一维、二维、二维
- C.一维、二维、一维
- D.二维、一维、一维
Q37¶
用户在段页式存储管理方式下运行一个进程段表寄存器和段表如图所示(页面大小为 1KB)该用户在调试过程中,设计了 3 个地址,试图获取数据,地址如表所示。这三次获取数据的操作(不考虑 TLB),分别访问的内存次数为( )。段号 段内页号 页内地址3 3 0x30 8 0 0x22 1 1 0x10
- A.3、3、3
- B.1、0、3
- C.2、1、3
- D.1、2、2
原页版面片段(用于核对图表、矩阵或代码)

Q38¶
下列叙述中,正确的有( )。
- A.页式管理系统中,整个操作系统中只有一张页表
- B.段式管理系统中,每个进程都有一张段表
- C.段页式管理系统中,每个进程都有一张段表和一张页表
- D.段页式管理系统中,每个进程都有一张段表,整个操作系统中只有一张页表
Q39¶
下列关于虚拟存储器基本特征与实现基础的叙述中,正确的是( )。
- A.虚拟存储器通过将暂时不用的程序或数据全部保留在内存中,以加快访问速度
- B.虚拟存储器的实现必须依赖于连续的内存分配方式,以便于进行地址映射
- C.虚拟存储器在逻辑上扩大了内存容量,其能够提供的总存储容量受限于 CPU 地址结构(理论上限)和内存+外存容量(实际上限)的较小值
- D.实现虚拟存储器的核心思想是“一次性”和“驻留性”,即程序在运行前需一次性调入内存并常驻
Q40¶
下列关于进程的虚拟地址空间及其管理的叙述中,( )是不正确的。
- A.操作系统为每个进程都分配一个独立的、从 0 开始编址的虚拟地址空间,这使得不同进程的相同虚拟地址可以映射到不同的物理地址
- B.当用户程序调用如 malloc()这样的标准库函数请求动态分配内存时,所获得的指针通常指向的是进程虚拟地址空间中的一个地址
- C.为了实现内存保护,操作系统允许为进程虚拟地址空间中的不同区域(如代码区、数据区)设置不同的访问权限(如只读、可读写)
- D.一个进程的虚拟地址空间的总大小主要由当前系统中空闲物理内存的大小和磁盘上交换区的大小共同决定
Q41¶
在支持虚拟存储器的系统中,指令执行过程中发生缺页异常时,下列关于硬件和操作系统(OS)动作的描述,正确的是( )。
- A.MMU 在发现页表项存在位为 0 时,会直接陷入内核态并执行缺页中断处理程序
- B.只要系统分配给当前进程的物理页框数大于其工作集,就绝不会发生缺页
- C.缺页异常处理完成后,CPU 会重新执行触发该异常的那条指令
- D.若缺页发生时 TLB 命中,则说明页表项已经存在于内存中,硬件判断存在位为 0 是错误的
Q42¶
在缺页异常处理过程中,下列操作中,操作系统不会执行的是( )。
- A.保存当前程序的现场
- B.若物理内存已满,则选择一个或多个已在内存中的页面进行置换
- C.将引发缺页中断的用户进程立即从就绪队列移至阻塞队列
- D.更新页表以反映新调入页面的物理位置,并修改相关标志位
Q43¶
在支持虚拟内存的操作系统中,交换区(对换区,Swap Space)扮演着重要的角色。下列关于交换区的叙述中,错误的是( )。
I. 交换区是磁盘上的一块专用空间,用于存放从内存中换出的暂时不活跃的页面或整个进程
II. 操作系统管理交换区时,通常会采用与管理文件系统类似的数据结构和分配策略,以实现灵活的空间管理
III. 当物理内存不足时,操作系统可以将某些进程或进程的部分页面移至交换区,以释放物理内存给更需要的进程
IV. 增大交换区的大小可以加快虚实地址的转换,从而提高虚拟内存管理的效率
- A.I、II
- B.II、III
- C.II、IV
- D.IV
Q44¶
对于包含页缓冲队列的系统,当用户程序发生缺页时,不一定发生的操作是( )。
- A.重新执行缺页指令
- B.发起磁盘 I/O
- C.修改页表
- D.写用户内存
审计旁注(非原文):作废
目标页已在缓冲区时,B、D 所述动作都可能不发生。
Q45¶
某 64 位系统采用四级页表管理,逻辑地址结构中各级页表索引和页内偏移长度分别为:一级(9 位)、二级(9 位)、三级(9 位)、四级(9 位)、页内偏移(12 位)。页表项大小为 8B。若一个进程的某代码段仅占用了 2 个虚拟页面,这两个页面的逻辑地址分别为 0x0000 0000 0000 1000 和0x0000 0001 0000 2000。则该进程为了映射这两个页面,操作系统需要为其创建的页表(包含各级页表)总共占用( )个页框。
- A.4
- B.5
- C.6
- D.7
Q46¶
在请求分页管理中,已修改过的页面再次装入时应来自( )。
- A.磁盘文件区
- B.磁盘对换区
- C.后备作业区
- D.I/O 缓冲区
Q47¶
某虚拟存储器的用户编程空间共 32个页面,每页 1KB,主存为 16KB。页表中已调入主存的页面的虚页号和物理页号对应关系见下标,虚地址 0A5CH和 1A5CH对应的物理地址分别为( )。虚页号 物理页号0 5 1 10 2 4 3 7
- A.1E5CH,2A5CH
- B.1E5CH,缺页
- C.125CH,2A5CH
- D.125CH,缺页
Q48¶
系统采用页式虚拟存储管理和固定分配局部置换策略,页框大小为 512B,某个进程中有如下代码段:int a[128][128]; for(int i=0;i<128;i++) for(int j=0;j<128;j++) a[j][i]=0;假设系统数组按行优先存放,为每个 int 型数据分配 4B 空间,该段代码已在内存,但要处理的数据不在内存,系统为该进程分配的数据区只有 1 个页框,则执行上述代码会发生( )次缺页中断。(页面置换时不置换代码段所在页面)
- A.1
- B.2
- C.128
- D.16384
Q49¶
某分页虚拟存储管理系统中内存存取时间为 1us。处理缺页中断时,若还有可用的空页框或被替换的页未被修改,则处理一个缺页中断需要 1ms;如果被替换的页已被修改,则处理一个缺页中断需要 10ms。假定 60%的替换页被修改过,为保证有效存取时间不超过 3us,可接受的最大缺页率是( )。
- A.1/164
- B.1/64
- C.1/16400
- D.1/6400
Q50¶
进程 P1 和 P2 通过共享内存机制共同映射了同一个物理页框 F。P1 中该页面的虚拟地址为0x40001000,属性为只读;P2 中该页面的虚拟地址为 0x70002000,属性为可读写。下列叙述中,正确的是( )。
- A.P1 和 P2 对应的页表项中,填写的物理页框号一定不同
- B.物理页框 F 本身的硬件保护位在 P1 访问时被动态修改为只读,P2 访问时被修改为可读写
- C.P1 和 P2 在各自独立的页表项中保存了不同的访问权限控制位
- D.若 P2 修改了该页面的内容,P1 在虚拟地址 0x40001000 处无法立即看到修改后的内容
Q51¶
假设某系统中的 TLB的命中率大约是 75%,并且使用了二级页表,则平均访存次数是( )。(访问 TLB 的时间忽略)
- A.平均需要 1.25 次内存访问
- B.平均需要 1.5 次内存访问
- C.平均需要 1.75 次内存访问
- D.平均需要 2 次内存访问
Q52¶
在虚拟存储系统中,关于进程虚拟地址空间和多级页表的描述,正确的是( )。
- A.多级页表的主要目的是减少页表占用的连续内存空间,同时也能加快单次地址转换的速度
- B.每个进程都有独立的虚拟地址空间,其页目录表的首地址必须是物理地址;在进程未执行时,该地址保存在内核空间的进程控制块 PCB 中,当进程被调度执行时,由操作系统将其加载到 CPU 的页表基址寄存器中
- C.二级页表体系中,若虚拟地址为 32 位,页大小为 4KB,页表项为 4B,则页目录层占用的最大内存为 4MB
- D.多级页表解决了单级页表在大地址空间下的内存浪费问题,且不可能会增加缺页时的额外磁盘I/O 开销
Q53¶
下列关于内存分配策略的叙述中,正确的有( )。
I. 内存分配策略和置换策略可以随意搭配
II. 固定分配局部替换策略的困难在于难以确定为每个进程分配的物理块数
III. 可变分配局部替换策略可以降低抖动发生的可能性
- A.I、II
- B.II、III
- C.I、III
- D.全部
Q54¶
在请求分页存储管理中,当分配的页面数增加时,缺页中断的次数( )。
- A.升高
- B.降低
- C.不变
- D.以上都有可能
Q55¶
下列关于 LRU 算法及其近似算法硬件支持或实现方式的叙述中,错误的是( )。
- A.可以为每个物理页框设置一个移位寄存器,并周期性地右移,访问时将最高位置 1,具有最小寄存器值的页面即为最近最久未使用页
- B.可以利用一个特殊的硬件栈来维护当前在内存中页面的访问顺序,栈顶始终是最新访问的页面,栈底则是最近最久未使用的页面
- C.操作系统可以通过在页表项中增加一个“访问位”,并周期性地清零该位,结合一个替换指针循环扫描来近似实现 LRU 算法
- D.为了精确实现 LRU,最简单且开销最小的方法是为每个页表项设置一个时间戳寄存器,记录该页最后一次被访问的精确系统时间
Q56¶
下列页面替换算法中,平均缺页率从大到小的顺序一般是( )。①最佳替换 OPT ②先进先出 FIFO ③最近最少使用 LRU
- A.③②①
- B.②③①
- C.②①③
- D.①②③
Q57¶
页面置换算法 LRU-K是 LRU算法的变种,K代表最近使用的次数,LRU可以认为是 LRU-1。下面介绍 LRU-2 算法,LRU-2 算法需要维护两个队列(历史访问队列,缓存队列),需要访问某一页时,先查找缓存队列。①如果该页在缓存队列中,则可以直接访问,并且将该页重新放在缓存队列队尾位置②如果该页未在缓存队列中但是在历史访问队列中,则将该页从历史访问队列移出并加入缓存队列中③如果该页未在缓存队列且未在历史访问队列中,则该页放人历史访问队列并访问该页假设两个队列长度都为 5,队列采用 FIFO 淘汰策略,初始内存中没有数据,使用 LRU-2 算法,页号访问序列为:(5,6,7,8,3,8,5,9,6,8,3,4,7,5,6)。当第 10 次访问,访问到 8 号页时,缓存队列的队头是( )。
- A.3
- B.5
- C.8
- D.6
Q58¶
某请求分页内存管理系统采用固定分配局部替换策略。某进程某一时刻的页表如下所示:进程访问第 4 页时发生缺页,则使用 FIFO、LRU 和改进的 CLOCK 算法时,换出页面的页号分别应当为( )。
- A.0,3,2
- B.1,2,2
- C.2,2,3
- D.1,3,3
原页版面片段(用于核对图表、矩阵或代码)

Q59¶
假设系统为某进程分配了 3 个物理块,考虑页面走向为:7,0,1,2,0,3,0,4.试问采用CLOCK 页面淘汰算法时缺页中断的次数为( )。
- A.8
- B.7
- C.6
- D.5
Q60¶
在虚拟存储系统中,若进程在内存中占 3 块(开始时为空),采用先进先出页面淘汰算法当执行访问页号序列为 1、2、3、4、1、2、5、1、2、3、4、5、6 时,将产生( )次缺 页中断。
- A.7
- B.8
- C.9
- D.10
Q61¶
系统采用请求分页式存储管理方式,页框的分配和置换采用固定分配局部置换。操作系统给进程 A 分配的页框数为 4,初始为空。接下来一段时间中进程陆续访问了如下页面:1、8、1、7、8、2、7、2、1、8、3、8、2、1、3、1、7、1、3、7。若采用 LRU 算法置换页面,则发生缺页中断的次数是( )。
- A.3
- B.5
- C.6
- D.8
Q62¶
系统按字节编址,采用请求分页存储系统,页框的分配和置换采用固定分配局部置换方式。某一时刻,进程 A 的页框全部空闲,在接下来的一段时间中依次访问了如下页面:1,3,2,1,1,3,5,1,3,2,1,5。若使用 LRU 算法选择置换页,请问进程 A 分配页框数为 3 和 4 时的缺页率各是多少( )。
- A.20%,33%
- B.50%,33%
- C.25%,66%
- D.50%,80%
Q63¶
给一个进程分配 4个页框,其页表如下。在时间164产生虚页号 4缺页。分别按照 FIFO、LRU、CLOCK 策略,被置换出的页框号是( )。虚页号 页框号 加载时间 访问时间 访问位1 0 60 161 1 2 1 130 160 1 0 2 26 162 0 3 3 20 163 1
- A.3、1、1
- B.3、2、0
- C.3、2、3
- D.3、1、2
原页版面片段(用于核对图表、矩阵或代码)

Q64¶
以下对置换算法和抖动的描述中正确的有( )。
I. 使用时钟(CLOCK)置换算法可能会产生 Belady 现象
II. 使用先进先出(FIFO)页面置换算法可能会产生 Belady 现象
III. 如果进程的工作集都被调入到了物理内存中,则进程的缺页率可以保持一个较低水平。否则可能出现抖动现象
IV. 如果进程的工作集都被调入到了虚拟内存中,则进程的缺页率可以保持一个较低水平,否则可能出现抖动现象
- A.I、Ⅲ
- B.Ⅰ、IV
- C.I、Ⅱ、Ⅲ
- D.Ⅱ、IV
Q65¶
进程的页面访问序列为 {1, 1, 2, 3, 2, 4, 1, 4, 2, 5}。系统采用工作集策略动态调整驻留集大小,设定工作集滑窗大小 Δ = 5。若当前刚刚访问完序列中的最后一个页面 5,则此时该进程的工作集WS 以及在整个访问序列执行过程中最多曾有多少个页面同时驻留在内存中?( )。
- A.{2, 4, 5},4 个
- B.{1, 2, 4, 5},4 个
- C.{1, 2, 4, 5},5 个
- D.{2, 4, 5},5 个
Q66¶
在页式虚拟管理系统中,假定驻留集为m个页帧(初始所有页帧均为空),在长为 p 的引用串中具有 n 个不同页号(n>m),对于 FIFO、LRU 两种页面替换算法,其缺页中断的次数的范围分别为( )。
- A.[m,p]和 [n,p]
- B.[m,n]和 [n,p]
- C.[n,p]和 [m,n]
- D.[n,p] 和 [n,p]
Q67¶
内存映射文件(Memory-Mapped File)是一种允许进程将文件内容直接映射到其虚拟地址空间的技术。下列关于内存映射文件的叙述中,错误的是( )。
- A.进程访问内存映射文件区域就像访问普通内存一样,无需显式的 read()或 write()系统调用
- B.不同进程可以将同一个文件映射到各自的虚拟地址空间中,实现对该文件内容的高效共享
- C.当一个进程修改其内存映射文件区域时,所做的修改会立即写回磁盘上的原始文件
- D.内存映射文件区域的读写操作可能会引发缺页中断,操作系统会负责将文件内容从磁盘按需调入物理内存
审计旁注(非原文):改解析
MAP_PRIVATE 的修改不会写回原文件;答案 C 可保留。
Q68¶
以下关于内存映射文件的说法中错误的是( )。
- A.一般的 I/O 操作中,从磁盘调入的文件会先写入内核页高速缓存,然后再从页高速缓存复制到用户进程缓冲区。而内存映射文件避免这次从内核空间到用户空间的额外数据复制,从而提高 I/O 效率
- B.进程通过系统调用将文件映射到其虚拟内存空间的一部分,并将这一文件全部调入到物理内存
- C.内存映射文件实现了从进程对应磁盘文件到其虚拟内存空间中某部分的映射
- D.内存映射文件能为不同进程提供一个高带宽的通信通道
Q69¶
下列选项中,不会影响系统缺页率的是( )。
I. 页面置换算法
II. 工作集的大小
III. 进程的数量
IV. 页缓冲队列的长度V. 程序的编制方法
- A.IV
- B.III
- C.I
- D.V
Q70¶
为判断一个请求分页存储管理系统的运行性能,对系统中各设备的利用率进行测试,结果如下CPU利用率为 15%,磁盘交换区利用率为99.1%,其他I/O设备利用率为 6%。以下措施中可以改进 CPU利用率的是( )。
I. 使用容量更大的内存
II. 减少系统多道程序度数
III. 增加多道程序度数
IV. 增大磁盘交换区的容量、V. 使用存取速度更快的磁盘交换区
VI. 使用处理速度更快的 CPU
- A.Ⅰ、Ⅱ
- B.Ⅰ、Ⅲ
- C.Ⅱ、Ⅲ、Ⅴ、Ⅵ
- D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
Q71¶
在段式存储管理中,某进程的段表项结构包括:段号、段长、基址、有效位(存在位)、访问权限位。当 CPU 执行一条指令,企图去写一个逻辑地址为 (段号=3, 段内偏移=5000) 的内存单元时,硬件地址变换机构会进行一系列检查。关于检查顺序与异常触发的叙述,正确的是( )。
- A.先检查有效位,若该段不在内存中则抛出“缺段异常”;再检查段内偏移是否大于段长,若大于则抛出“越界异常”
- B.先检查段内偏移是否大于段长,若大于则直接抛出“越界异常”;若未越界,再检查有效位,若有效位为 0 则抛出“缺段异常”
- C.先检查访问权限位是否允许写,若不允许则抛出“保护异常”;然后再依次检查段长和有效位
- D.越界检查和缺段检查由硬件并行执行,若同时发生,优先处理缺段异常,因为要从外存调入段
Q72¶
某系统采用多级页表机制,并配备了 TLB。为了进一步优化虚实地址转换性能,系统引入了“大页”技术(比如页面的大小有 2MB 这么大)。关于大页机制对系统性能的影响,下列说法中错误的是( )。
- A.大页显著减少了页表的总表项数量,从而降低了多级页表的级数和访存次数
- B.在相同的 TLB 容量下,大页可以覆盖更大的虚拟地址空间,大幅提高 TLB 命中率
- C.大页机制会增加内部碎片的平均大小,且可能导致页面置换时的 I/O 延迟增加
- D.大页机制使得操作系统可以完全取消软件层面的页表管理,全部交由硬件 MMU 自动完成
Q73¶
当一个正在用户态运行的进程 P 发生缺页异常并进入内核态处理时,操作系统内核会执行一系列操作。下列关于进程 P 以及系统状态变化的执行顺序流中,最合理的是( )。
- A.触发缺页异常→进程 P 保持运行态 →磁盘 DMA 开始读页→读完后修改页表→P 继续执行
- B.触发缺页异常→进程 P 转为阻塞态→ 调度程序切换到进程 Q 执行→磁盘中断唤醒 P→P 变为就绪态
- C.触发缺页异常→进程 P 转为就绪态→操作系统利用 CPU 强行同步读盘→读完后 P 转为运行态
- D.触发缺页异常→进程 P 直接被撤销→操作系统回收其所有页框并转给其他进程
Q74¶
某计算机采用二级页表机制,虚拟地址空间为 32 位,按字节编址,页面大小为 4KB。页目录项(一级页表项)和页表项(二级页表项)大小均为4 字节。若某进程的页目录表起始物理地址为 0010 0000H,该进程在运行时访问虚拟地址 0040 8000H。已知该虚拟地址对应的页目录项中存放的页框号为00200H,则该虚拟地址对应的二级页表项(PTE)的物理地址是( )。
- A.0010 0004H
- B.0020 0008H
- C.0020 0020H
- D.0020 0032H
Q75¶
关于请求分页系统中指令执行过程的地址转换机制,下列说法正确的是( )。
- A.地址转换的全过程均由硬件的 MMU 完成,操作系统仅在缺页异常时才被触发执行
- B.TLB 未命中时,需要先访问内存中的页表获取页框号,再更新 TLB,最后重新执行该指令,此过程对用户程序完全透明
- C.缺页中断的检测由硬件完成,但缺页处理程序的全部操作(包括分配页框、调度、I/O 启动)均由操作系统在内核态下执行
- D.在进行地址转换时,MMU 只负责计算物理地址,而关于该页面的读、写及执行等权限检查,是在将物理地址发送给主存后,由主存控制器完成的
Q76¶
当发生缺页中断时,以下哪个操作一定不是操作系统此时必须执行的? ( )。
- A.在页表中找到该页面对应的外存地址
- B.从空闲页框链表中分配一个物理页框
- C.修改发生缺页指令的程序计数器,使其在页面载入后能重新执行该指令
- D.将所缺的页面从外存读入到新分配的物理页框中
审计旁注(非原文):作废
缺页处理动作取决于空闲页框、牺牲页是否为脏页等条件。
Q77¶
在一个采用固定分配局部置换策略的多道程序系统中,有两个进程 P1 和 P2。假设系统总共有10 个物理页框,P1 和 P2 初始时都只分配了 2 个页框。现在,P1 的工作集突然增大,其活跃页面数量超过了其分配的 2 个页框。与此同时,P2 的工作集保持稳定。关于此情景,以下说法正确的是( )。
I. P1 的缺页率会上升,可能导致其自身进入抖动状态
II. 操作系统可以从 P2 的页框集合中抢占页框分配给 P1,以满足 P1 的需求
III. P2 的缺页率不会受到影响,因为 P1 无法抢占 P2 的页框
- A.仅 I
- B.III
- C.I 和 III
- D.I、 II 和 III
Q78¶
当一个用户进程成功调用 mmap() 系统调用,将一个大小为 10MB 的磁盘数据文件映射到其虚拟地址空间后,下列关于操作系统内部处理机制的叙述中,正确的是( )。
- A.操作系统会立即在物理内存中开辟 10MB 的连续空间,并将文件内容完整读入该空间
- B.页表项(PTE)在此刻被建立,其物理页框号直接指向了该文件在磁盘上的物理块号
- C.进程首次使用指针读取该映射区首地址的数据时,系统会因为物理页框未分配而触发缺页异常
- D.内存映射文件区域的页面换入换出,是由独立于虚拟存储器置换例程的专用文件 I/O 进程单独控制的
Q79¶
下列方法中,能够有效降低系统缺页率的是( )。
Ⅰ. 增大 TLB 容量,提高 TLB 命中率
Ⅱ. 采用更优的页面置换算法
Ⅲ. 增加进程分配的页框数量,使工作集完全置于内存中
Ⅳ. 降低系统的多道程序并发度,挂起部分处于等待状态的进程
- A.Ⅰ、Ⅱ
- B.Ⅱ、Ⅲ、Ⅳ
- C.Ⅲ、Ⅳ
- D.Ⅰ、Ⅱ、Ⅲ、Ⅳ