虚拟化落在实处---多种虚拟化技术介绍
2008-11-28 16:48:48 来源:WEB开发网早在大型机时代,IBM的VM/370就采用虚拟化技术来划分其硬件资源,提供给多用户使用。现在,x86服务器已成为企业应用的主流,探索x86服务器的虚拟化技术成为各个企业和研究机构的重要课题。
技术篇
不同层次的虚拟化技术
近年来,服务器虚拟化技术逐渐成为人们关注的热点技术。伴随着多年来人们对虚拟化技术的研究,形成了不同层次的虚拟化技术,其中有ISA层次、硬件抽象层、操作系统层、Library API层,以及编程语言层的虚拟化技术。
1.ISA层的虚拟化技术
ISA层的虚拟化技术,通常采用软件模拟指令集的方式实现。一个典型的计算机系统由处理器、内存、总线、硬盘控制器、时钟、各种I/O设备组成。ISA层的虚拟化软件的实现方式是截获客户操作系统发出的指令,并把它们“翻译”成Host平台上的可用指令进行执行(包括处理器内部指令和IO指令)。由于这种指令的模拟方式,ISA层的虚拟化技术可以完全模拟一台真实机器所能做的一切。这种实现方式的好处在于,分离了操作系统和硬件平台的紧绑定关系。
这方面具有代表性的系统有很多。Bochs是用C++语言编写的开源的x86平台的PC模拟器,可以方便地在多种平台上模拟IA32 PC系统。它能够模拟多种版本的x86系统,如386、486、Pentium、Pentium Pro、SSE、SSE2等指令。Bochs解释客户系统从开机到关机的全部指令,模拟了Intel x86 CPU、BIOS以及PC设备。因此,在客户操作系统看来,就好像是运行在一台真实的机器上一样。虽然Bochs系统的性能问题,使其很难有广泛的应用,但它也在某些方面有着重要的应用,如在非x86平台上运行Windows系统,进行新开发的操作系统的debug工作,进行老式x86系统的兼容性测试等。
更多精彩
赞助商链接