虚拟化(virtualization)

虚拟化(virtualization)

ID:13333063

大小:319.00 KB

页数:13页

时间:2018-07-22

虚拟化(virtualization)_第1页
虚拟化(virtualization)_第2页
虚拟化(virtualization)_第3页
虚拟化(virtualization)_第4页
虚拟化(virtualization)_第5页
资源描述:

《虚拟化(virtualization)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、虚拟化(Virtualization)1.介绍虚拟(Virtualization),简单的说就是一种框架,在这个框架下计算机的资源被分成了多个部分,让不同的执行环境共享。更准确的说,虚拟就是在硬件上的一个抽象层,给多个虚拟机实例造成它们运行在普通硬件上的假象。根据虚拟机抽象层位置的不同,可以分成硬件层虚拟(hardware-levelvirtualization),操作系统层虚拟(operatingsystem-levelvirtualization)和高层语言虚拟机(high-levellanguagevirtualmachine)[1]。其中硬件层虚拟直接位

2、于硬件层之上,硬件层虚拟也有一些变种,有些硬件层虚拟机管理器(VirtualMachineMonitor,VMM)[1]可以直接运行在硬件上,完全独立于任何操作系统;其他的硬件层的VMM作为一个应用程序运行在主机的操作系统上。由于多数硬件和操作系统不是为虚拟化设计的,因此在实现完全虚拟化的时候会遇到许多困难和挑战。完全虚拟化的好处在于操作系统不需要被修改就可以运行在VMM上,但是性能不如部分虚拟化。而部分虚拟化的缺点是需要给操作系统打补丁,才能运行在这个VMM上。2.虚拟化的优势Virtualization在很多方面有着优势[7]:Ø安全性:对于有不同安全性需要

3、的应用,让把它们分别运行在不同的虚拟机的操作系统上,然后在每个操作系统上针对应用需求配置安全策略,可以达到恰好的安全需要。Ø可靠性和可用性:一个虚拟机中的软件错误不会影响另一个虚拟机中的程序。Ø代价:原本需要使用多个硬件服务器,使用虚拟以后只需要一台性能好的硬件机器,从而节省了硬件的花费,而且能更充分了利用硬件资源。Ø适应负载变化:对于不同应用上的负载工作量的改变,只需要简单的改变虚拟机之间的资源和优先权的分配比例。Ø负载平衡和移植性:由于虚拟机封装了所有软件的运行状态,所以当需要平衡硬件机器之间的负载时,可以把整个虚拟机放到负载低的机器上,移植方便。Ø遗留应用

4、:一个组织如果需要改变操作系统,通过虚拟化可以仍然让遗留应用运行在虚拟机上,减少了移植遗留系统的代价。3.虚拟化的实现虚拟化的主要作用就是运行你在一台机器上运行多个环境,这些环境之间彼此隔绝。如图1所示,在VMM上面运行了多个OS,各个OS之间彼此独立,互不影响。图1左右两图分别对应了hostedVMM和unhostedVMM,hostedVMM运行在操作系统上,而unhostedVMM直接运行在硬件上。一般来说,指令可以被分成两类,特权指令(privilegedinstruction)和非特权指令(non-privilegedinstruction)。非特权指

5、令不改变资源的分配,这些资源包括进程,主存,外存,计时器,寄存器,网络连接等;特权指令会改变资源分配,例如停机,设置定时器,设置模式位等指令。计算机机器运行在两种模式下,用户模式和特权模式(Supervisormode),特权模式下可以执行所有的指令,而用户模式下只有非特权指令可以被执行。两种模式之间的切换由操作系统设置/清除模式位(modebit)来实现。在用户模式下,如果特权指令需要被执行,中断就会产生从而调用操作系统的中断处理程序。多数处理器拥有多个特权级别,x86构架有4个特权级,分别是ring0,ring1,ring2,ring3。Ring0是最高特权

6、级,在非虚拟化的环境中,操作系统就运行在ring0上。普通的应用运行在ring3上,一般情况下,ring1和ring2不被使用。图1.虚拟概图(hostedVMM和unhostedVMM)在虚拟机环境下,VMM运行在特权模式(Supervisormode)下,控制虚拟机(VirtualMachine)中的操作系统对资源的访问。VMM调度(schedule)VM,类似于操作系统中的进程调度,来保证所有的VM都能访问资源。如果VMM使用直接执行技术(directexecution),那么对于每个位于VM上OS中的非特权指令,都直接交给硬件去执行。但是如果虚拟机中的操

7、作系统要执行特权指令,由于它允许在用户模式(usermode),就会产生中断,控制权被交给VMM,由VMM来模拟特权指令的执行。例如,如果一个VM要执行停机指令(halt),这个时候并不是要让硬件执行这个指令(那样会把物理机器都停机),而是要VMM停止发送halt指令的这台VM,其他VM不该被影响,这个效果需要VMM来模拟实现。在市场上的虚拟技术有两个主要方向,完全虚拟(fullvirtualization)和部分虚拟(paravirtualization)。完全虚拟提供跟底层硬件完全一致的虚拟接口,部分虚拟提供“几乎”一致的抽象虚拟,但加入了一些新的虚拟指令。

8、3.1部分虚拟(Para

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

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

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