2024.06.21:操作系统虚拟机学习笔记
第4节 虚拟机
- 4.1 虚拟机基本概念
- 4.2 一型虚拟机管理程序
- 4.3 二型虚拟机管理程序
- 4.4 用户态与内核态
本节的主要内容就是来分辨两种不同的虚拟机管理程序
4.1 虚拟机基本概念
- 利用虚拟化技术,把一台物理机器虚拟成多台虚拟机器,通过隐藏特定计算平台的物理特性,为用户提供抽象统一模拟的计算环境
- 是一种软件实现,通过引入一个虚拟化层VMM,在一台物理机模拟出了一个或多个虚拟机,每个虚拟机都拥有自己的虚拟硬件和独立的运行环境
也就是说这些被虚拟出来的虚拟机,他们是不知道彼此的存在的,每个都是独立的,并且它会觉得自己也有自己的硬件和运行环境、操作系统,它是完全独立的
- 物理机一般称为主机
- 虚拟机一般称为客户机
上述的技术就是通过一种软件实现的,它叫做虚拟化层VMM,也叫虚拟化的管理程序,这个管理化程序分成两类,所以我们也叫虚拟化技术
虚拟化技术可分为
- 具有裸金属架构的虚拟化技术(1型管理程序)
- 具有寄居架构的虚拟化技术(2型管理程序)
4.2 一型虚拟机管理程序
内核态和用户态是指CPU的状态
- 1型VMM就是一个操作系统,它是惟一一个运行在内核态的程序
1型VMM是直接铺在裸机纸上的
- 客户OS(虚拟机上的OS)以为自己运行在内核态,这种内核态叫虚拟化内核态,介于真正内核态和用户态之间
理解:客户机OS没有实际地和这台客户主机的硬件资源进行交互,它是通过了一层管理程序的。又由于用户态下的操作是受限的,但它又可以去请求硬件资源,需要经过管理程序
并不是指客户机OS的内存位置是在用户空间和内核空间之间,而是你可以直接去管理、间接去管理、或者完全不能管理硬件资源,进行相关的操作
如果我们说一个操作系统运行在内核态,意思就是它现在可以直接去控制硬件
- 虚拟机上的用户程序运行在用户态,这种用户态被称为虚拟化用户态,它基本上就是用户态
4.3 二型虚拟机管理程序
联想操作系统实验课
- 2型虚拟机管理程序是依赖于操作系统分配和调度资源的程序,很想一个管理的进程
- 常用的VMware Workstation、Parallel desktop是2型虚拟机管理程序
4.4 用户态与内核态
- 当我们说XX运行在用户态时,意味着XX作为一个普通应用程序执行,没有执行特权指令的能力
- 当我们说XX运行在内核态时,意味着XX拥有执行特权指令的能力,它可以直接访问硬件资源,如CPU、内存、外设,以及执行低级系统管理任务
- 当我们说XX运行在内核态和用户态之间时,意味着XX在逻辑上执行某些内核级操作(如管理虚拟内存、进程调度等),但实际上它们通过另一层(VMM)来间接管理硬件资源,没有直接访问硬件的权限
这种设置允许这些程序表现得好像它们在执行内核态操作,但实际上它们的所有特权请求都必须通过更高级别的控制层进行处理和批准