Skip to content

2012年 408 操作系统 第 25 题

操作系统2012年选择题2分

题目

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

错因

A

正好反——虚拟存储的实现必须用非连续分配(分页 / 分段 / 段页式)。连续分配下整个程序要在一段连续物理内存里、且全部装入,根本没有"按需调入"的余地,做不出虚拟存储。把"虚拟"误以为是"看起来连续就连续分配"是搞反了——虚拟地址连续 ≠ 物理分配连续。

C

虚拟存储容量不只受外存限制——还受**寻址范围(地址总线位数)**限制。32 位机虚拟地址最大 = 4GB,外存再大虚拟空间也只能这么大;64 位机才会让外存成主要瓶颈。把"只受外存限"绝对化是漏了寻址位数这条上限。

D

虚拟存储的核心价值就是让虚拟地址空间比物理内存大——内存装不下的部分放外存,按需调入。把"只受内存限"当真就否定了虚拟存储的意义:那不就跟没虚拟一样了吗?

总解析

虚拟存储的核心机制:虚拟地址空间 → 部分驻留内存 + 部分驻留外存

选项描述判定
A只能基于连续分配✗ 反——连续分配做不出虚拟存储
B只能基于非连续分配 —— 必须分页 / 分段 / 段页式,按页/段为单位调入调出
C容量只受外存限制✗ 还受寻址位数限制(虚拟地址范围上限)
D容量只受内存限制✗ 反——虚拟存储就是要让它大于内存

虚拟存储容量的真实约束

  • 32 位地址 + 1TB 外存 → 仍只能用 4GB
  • 64 位地址 + 100GB 外存 → 由外存兜底(外存比寻址范围小)

速记:虚拟存储 = 非连续分配(页/段)+ 按需调入 + 虚拟地址空间 > 内存。两个核心都是"非连续"+"扩展容量",连续分配既做不到第一条,也很难做第二条;只看内存又否定了第二条。

最终答案是 B

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题