对虚拟化技术的理解

虚拟化技术:在一台主机上实现多个操作系统,关键技术就是硬件的虚拟化

全虚拟化:CPU、内存以及IO设备都通过内核来进行虚拟化。优点是虚拟机操作系统内核不用修改,例如windows操作系统可直接创建;缺点是效率太低,所有的调用硬件设备的操作都需要hypervisor(主机内核)来中转调度。

半虚拟化:将IO设备驱动程序做成系统调用直接供给虚拟机使用,这样减少了主机内核的参与,例如虚拟机发报文直接调用网卡的驱动程序而不需要经过host主机内核。优点是效率高,缺点是在半虚拟化的实现里虚拟机不能是windows,因为半虚拟化使得虚拟主机知道自己是在一个虚拟环境中而不是真正拥有主机的所有硬件资源,在发报文时并不是直接发向网卡而是调用系统给出的API,所以对于半虚拟化主机上的虚拟机需要修改内核,而windows系统不允许修改内核。

在CPU硬件虚拟化上  Intel 推出了  VT-X  AMD推出了AMD-V  这两种CPU都在硬件层面上实现了虚拟化,也就是在原有的4层环的CPU上加了环-1,让虚拟机运行在环0上,host主机运行在环-1上。

在内存虚拟化上,影子MMU与TLB同样实现了升级,影子MMU使得LA--PA--HA  这些步骤直接简化为LA--HA;同样由于所有虚拟机共用MMU与TLB,在TLB中会记录每一个虚拟机的内存地址。


Intel和AMD分别通过EPT和NPT为虚拟化应用提升影子MMU的性能,并通过标记TLB来避免虚拟机切换时频繁清写TLB以提高TLB缓存命中率。


三大虚拟化公司
1、Vmware  可以在操作系统上直接安装软件然后新建各种虚拟机,也可以直接在硬件上跑虚拟化技术;支持全虚拟化和半虚拟化。

2、Xen技术  Xen平面只提供CPU和内存的驱动程序,在系统启动时Xen启动的同时需要同时加载Dom0(内涵操作系统,同时有硬件驱动程序),在Xen的虚拟化方式中,所有虚拟机的创建都是靠Dom0来完成的,一旦用到CPU和内存的时候才会用到Xen平面。一般的使用方式是在Dom0中装一个Qemu软件,这个软件功能很强大,本身就是一个可以虚拟化CPU、内存、IO设备的软件,在Xen虚拟化技术中其实只是用Qemu软件来为其他的虚拟机创建虚拟的IO设备。

3、KVM技术  红帽公司技术   在一个原有的Linux主机上一旦调用内核模块KVM模块,则内核变为Hypervisor。此时可以在系统上建立虚拟机,十分方便。但是KVM技术只是全虚拟化技术,必须要CPU支持HVM(也就是CPU支持硬件虚拟化)。同样在用户空间使用Qume为虚拟机创建IO设备,由KVM提供CPU及内存的虚拟化。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值