1.6虚拟机
一、传统计算机架构
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 考点聚焦
-
重点记忆对比表格内容
-
理解性能差异的根本原因
-
掌握专业术语的准确含义
核心思维:虚拟化技术的核心是通过软件层抽象硬件资源,实现资源的隔离、封装和复用,在性能、灵活性和管理便利性之间寻求最佳平衡。