操作系统学习笔记第3章 内存管理(灰灰题库)

  1. 单选题

某页式存储管理系统中,主存为 128KB,分成 32 块,块号为 0、1、2、3、...、31。某作业有 5 块,其页号为 0、1、2、3、4,被分别装入主存的 3、8、4、6、9 块中。有一逻辑地址为 [3, 70](其中方括号中的第一个元素为页号,第二个元素为页内地址,均为十进制),则其对应的物理地址为______。

A. 24646

B. 24576

C. 24070

D. 670

正确答案:A

考查逻辑地址和物理地址的转换。块大小为128KB/32=4KB, 因为块与页面大小相等,所以每页为 4KB。第3页被装入到主存第6块中,故逻辑地址[3, 70]对应的物理地址为 4KB*6+70= 24576+70=24646。

解析

1.计算块大小

主存大小为128KB,共分成32块,根据公式:块大小 = 主存容量 ÷ 块数,可得块大小为128KB÷32=4KB 。因为1KB=1024B,所以4KB=4×1024=4096B,这意味着页内地址为12位(212=4096)。

2.确定物理块号

已知逻辑地址为[3,70],页号为3 。根据题目所给信息,作业页号3对应的物理块号是6。

3.计算物理地址

物理地址 = 物理块号 × 块大小 + 页内地址。将物理块号6、块大小4096、页内地址70代入公式,可得物理地址为6×4096+70=24576+70=24646 。

2 单选题

某系统内存容量 4GB,页面大小 4KB,采用反置页表,一个页表项需 4B。当系统中有 40 个进程(设每个进程用 1GB 地址空间)时,反置页表占用的内存容量是______。

A. 4MB

B. 10MB

C. 20MB

D. 40MB

一个进程对应一个页表。1G对应256K的页面,也就是256K*4B就是1M,40个进程40M。

3 单选题

在分段存储管理中,地址转换公式是______。

A. 物理地址 = 界限寄存器值 + 逻辑地址

B. 物理地址 = 下限寄存器值 + 逻辑地址

C. 物理地址 = 基址寄存器 + 逻辑地址

D. 物理地址 = 段首地址 + 段内地址

在段式存储管理中,逻辑地址由两部份组成:段标识符和段内偏移量。逻辑地址由段标识符(段号)查找段表,得到相应的段首地址,通过首地址与段内地址求和得到相应的逻辑地址。

答案:D

解析

A 选项:界限寄存器主要用于存储段的长度等界限信息,并非用于计算物理地址 ,所以该选项错误。

B 选项:下限寄存器一般用于存储存储区域下限等相关信息,和分段存储管理地址转换公式没有关系,该选项错误。

C 选项:"物理地址 = 基址寄存器 + 逻辑地址" 是连续分配存储管理(如固定分区、可变分区等)中地址转换方式,不是分段存储管理的地址转换公式,所以该选项错误。

D 选项:在分段存储管理中,逻辑地址由段号和段内地址组成。系统根据段号找到对应的段首地址,然后将段首地址与段内地址相加,就得到了物理地址,即物理地址 = 段首地址 + 段内地址,该选项正确。

4 单选题

下列关于虚拟存储器的叙述中,正确的是_____。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

答案:B

解析:

选项 A:虚拟存储不是基于连续分配技术。连续分配技术(如固定分区、可变分区等)不利于内存空间的灵活使用和虚拟存储的实现 ,虚拟存储需要更灵活的内存管理方式,所以 A 错误。

选项 B:虚拟存储主要基于非连续分配技术,如分页、分段等。分页将进程和内存空间划分为大小相等的页,分段将进程按逻辑段划分,这些非连续分配方式使得程序可以离散地存放在内存中,方便实现虚拟存储,B 正确。

选项 C:虚拟存储容量并非只受外存容量限制。虽然外存容量对虚拟存储有影响,但它还受地址总线位数等因素制约,地址总线位数决定了能表示的最大地址空间,所以 C 错误。

选项 D:虚拟存储容量不受内存容量的唯一限制。它是通过外存和内存的协同工作来扩大程序可使用的存储空间,内存容量只是其中一个影响因素,并非唯一限制因素 ,所以 D 错误。

在程序装入时,可以只将程序的一部分装入内存,而将其余部分留在外存,就可以启动程序执行。 采用连续分配方式时,会使相当一部分内存空间都处于暂时或永久的空闲状态,造成内存资源的严重浪费,也无法从逻辑上扩大内存容量,因此虚拟内存的实现只能建立在离散分配的内存管理的基础上。有以下三种实现方式:①请求分页存储管理;②请求分段存储符理;③请求段页式存储符理。虚拟存储器容逛既不受外存容量限制,也不受内存容量限制, 而是由CPU的寻址范围决定的。

5 单选题

在缺页处理过程中,操作系统执行的操作可能不发生的是____。

A. 修改页表

B. 磁盘 I/O

C. 分配页框

D. 页面置换

答案:D

解析:

·选项 A :缺页处理时,当调入新页或更新页的状态等情况发生,必然要修改页表来记录页面的相关信息,如页框号、存在位等,所以修改页表操作一定会发生。

·选项 B :缺页意味着所需页面不在内存,需要从外存(磁盘)调入页面到内存,这就一定会涉及磁盘 I/O 操作来读取磁盘上的页面数据。

·选项 C :要将从磁盘读取的页面放入内存,必须先为其分配一个页框,所以分配页框操作是缺页处理中基本会发生的。

·选项 D :当内存中有空闲页框时,直接将缺页调入空闲页框即可,无需进行页面置换;只有在内存中没有空闲页框时,才需要根据置换算法选择一个页面换出,再将缺页调入,所以页面置换操作可能不发生。

缺页中断调入新页面,肯定要修改页表项和分配页框,所以A、C可能发生,同时内存没有页面,需要从外存读入,会发生磁盘I/O。当给进程分配的内存块还存在空闲块时,不会发生页面置换算法;当不存在空闲块时,发生页面置换算法。

相关推荐
LVerrrr28 分钟前
Missashe考研日记—Day37-Day43
学习·考研
TIF星空2 小时前
【使用 C# 获取 USB 设备信息及进行通信】
开发语言·经验分享·笔记·学习·microsoft·c#
AI算法工程师Moxi4 小时前
什么时候可以开始学习深度学习?
人工智能·深度学习·学习
jiedaodezhuti6 小时前
ElasticSearch重启之后shard未分配问题的解决
笔记·elasticsearch
z人间防沉迷k7 小时前
堆(Heap)
开发语言·数据结构·笔记·python·算法
z542968z7 小时前
Springboot3自定义starter笔记
笔记
jackson凌8 小时前
【Java学习笔记】equals方法
java·笔记·学习
虾球xz8 小时前
游戏引擎学习第282天:Z轴移动与摄像机运动
c++·学习·游戏引擎
.小墨迹9 小时前
Apollo学习——planning模块(3)之planning_base
linux·开发语言·c++·学习·自动驾驶