Appearance
408
操作系统
虚拟机
一、定位信息
- 所属圈层:核心层
- 前置知识:了解操作系统的基本概念和功能(OS-01-01),了解CPU运行模式(用户态/内核态,OS-01-03)
- 知识网络位置:虚拟机是OS"虚拟"特征的高级体现,理解虚拟机有助于深化对OS本质(资源抽象与隔离)的认识
- 考点热度等级:L级(低频了解)——近5年真题中偶尔出现,了解基本概念即可
二、知识点讲解
2.1 虚拟机的概念
虚拟机(Virtual Machine, VM)是通过虚拟化技术在一台物理计算机上创建的多个逻辑计算机。每个虚拟机都拥有独立的虚拟硬件(CPU、内存、磁盘、网卡等),可以运行独立的操作系统和应用程序。
2.2 虚拟机的类型
| 类型 | 实现方式 | 特点 | 典型代表 |
|---|---|---|---|
| 第一类虚拟机(裸金属型) | 虚拟机监控程序(VMM/Hypervisor)直接运行在硬件上 | 性能高,开销小 | VMware ESXi、Xen、KVM |
| 第二类虚拟机(宿主型) | VMM运行在宿主OS之上 | 部署方便,性能略低 | VMware Workstation、VirtualBox |
2.3 虚拟机监控程序(VMM/Hypervisor)
VMM是虚拟化的核心软件层,负责:
- 资源虚拟化:将物理资源抽象为多个虚拟资源
- 隔离保护:确保各虚拟机之间互不干扰
- 调度管理:合理分配物理资源给各虚拟机
VMM需要满足的三个条件:
- 等价性:虚拟机的运行行为与物理机一致
- 资源控制:VMM完全控制物理资源
- 效率性:大部分指令直接在物理CPU上执行(非陷入模拟)
2.4 虚拟化技术分类
| 技术 | 虚拟对象 | 说明 |
|---|---|---|
| 全虚拟化 | 整个硬件平台 | Guest OS无需修改,VMM通过二进制翻译处理特权指令 |
| 半虚拟化 | 整个硬件平台 | Guest OS需要修改,通过Hypercall直接与VMM交互,性能更好 |
| 硬件辅助虚拟化 | 整个硬件平台 | CPU提供虚拟化指令支持(如Intel VT-x),简化VMM实现 |
| 操作系统级虚拟化 | OS层 | 共享宿主OS内核,通过容器技术隔离(如Docker) |
三、记忆与理解辅助
- 口诀区分两类虚拟机:"一裸二宿"——第一类直接跑在硬件上(裸金属),第二类跑在宿主OS上
- 一句话理解VMM:VMM是"虚拟机的操作系统"——管理物理资源,为各VM提供虚拟硬件
- 容器 vs 虚拟机一句话区分:虚拟机虚拟整个硬件(重量级),容器共享OS内核(轻量级)
四、例题与精解
例题1(基础巩固)
题目:第一类虚拟机与第二类虚拟机的主要区别是( )
A. 第一类虚拟机性能更低 B. 第二类虚拟机的VMM直接运行在硬件之上 C. 第一类虚拟机的VMM直接运行在硬件之上 D. 第二类虚拟机不需要宿主操作系统
命题意图:考查两类虚拟机的核心区别。
精解:
- 审题分析:需要区分两类虚拟机的VMM运行位置
- 解题思路:第一类=裸金属(VMM直接在硬件上),第二类=宿主型(VMM在宿主OS上)
- 完整步骤:
- A选项:错误。第一类VMM直接在硬件上运行,没有宿主OS的开销,性能更高
- B选项:错误。第二类VMM运行在宿主OS之上,不是直接在硬件上
- C选项:正确。第一类(裸金属型)的VMM直接运行在硬件之上
- D选项:错误。第二类虚拟机需要宿主OS作为VMM的运行平台
- 方法反思:记住"一裸二宿"即可——第一类直接在硬件上(裸金属),第二类在宿主OS上
答案:C
例题2(中等提升)
题目:以下关于虚拟机监控程序(VMM)的描述,错误的是( )
A. VMM负责将物理资源虚拟化为多个虚拟资源 B. VMM需要保证各虚拟机之间的隔离性 C. VMM将所有指令都通过模拟方式执行以保证正确性 D. VMM需要满足等价性、资源控制和效率性
命题意图:考查VMM的职责和特性。
精解:
- 审题分析:题目要求选出"错误"的描述
- 解题思路:回忆VMM的三个条件——等价性、资源控制、效率性
- 完整步骤:
- A选项:正确。资源虚拟化是VMM的核心功能
- B选项:正确。隔离保护确保各VM互不干扰
- C选项:错误。VMM追求效率性,大部分指令应直接在物理CPU上执行,只有特权指令才陷入VMM进行模拟。如果所有指令都模拟,性能会极差
- D选项:正确。这三个条件是VMM的基本要求
- 方法反思:VMM的效率性要求"尽量让指令直接执行",而非"全部模拟",这是理解虚拟化性能的关键
答案:C
五、考情分析
- 考查频次:近5年约0–1次
- 常见题型:选择题
- 分值占比:2分/题
- 命题趋势:低频考点,了解两类虚拟机的区别和VMM的基本概念即可。不太可能深入考查虚拟化技术细节
六、易错点提醒
错误表现:混淆第一类和第二类虚拟机的VMM运行位置 错误原因:名称容易误导 正确理解:第一类=裸金属型(VMM直接在硬件上),第二类=宿主型(VMM在宿主OS上)
错误表现:认为虚拟机和容器是同一概念 错误原因:两者都提供"隔离环境" 正确理解:虚拟机虚拟整个硬件栈(有自己的OS),容器共享宿主OS内核(只隔离进程和文件系统)
错误表现:认为VMM模拟所有指令所以虚拟机很慢 错误原因:不了解VMM的效率性要求 正确理解:大部分指令直接在物理CPU上执行,只有特权指令才由VMM处理,现代虚拟化性能接近原生
错误表现:认为虚拟机之间完全无法通信 错误原因:将"隔离"理解为"完全隔绝" 正确理解:隔离是指互不干扰和互不知情,但可以通过虚拟网络等方式进行通信
七、来源标注
- 依据2026考研统考408大纲
- 依据《计算机操作系统》(汤小丹/汤子瀛版)第1章
- 依据《操作系统概念》(Silberschatz版)第2章