虚拟化操作系统和Web服务

日期: 2008-06-15 作者:William Brogden 来源:TechTarget中国 英文

最近计算机出版物对“虚拟化”兴致盛浓。在Web服务开始虚拟化的实现之前,一些计算历史已经就绪。在很多方面来说,计算机的历史也是虚拟化的历史   正像计算中所用到的那样,虚拟化引用了一个计算资源的一般化抽象的创造以独立于底层工作硬件的方式使用该资源。最早的一个例子就是为CPU注册和机器运转细节使用像COBOL的语言替换人工读入的源代码。

  汇编源代码适用于抽象地虚拟的机器而不是与之相配的具体的CPU和操作系统配置。这个思想在于汇编程序是易于携带,而且操作系统具体编译器能将其转换实际的系统。早期一个有名的例子就是UCSD Pascal p-code在Apple II系统上的运用。那段日子,Jav……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

最近计算机出版物对“虚拟化”兴致盛浓。在Web服务开始虚拟化的实现之前,一些计算历史已经就绪。在很多方面来说,计算机的历史也是虚拟化的历史

  正像计算中所用到的那样,虚拟化引用了一个计算资源的一般化抽象的创造以独立于底层工作硬件的方式使用该资源。最早的一个例子就是为CPU注册和机器运转细节使用像COBOL的语言替换人工读入的源代码。

  汇编源代码适用于抽象地虚拟的机器而不是与之相配的具体的CPU和操作系统配置。这个思想在于汇编程序是易于携带,而且操作系统具体编译器能将其转换实际的系统。早期一个有名的例子就是UCSD Pascal p-code在Apple II系统上的运用。那段日子,Java虚拟机编译的Java字节码到处都是。

  现代操作系统的现存的许多特性都是能提供一个虚拟的环境来执行程序,比如说地址编译,当操作系统处理物理内存时,其能使一个程序伪装为特定的内存位置。下一个逻辑步骤是虚拟化整个操作系统。

  虚拟机

  操作系统虚拟化在一个虚拟环境中上载一个“客户机”操作系统以创造一个“虚拟机。”在任何地方客户机操作系统都认为其是在处理真实的硬件,实际上它是在处理虚拟层。通过虚拟化软件,操作的各个方面,从网络链接到文件系统都是完全和实际底层运作的硬件相分割的。

  客户机操作系统将看见一个文件系统,该文件系统是虚拟化软件仿效真实底层主机操作系统文件系统的特定模块而来的。多个虚拟机能在完全与彼此隔离的情况下在同样的硬件上运转。各个虚拟机能在不干扰同一个电脑上的其他虚拟机的情况下关机和启动。自然地虚拟软件的额外的层次是以CPU周期、硬盘空间和内存为代价。

  客户机操作系统可以不同于那些在主机硬件上的操作系统。比如说,我用Vmware服务器在硬件上安装一个Solaris 10虚拟机以运转Windows XP。我会很惊奇地发现Vmware也能支持更旧一些的操作系统,如Windows 95和DOS 6(如果我能找到OS安装盘,我能玩一些不能在XP上玩的老游戏——太酷了!)

  注意你的操作系统许可证也许不允许以虚拟机的方式安装或是限制你能安装的次数。比如说,微软的Vista Home Basic 和 Vista Home Premium许可证就禁止以虚拟机的方式使用。

  Vmware在虚拟化软件中是先驱者,但是该领域已经变得越来越拥挤而且虚拟化供应商之间的竞争也异常激烈。在很多情况下,免费的启动版本是可以获得的,因为企业希望通过销售虚拟机来获得利润。Linux的虚拟开源开发现在非常活跃,尤其是Xen项目。微软回应了来自于Vmware和开放源项目的免费虚拟化软件的竞争。

  Web服务管理和虚拟化

  系统管理员因为很多原因对虚拟化相当热衷。在研究这篇文章的过程中,我看到了许多热情的报告。系统管理员正在用一些新的更加现代化的服务器取代被用来支持旧的应用的各个年代的未充分使用的服务器。一个系统管理员能支持新的Web服务和老旧的服务,而且只需要更少量的机器就可以做到。该结果将会在服务器机架空间、维护和功率消耗上带来很大的节省。

  一旦经过配置,虚拟机能复制到各种不同的物理硬件上。当维护一个系统而因为一个完全配置的服务将很快消耗完,所以下载时间极其昂贵时,这将是非常具有价值的。通过启动一个虚拟机的新例子可满足需求的突然增加。

  Web服务开发者和虚拟化

  在一个虚拟机环境中开发具有许多吸引力。正在运行一个应用虚拟机可以暂缓或是“快照”而在同一个状态下重启。能在一个已知状态下重启一个系统将极大地简化调试——尤其是那些只有在应用已经运行了很长时间的情况下才能表现出来的问题。

  虚拟机也使开发者拥有了运用特定工具箱的能力,而这与标准的企业操作系统无关。尤其是,很多运行于Linux上的开放源应用现在可以在你的Windows工作站上获取。虚拟机方便了在多个操作系统上的测试,而不需要维护每一个单独的硬件。

  虚拟机还将保护开发者不受恶意攻击,因为虚拟机的一个程序不能修改主机操作系统。你能配置一个虚拟机,所以它甚至不能看到本地网络。

  对于在设计在虚拟机中运行的应用的开发者来说,一个主要的需要注意的地方就是避免依赖于具体操作系统特性的配置,如Windows注册或是要求在主硬盘进行安装。

  总结

  所有主要的软件供应商都已很快的速度跃入虚拟化市场。硬件在CPU和辅助集成电路方面的支持将提高性能,而且是虚拟化成为每天的Web服务开发的一部分。

相关推荐