服务器虚拟化和vcpu介绍
一、 服务器虚拟化
1.将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,理论上可以虚拟无数台,只受限于资源的大小。
2.服务器虚拟化主要分为三种,“一虚多”,“多虚一”,“多虚多”。
3.服务器虚拟化的意义:共享和隔离,资源弹性,封装,迁移。
二.服务器虚拟化的内容
1.特权级是一种用来保护数据和阻止恶意行为的机制 ring0-ring3 ,ring0的级别最高 ring3级别最低
2.指令类型 :分为特权指令和非特权指令
虚拟化后:cpu指令被分为特权指令, 敏感指令,普通指令。
敏感指令:是指操作特权资源的指令
特权指令一定敏感指令,但敏感指令不一定是特权指令
特权指令只有ring0才能执行,当非ring0执行时会产生异常,非特权指令中的敏感指令也需要ring0才能执行,但是他们的非ring0运行不会产生异常,
三.X86的虚拟化方法
1.全虚拟化技术:采用动态的方法,运行时监测,捕捉后在vmm中模拟。
2.半虚拟化:将所用到的非特权敏感指令全部替换,
3.芯片辅助虚拟化技术:为cpu增加了新的执行模式,root模式,vmm运行在root模式下,而root模式位于ring0的下面,特权和敏感指令自动在hupervisor上执行
四.vcpu
1.硬件虚拟化使用vcpu描述虚拟cpu
2.vcpu调度分配机制
线程和进程在vcpu上调度,(将核心线程映射到显影的虚拟化cpu上)