虚拟化是一种技术,将硬件资源抽象化形成资源池,然后再统一分配资源进行使用(将物理设备抽象成设备池)
可以在一个主机上运行多个独立的操作系统和软件,我们将每个独立的系统和它对应的软件组成的个体称为虚拟机。
计算模块:
CPU虚拟化:将一台硬件上的CPU可以虚拟出多个CPU给多个虚拟设备使用
CPU保护环机制:Ring0 CPU
Ring1 操作系统
Ring2
Ring3 用户空间
VM虚拟机,虚拟操作系统处于Ring0和Ring1之间
虚拟化后:如果让虚拟机操作系统下发敏感指令时可以继续工作
半虚拟化:修改虚拟机操作系统内核-只针对特定系统
全虚拟化:拦截敏感指令-需要一直消耗资源
硬件辅助虚拟化:修改CPU,使得CPU在非Ring0级层也可以解析敏感指令
内存
内存复用技术:
1、内存共享:多个虚拟机共享数据相同的内存页,对于共享部分多个虚拟机只有读权限,如果其中一个虚拟机需要写入数据,则重新开辟新的内存空间给该虚拟机用作写。