OS-13:Virtual Machine

虚拟机。

Overview

Virtual Machine (VM) is an abstraction of a physical machine that allows multiple operating systems to run concurrently on a single hardware platform. VMs provide isolation, resource management, and flexibility in deploying applications.

Components

  • Host: 底层硬件系统
  • VMM(Virtual Machine Manager): 模拟硬件环境,提供与主机相同接口以运行虚拟机
  • Guest:获得主机虚拟副本的进程,一般是一个操作系统

System Model

1

VM Benefits and Features

优势与特点描述应用场景示例
安全隔离保护主机系统免受虚拟机影响,同时防止虚拟机之间相互干扰,降低病毒传播风险企业多用户服务器环境中,一个虚拟机感染病毒,不会轻易扩散到其他虚拟机和主机
资源共享通过共享文件系统和网络通信实现资源共享,提高资源利用率云计算数据中心,众多用户的虚拟机共享服务器的计算、存储等资源
灵活操作支持冻结(暂停)、迁移、克隆和快照恢复等功能软件开发和测试场景中,开发人员克隆包含开发环境的虚拟机,快速搭建多个相同测试环境;测试人员利用快照恢复虚拟机状态,避免重复测试
多系统支持允许在一台物理机上运行多个不同类型的操作系统计算机技术爱好者和专业人员在同一台计算机上创建Windows、Linux等不同操作系统的虚拟机,方便进行开发、测试和学习
助力系统开发方便操作系统研究,降低研究成本和风险,提高系统开发的安全性和效率操作系统研究人员在虚拟机上试验新功能,出现问题不会损坏物理机
模板化创建包含操作系统和应用程序的虚拟机模板,并快速生成多个相同配置的虚拟机实例软件供应商将软件预安装在虚拟机模板中,交付给客户后,客户可快速部署使用
实时迁移运行中的虚拟机可在主机间迁移,且不中断用户访问数据中心进行硬件维护或升级时,将虚拟机迁移到其他主机,确保业务系统持续稳定运行

VM Building Blocks

VCPU

VMM 提供给 Guest 的 CPU 资源,通常是物理 CPU 的虚拟化。

VCPU通过在物理CPU上分时共享是实现。

非特权指令直接执行,特权指令通过VMM进行 Trap and Emulate。

1

Trap and Emulate

VM 的 kernel mode 和 user mode 实际上都运行在 user mode 下。

执行特权指令时,CPU 产生 Trap,VMM 捕获 Trap,执行相应的处理,之后将控制权交还给 VM。

Binary Translation

Some CPUs don’t have clean separation between privileged and nonprivileged instructions.

VMM 提前检查特权指令,翻译为等效的非特权指令。

VM Types and Implementations
Virtualization and Operating-System Components