Skip to content

虚拟机

考情分析

虚拟机是近年新增考点,了解两类虚拟机的区别即可。🔥 低频。

云服务器上一台物理机同时跑着几十个用户的 OS 实例,它们互不干扰——这种"一台机器变多台"的魔法是怎么实现的?

虚拟机的概念

虚拟机(Virtual Machine, VM):通过软件模拟,在一台物理机上运行多个相互隔离的虚拟计算机,每个虚拟机都可以运行独立的操作系统。

虚拟机监控程序(VMM / Hypervisor):管理虚拟机的软件层,负责将物理资源分配给各虚拟机。

两类虚拟机

第一类(Type 1):直接运行在硬件上

特点说明
VMM 位置直接运行在硬件
性能高(无宿主 OS 开销)
典型产品VMware ESXi, Xen
应用场景数据中心、云计算

第二类(Type 2):运行在宿主 OS 上

特点说明
VMM 位置运行在宿主 OS 之上
性能较低(多了一层 OS)
典型产品VMware Workstation, VirtualBox
应用场景个人开发、测试

两类 VMM 对比

比较Type 1Type 2
运行在硬件之上宿主 OS 之上
性能较低
管理复杂度低(安装方便)
Guest OS 权限VMM 模拟特权指令依赖宿主 OS

虚拟化的关键问题

特权指令的处理

Guest OS 在虚拟机中运行在用户态,无法执行特权指令。解决方案:

方法说明
陷入-模拟Guest OS 执行特权指令时产生异常,VMM 捕获并模拟执行——类似于小孩(Guest OS)以为自己在开车,其实方向盘没接真的轮子,大人(VMM)在后面真正控制
二进制翻译VMM 扫描 Guest OS 代码,替换敏感指令
半虚拟化修改 Guest OS 源码,将敏感操作替换为对 VMM 的调用
硬件辅助CPU 提供硬件虚拟化支持(Intel VT-x / AMD-V)

虚拟机 vs 进程

比较虚拟机进程
隔离级别OS 级别隔离进程级别隔离
运行内容完整的操作系统单个程序
资源消耗大(需要独立 OS)
启动速度

考研高频考点

  • 🔥🔥 Type 1 vs Type 2 VMM 的区别
  • 🔥 虚拟机中 Guest OS 运行在用户态,特权指令需要 VMM 处理
  • 🔥 虚拟化的核心问题:敏感指令的处理

概述章节到此结束。从下一章开始进入操作系统的核心主题——进程管理,首先来看"进程"这个概念是怎么被提出的,以及进程与程序的本质区别。

真题练习

相关真题(1题)

2025Q25选择题2分

虚拟机:VMM运行在最高特权级,高于客户OS