云计算基础知识:CPU虚拟化

商务办公 云计算
服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化、内存虚拟化、I/O虚拟化;按照虚拟化程度可分为:全虚拟化、半虚拟化、硬件辅助虚拟化。

虚拟化技术的分类主要有服务器虚拟化、存储虚拟化、网络虚拟化、应用虚拟化。

服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化、内存虚拟化、I/O虚拟化;按照虚拟化程度可分为:全虚拟化、半虚拟化、硬件辅助虚拟化

将不同的虚拟化对象和程度组合,可得出9种不同的服务器虚拟化技术。

首先详细介绍下服务器虚拟化之CPU虚拟化,后续讲解中再详细介绍内存虚拟化及I/O虚拟化。

[[249154]]

CPU虚拟化

  • CPU全虚拟化技术

主要采用优先级压缩技术(Ring Compression)和二进制代码翻译技术(BinaryTranslation)。优先级压缩技术让VMM和Guest运行在不同的特权级下。对x86架构而言,即VMM运行在***特权级别Ring 0下,Guest OS运行在Ring 1下,用户应用运行在Ring 3下。因此,Guest OS的核心指令无法直接下达到计算机系统硬件执行,而是需要经过VMM的捕获和模拟执行(部分难以虚拟化的指令需要通过Binary Translation技术进行转换)。

云计算基础知识:CPU虚拟化

  • CPU半虚拟化技术

主要采用Hypercall技术。Guest OS的部分代码被改变,从而使Guest OS会将和特权指令相关的操作都转换为发给VMM的Hypercall(超级调用),由VMM继续进行处理。而Hypercall支持的批处理和异步这两种优化方式,使得通过Hypercall能得到近似于物理机的速度。

云计算基础知识:CPU虚拟化

  • CPU硬件辅助虚拟化技术

目前主要有Intel的VT-x和AMD的AMD-V这两种技术。其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS运行在Ring 0下。通常情况下,Guest OS的核心指令可以直接下达到计算机系统硬件执行,而不需要经过VMM。当Guest OS执行到特殊指令的时候,系统会切换到VMM,让VMM来处理特殊指令。

云计算基础知识:CPU虚拟化

 

 

CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

云计算基础知识:CPU虚拟化

GuestOS负责第2级调度,即线程或进程在VCPU上的调度(将核心线程映射到相应的虚拟CPU上)。

VMM(Virtual Machine Monitor)负责第1级调度,即VCPU在物理处理单元上的调度。

两级调度的调度策略和机制不存在依赖关系。VMM负责物理处理器资源在各个虚拟机之间的分配与调度,本质上即把各个虚拟机中的VCPU按照一定的策略和机制调度在物理处理单元上可以采用任意的策略来分配物理资源,满足虚拟机的不同需求。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2018-03-13 15:08:19

虚拟机CPU虚拟化

2009-09-21 15:11:54

虚拟化基础知识

2009-04-14 19:22:51

Vmware服务器虚拟化虚拟化

2009-03-24 18:26:58

Vmwareesx服务器虚拟化

2012-06-06 09:36:28

服务器虚拟化

2017-12-26 14:56:44

虚拟化基础知识

2015-12-29 15:43:56

云计算虚拟主机数据中心

2018-11-26 06:45:08

2019-10-30 10:34:58

云计算云安全公共云

2018-12-14 14:26:35

CPU虚拟化云计算

2012-09-21 09:26:08

CPU虚拟化云计算虚拟化

2022-03-21 13:59:36

云计算云迁移技术

2016-01-29 16:02:06

虚拟化

2009-03-31 19:14:09

Vmware虚拟化云计算

2020-11-25 10:55:56

云计算

2018-04-17 15:03:40

CPU虚拟化半虚拟化

2023-03-30 07:39:57

云计算虚拟化CPU

2010-06-04 10:52:03

虚拟化云计算

2012-09-12 16:54:32

基础设施虚拟化云计算服务器虚拟机

2009-08-04 11:24:50

云计算基础架构虚拟化
点赞
收藏

51CTO技术栈公众号