虚拟化技术与云计算2_cpu虚拟化

虚拟化技术与云计算2_cpu虚拟化

ID:33606606

大小:334.19 KB

页数:58页

时间:2019-02-27

虚拟化技术与云计算2_cpu虚拟化_第1页
虚拟化技术与云计算2_cpu虚拟化_第2页
虚拟化技术与云计算2_cpu虚拟化_第3页
虚拟化技术与云计算2_cpu虚拟化_第4页
虚拟化技术与云计算2_cpu虚拟化_第5页
资源描述:

《虚拟化技术与云计算2_cpu虚拟化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、虚拟化技术与云计算商彦磊shangyl@bupt.edu.cn北京邮电大学网络技术研究院网络与交换技术国家重点实验室教学内容绪论计算体系架构与虚拟化技术虚拟化概述CPU的虚拟化内存虚拟化I/O虚拟化虚拟化实施与应用虚拟化的现状与未来CPU虚拟化处理器虚拟化概述可虚拟化条件指令模拟CPU软件虚拟化方案CPU硬件虚拟化方案虚拟环境与可虚拟化条件虚拟环境由三部分组成:硬件、虚拟机监视器(VMM)及虚拟机虚拟机可以视为物理机的一种高效隔离的复制:同质、高效、资源受控虚拟机的三个特点

2、决定了不是所有体系结构都可以虚拟化虚拟机虚拟机监视器硬件特权指令与敏感指令多数计算机体系结构都有2个或以上的特权级,用来分隔系统软件和应用软件。系统中有一些操作和管理关键系统资源的指令会被定为特权指令特权指令只有在最高特权级上能够正确执行如果在非最高特权级上运行,特权指令会引发异常,处理器会陷入到最高特权级在虚拟化后,有一类指令称为敏感指令,即操作特权资源的指令所有特权指令都是敏感指令;并不是所有敏感指令都是特权指令陷入再模拟为使VMM完全控制系统资源,不允许直接执行虚拟机操作系统(客户OS

3、)的敏感指令陷入再模拟系统的所有敏感指令都是特权指令(前提)将VMM运行在最高特权级,客户OS运行在非最高特权级陷入再模拟:当客户OS因执行敏感指令(此时也是特权指令)而陷入到VMM时,VMM模拟执行引起异常的敏感指令虚拟化漏洞一个系统是否可虚拟化:关键在该系统对敏感指令的支持上所有指令都是特权指令:可虚拟化的结构无法支持在所有敏感指令上触发异常:不是可虚拟化的结构,即存在“虚拟化漏洞”一个结构存在虚拟化漏洞:存在敏感指令不属于特权指令存在虚拟化漏洞系统的虚拟化方案可采用一些方法弥补或避

4、免虚拟化漏洞模拟的方法:最直接解释执行:取一条指令,模拟出这条指令执行的效果,再取下一条指令不存在陷入问题,避免了虚拟化漏洞性能差既要填补漏洞,又要保证性能,只能使用辅助手段:直接在硬件层面填补虚拟化漏洞通过软件避免虚拟机中使用到无法陷入的敏感指令3个概念1:虚拟寄存器未虚拟化的系统中,OS直接访问物理处理器,处于最高特权级,可以控制系统的所有关键资源:寄存器、内存、I/O外设等虚拟化后,VMM接管物理处理器,以前的OS变成客户OS降级到非最高特权级。试图访问关键资源的指令成为敏感指令。

5、VMM通过多种方法保证这些敏感指令的执行能够触发异常,从而陷入到VMM进行模拟当客户OS试图访问关键资源时,该请求并不会真正发生在物理寄存器。VMM会通过准确模拟物理处理器的行为,将其访问定位到VMM为其设计与物理寄存器对应的“虚拟”的寄存器上。3个概念2:上下文进程上下文:某个时刻物理处理器中与运算相关的寄存器的状态构成了当前进程上下文当OS进行调度时,当前进程的上下文(即寄存器状态)被保存在特定的内存区域中,而下而下个程的下一个进程的上下文被恢复到相应的寄存器中,从进程的角度看就好像从未被中断

6、一样。虚拟处理器上下文更复杂:客户OS本身包含许多敏感指令,会试图访问和修改物理处理器上定义的所有寄存器,这种访问和修改会被VMM重定位到虚拟处理器上。对虚拟处理器,其上下文包括了更多的系统寄存器。3个概念3:虚拟处理器从客户OS来讲,其运行的虚拟处理器需要具备与其“期望”的物理处理器一致的功能和行为从VMM角度,虚拟处理器是其需要模拟完成的一组功能集合。虚拟处理器的功能可以由物理处理器和VMM共同完成对非敏感指令,物理处理器直接解码处理其请求,并将相关效果直接反映到物理寄存器上;对于敏感指令

7、,VMM负责陷入再模拟,从程序角度也就是一组数据结构与相关处理代码的集合数据结构用于存储虚拟寄存器的内容相关处理代码负责按照物理处理器的行为将效果反映到虚拟寄存器上。VMM的陷入模式VMM陷入利用了处理器的保护机制,使用中断和异常来完成的,基于处理器保护机制触发的异常敏感指令的执行虚拟机主动触发异常。即陷阱异步中断,包括处理器内部中断源和外部的设备中断源CPU虚拟化方案CPU软件虚拟化方案模拟执行<->基于软件的完全虚拟化解释执行代码扫描与修补二进制代码翻译直接源代码改写<->类

8、虚拟化CPU硬件虚拟化方案CPU软件虚拟化方案在硬件设计未考虑虚拟化而导致虚拟化漏洞时,首先考虑到基于软件方式实现虚拟化两种可行的基于软件的虚拟化解决方案:模拟执行<->基于软件的完全虚拟化直接代接源代码改写<->类虚拟化模拟技术所有的虚拟化形式都可以用模拟来实现。三种常见的模拟技术:解释执行是最简单最直接的模拟实现方式代码扫描与修补二进制代码翻译不同体系结构的虚拟化比较困难,通常使用解释执行在一种硬件体

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。