一、传统计算机架构
1.1 传统计算机结构
传统计算机
├── 用户空间:运行在各操作系统上的进程
├── 内核空间:操作系统
└── 物理机器(硬件)
1.2 传统架构特点
一台物理机器只能运行一个操作系统
操作系统直接管理硬件资源
应用程序通过操作系统接口使用硬件
二、虚拟机基本概念
2.1 虚拟机定义
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器
Virtual Machine (VM):每个虚拟机器都可以独立运行一个操作系统
2.2 相关术语
VMM:虚拟机管理程序/虚拟机监控程序
Hypervisor:虚拟机监控程序的另一种称呼
Virtual Machine Monitor:虚拟机监控器
三、两类虚拟机管理程序
3.1 第一类VMM(裸金属架构)
3.1.1 运行方式
直接运行在硬件之上
不依赖宿主操作系统
3.1.2 架构示意图
虚拟机1 虚拟机2 虚拟机3↓ ↓ ↓
第一类VMM(直接运行在硬件上)↓
物理机器硬件
3.2 第二类VMM(托管架构)
3.2.1 运行方式
运行在宿主操作系统之上
依赖宿主操作系统分配资源
3.2.2 架构示意图
虚拟机1 虚拟机2 虚拟机3↓ ↓ ↓
第二类VMM(运行在宿主操作系统上)↓
宿主操作系统(Host OS)↓
物理机器硬件
四、两类VMM详细对比
4.1 综合对比表
| 对比维度 | 第一类VMM | 第二类VMM |
|---|---|---|
| 物理资源控制权 | 直接运行在硬件上,能直接控制和分配物理资源 | 运行在Host OS上,依赖Host OS分配物理资源 |
| 资源分配方式 | 安装Guest OS时,VMM在硬盘上自行分配存储空间,分配未经抽象的物理硬件 | Guest OS拥有虚拟磁盘,实际上是Host OS文件系统中的大文件;分配虚拟内存 |
| 性能表现 | 性能更好 | 性能更差,需要Host OS作为"中介" |
| 支持虚拟机数量 | 更多,不需要和Host OS竞争资源 | 更少,Host OS本身和其他进程需要物理资源 |
| 虚拟机可迁移性 | 更差 | 更好,只需要虚拟机镜像文件即可迁移 |
| 商业化应用 | - | 商业化应用更广泛 |
| 运行模式 | 运行在最高特权级(Ring 0),可执行最高特权指令 | 部分运行在用户态、部分运行在内核态 |
4.2 关键技术特点
4.2.1 第一类VMM特点
类似于"外核"的分配方式
直接管理硬件资源
更高的性能和资源利用率
4.2.2 第二类VMM特点
Guest OS的系统调用被VMM截获
转化为VMM对Host OS的系统调用
更方便的迁移和管理
五、常用虚拟机软件
5.1 学生常用软件
VirtualBox:Oracle开发的免费虚拟机软件
VMware:功能强大的商业虚拟机软件
5.2 虚拟机配置示例
以VirtualBox为例:
名称:Ubuntu 18.04
操作系统:Ubuntu (64-bit)
内存大小:2048 MB
启动顺序:软驱、光驱、硬盘
硬件加速:VT-x/AMD-v、嵌套分页、KVM等虚拟化
显示内存:16 MB
磁盘大小:10.00 GB
5.3 系统资源获取
Ubuntu系统镜像:https://cn.ubuntu.com/download
六、CPU虚拟化支持
6.1 特权级别(Ring Levels)
6.1.1 传统x86架构
Ring 0:最高权限级别(Kernel)
Ring 1:设备驱动
Ring 2:设备驱动
Ring 3:最低权限级别(Applications)
6.1.2 支持虚拟化的CPU
通常分更多指令等级
提供更好的虚拟化支持
允许更高效的资源隔离
6.2 权限级别说明
Ring 0:最高权限,可执行特权指令
Ring 3:最低权限,普通应用程序运行级别
中间级别:设备驱动等系统组件
七、虚拟化技术优势
7.1 资源利用率提升
一台物理机运行多个虚拟机
提高硬件资源利用率
降低硬件成本
7.2 隔离性与安全性
各虚拟机相互隔离
故障不会扩散到其他虚拟机
提高系统整体稳定性
7.3 灵活性与可迁移性
虚拟机可以轻松迁移
快速部署和复制
方便测试和开发
7.4 兼容性
在同一硬件上运行不同操作系统
支持遗留系统
简化软件兼容性问题
八、虚拟化应用场景
8.1 服务器虚拟化
数据中心服务器整合
云计算基础架构
提高服务器利用率
8.2 桌面虚拟化
虚拟桌面基础设施(VDI)
安全办公环境
统一管理桌面系统
8.3 开发测试
快速创建测试环境
隔离的开发环境
简化软件部署测试
8.4 灾难恢复
虚拟机快速恢复
业务连续性保障
降低恢复时间目标
九、重要考点与复习要点
9.1 核心概念理解
9.1.1 必记概念
虚拟机的定义和基本原理
两类VMM的区别和特点
Hypervisor的作用和类型
CPU特权级别的作用
9.1.2 对比分析重点
第一类VMM与第二类VMM的性能差异原因
不同VMM架构的适用场景
虚拟化对资源管理的影响
9.2 技术细节掌握
9.2.1 资源分配方式
第一类VMM:直接分配物理硬件
第二类VMM:通过文件系统虚拟化
9.2.2 性能影响因素
中间层的数量
系统调用转换开销
资源竞争情况
9.2.3 迁移性差异
第一类VMM迁移复杂
第二类VMM迁移简单
9.3 实际应用理解
9.3.1 软件选择依据
性能要求
管理便利性
成本考虑
功能需求
9.3.2 部署考虑因素
硬件虚拟化支持
资源需求评估
网络配置
存储方案
9.4 考试重点提示
9.4.1 选择题考点
两类VMM的特征识别
虚拟化相关术语对应
性能影响因素分析
9.4.2 简答题考点
对比分析两类VMM的优缺点
解释虚拟化如何提高资源利用率
分析虚拟化技术的适用场景
9.4.3 应用题考点
根据需求选择合适的虚拟化方案
分析虚拟化环境中的性能问题
设计虚拟机迁移方案
十、复习建议
10.1 概念理解
重点掌握虚拟化的核心思想
理解两类VMM的根本区别
掌握虚拟化带来的好处
10.2 对比学习
制作对比表格记忆两类VMM特点
通过实际案例理解理论概念
联系云计算等实际应用
10.3 实践结合
亲身体验虚拟机软件
理解配置参数的意义
观察资源分配情况
10.4 考点聚焦
重点记忆对比表格内容
理解性能差异的根本原因
掌握专业术语的准确含义
核心思维:虚拟化技术的核心是通过软件层抽象硬件资源,实现资源的隔离、封装和复用,在性能、灵活性和管理便利性之间寻求最佳平衡。