概述
原标题:【科普】CPU和内存虚拟化
计算虚拟化
计算虚拟化就是在虚拟系统和底层硬件之间抽象出CPU和内存等,以供虚拟机使用。计算虚拟化技术需要模拟出一套操作系统的运行环境,在这个环境你可以安装Windows,也可以部署Linux,这些操作系统被称作GuestOS。他们相互独立,互不影响(相对的,因为当主机资源不足会出现竞争等问题,导致运行缓慢等问题)。计算虚拟化可以将主机单个物理核虚拟出多个vCPU,这些vCPU本质上就是运行的线程,考虑到系统调度,所以并不是虚拟的核数越多越好。计算虚拟化把物理机上面内存进行逻辑划分出多个段,供不同的虚拟机使用,每个虚拟机看到的都是自己独立的内存。从这个意义上讲,计算虚拟化包含了CPU虚拟化和内存虚拟化。
CPU虚拟化
CPU运行模式
CPU具有根模式和非根模式,每种模式下又有ring0和ring3。宿主机运行在根模式下,宿主机的内核处于ring0,而用户态程序处于ring3,GuestOS运行在非根模式。相似的,GuestOS的内核运行在ring0,用户态程序运行在ring3。处于非根模式的GuestOS,当外部中断或缺页异常,或者主动调用VMCALL指令调用VMM的服务的时候(与系统调用类似)的时候,硬件自动挂起Guest OS,CPU会从非根模式切换到根模式,整个过程称为VM exit,相反的,VMM通过显式调用VMLAUNCH或VMRESUME指令切换到VMX non-root operation模式,硬件自动加载Guest OS的上下文,于是Guest OS获得运行
最后
以上就是强健缘分为你收集整理的如何计算虚拟化vcpu_【科普】CPU和内存虚拟化的全部内容,希望文章能够帮你解决如何计算虚拟化vcpu_【科普】CPU和内存虚拟化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复