文章目录
- 【王道操作系统】ch1计算机系统概述-06虚拟机
- 01传统计算机
- 02虚拟机的基本概念
- (1)第一类虚拟机管理程序
- (2) 第二类虚拟机管理程序
- (3) 两类虚拟机管理程序的对比
【王道操作系统】ch1计算机系统概述-06虚拟机
01传统计算机
在虚拟机管理程序成为主流之前,大多数物理计算机一次只能运行一个操作系统 (OS)。这使得它们非常稳定,因为计算硬件只需处理来自该操作系统的请求。这种方法的缺点是浪费资源,因为操作系统不能始终充分利用计算机的所有能力。
02虚拟机的基本概念
定义:虚拟机时一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。
通俗理解:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(virtual machine,VM),每个虚拟机器都可以独立运行一个操作系统。
同义术语:虚拟机管理程序/虚拟机监控程序(Virtual Machine Monitor/Hypervisor )
虚拟机管理程序可是一个小型软件层,可使多个操作系统实例同时运行,共享相同的物理计算资源。这一过程被称为虚拟化,操作系统实例被称为虚拟机 (VM),即物理计算机的软件模拟。
虚拟机管理程序也称为虚拟机监视器 (VMM),在这些虚拟机并行运行时对其进行管理。它将虚拟机在逻辑上相互分离,为每个虚拟机分配自己的底层计算能力、内存和存储切片。这可以防止虚拟机相互干扰;因此,例如,如果一个操作系统崩溃或安全受到损害,其他操作系统仍可以继续运行。
虚拟机管理程序(VMM)可以分为两类:第一类虚拟机管理程序和第二类虚拟机管理程序。
(1)第一类虚拟机管理程序
第 1 类虚拟机管理程序直接在底层计算机的物理硬件上运行,直接与其 CPU、内存和物理存储交互。因此,第 1 类虚拟机管理程序也被称为裸机虚拟机管理程序。第 1 类虚拟机管理程序取代主机操作系统。
(2) 第二类虚拟机管理程序
第 2 类虚拟机管理程序不能直接在底层硬件上运行。相反,它是作为操作系统中的应用程序运行。第 2 类虚拟机管理程序很少出现在基于服务器的环境中。相反,它们适用于需要运行多个操作系统的个人电脑用户。例如,工程师、分析恶意软件的安全专业人员,以及需要访问其他软件平台上才有的应用程序的企业用户。
(3) 两类虚拟机管理程序的对比
第二类虚拟机管理程序一部分运行在用户态,一部分运行在内核态。运行在内核态的那一部分是以虚拟机驱动的方式加载到操作系统内核中。用户进程的write系统调用会被虚拟机管理程序截获,然后虚拟机管理程序进行一些处理,代替它向底层的宿主操作系统(Host OS)发出write系统调用来请求底层宿主操作系统的服务。