码迷,mamicode.com
首页 > 其他好文 > 详细

硬件虚拟化

时间:2015-03-14 21:32:12      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

虚拟化的意义:

  1. 资源隔离,如磁盘、网络的隔离与分配
  2. 资源配额,如cpu、内存的配额,给出了配额的上限,那么能更大限度的榨取服务器的性能
  3. 虚拟化使得一台服务器上能运行多种操作系统

特权模式: 普通操作系统具有核心模式和用户模式。核心模式下运行系统关键的进程及关系到系统安全的敏感指令(如中断处理、内存操作等) 在指令执行的时候,cpu会检查指令的来源,指令的来源记录上指令所在的内存页上,用2个bit来记录,所以它一共可以有4中模式。 ring 0具有最高特权级别,ring 1运行guest os,ring 3就是普通的进程。

传统的虚拟化实现,如vmware: 虚拟机上的进程调用系统调用,那么它从ring3直接陷入vmm所在的ring0上处理,处理完成后返回ring1,ring1不能直接SYSEXIT到ring3, 因为它没有这样的权限,因此需要把SYSEXIT这样的指令模拟处理,很耗资源,效率很低。 半虚拟化就是指令转换?它不需要硬件支持 硬件虚拟化需要硬件支持,直接在主机系统内核中执行

硬件虚拟化中,客户机运行在ring0级别,vmm和主机os内核运行在ring -1(root模式)中,客户机的syscall它直接可以处理,当涉及敏感 指令时候(中断、内存操作)时涉及到VMENTER,VMEXIT

也就是说,vmexit比系统调用的退出模拟消耗少

intel的vt-x技术中引入了VMX模式,该模式下cpu具有两种操作模式,根模式和非根模式, 每个模式下都有自己的ring0-ring3 VMM运行于根模式,KVM环境中,KVM主机运行于根模式。主机中内核运行于根模式的ring0,应用程序如qemu运行于ring3 guest运行于非根模式,guest的kernel运行于非根模式的ring0,应用程序运行于非根模式的ring3

VMCS: VMCS是虚拟机控制结构,它包含了虚拟机vcpu状态及控制的信息

硬件虚拟化

标签:

原文地址:http://www.cnblogs.com/kvm-qemu/p/4338320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!