全面解析虚拟化技术 从网格到操作系统

日期: 2008-04-16 来源:TechTarget中国

  虚拟化是众人琅琅上口的IT技术流行字汇,但假如今天有人说:从网格运算到操作系统的多行程,也是一种「虚拟化」,你会相信吗?而现在因英特尔与AMD的x86处理器,都开始支持过去只能在CISC大型主机与高阶RISC服务器才能享受到的虚拟化技术,重要性已水涨船高,也占领越来越多的媒体篇幅,但虚拟化技术就这么单纯吗?只是「左手画圆,右手画方」而已吗?


  《Virtual Machines: Versatile Platforms For Systems and Processes》一书的问世,将彻底改变你的成见与看法,这也是我们认为目前唯一深入介绍所有虚拟机器技术的专书。


  抽丝剥茧,巨细靡遗,直探各种虚拟化技术的核心


  此书每个章节均数据详实且巨细靡遗,剖析各类型虚拟机器的技术细节、内部运作流程和设计层面的取舍。像第八章「系统虚拟机器」以VMWare公司的产品为案例,解释x86指令集先天的诸多限制与VMWare提出的解决之道,进而讨论英特尔Vanderpool的存在价值和不足之处,甚至以非常难以虚拟化的RDTSC指令作例子,详细描绘出Vanderpool运作的全貌和优点。总而言之,此类精密分析遍布全书,极为精彩。


  在了解「虚拟」机器之前,我们绝不能缺乏对「真实」计算机的认知。书中提供简介指令集架构、操作系统、系统初始化流程与多处理器环境的「Real Machines」附录,协助读者掌握阅读前的基本知识。但整体而言,因内容既深且广,要充分理解仍非常困难,建议你阅读前,能再重温计算器结构、编译器与操作系统等基础科目。


  从单一行程延伸整体系统的虚拟化技术光谱


  除了建立虚拟机器与模拟(Emulation)观念的前两章和总结的最后一章外,本书可分为两大部分:单一行程(Process)与整体系统(System)的虚拟化技术。前者包含了二进制执行文件转换器、高阶程序语言虚拟机器,以及藉由硬件辅助的指令集转换机制,后者进一步延伸至全系统虚拟机器、半虚拟化技术(Paravirtualization)与多处理器环境的虚拟化。


  值得注意的是,过去便于移植Pascal编译器的P-Code到今天的Java和.NET,已是行之有年的虚拟化应用了。


  也许你会疑惑:这和虚拟化有什么关系?事实上,Java的JVM(Java Virtual Machine)与C#的CLI(Common Language Infrastructure)本质上都是一种虚拟机器,拥有独立于底层硬件的堆栈式指令集架构,并非单纯的程序语言,不少计算器结构教科书还特别将其视为指令集架构的范例。


  在以VMWare为首的全系统虚拟机器之外,这本书也探讨高阶服务器普遍具备的分割区(Partitioning),以及英特尔的Vanderpool处理器虚拟化技术,范围之广,由此可见一斑。


  告诉你虚拟化技术的未来应用


  形形色色的虚拟化技术,最终还得重回实际应用的原点。第十章「浮现中的应用」堪称集各章节内容的大成,预测虚拟机器的未来用途,如透过动态编译二进制执行文件来改进程序的强固性,在既有操作系统内建另一个虚拟机器,将把防火墙/IDS等安全性相关的应用程序,放在主控端操作系统里,藉以保护客户端操作系统安全,或者经由网络动态转移计算机设定组态至另一台电脑上。


  诸如此类的应用,从此书出版至今的近两年,都陆续成为现实中存在的技术与产品,如英特尔的vPro以及预计在新一代vPro平台整合LaGrande安全运算技术的TXT (Trusted Execution Technology);或是同一个指令集平台上能动态重新编译二进制执行文件的技术,像HP的「Dynamo」与后继的「DynamoRIO」等,亦可提升应用程序的安全性。


  笔者2005年曾在英特尔总部参加一年一度的RD Day活动,首度得知「Internet Suspend/Resume(ISR)」技术,在这个应用架构上,行动工作者想要把工作用计算机上的设定组态带着跑,可将虚拟机器的状态,搬移至扮演个人服务器角色的手机,再传送到另外一台电脑。如果这难以理解,你可以想象今天正在用VMWare执行一个操作系统,只是把这个操作系统的映像文件,透过手机转移到另一台执行VMWare的计算机上,摇身一变为随身携带的一台虚拟个人计算机。本章节不但没有遗漏这样的应用,更以此为开端,详述虚拟个人计算机系统移转的挑战,像如何加快收集系统运作状态与减少网络频宽的需求等。VMWare VirtualCenter的VMotion虚拟服务器移转技术,也成为本章的一部分。


  虚拟化发展至最终,我们将迈入「组织虚拟化」,也就是无数软硬件厂商高喊入云的网格运算,并描述其概观作为全书结尾。网格运算看似虚幻,对有心人来说,这导读是相当简洁易懂。


  虚拟化的范围到底有多大?


  英特尔资深院士兼软件解决方案事业群总经理Richard Wirt在八月Intel Software Insight杂志的「The Convergence of Virtualization, Grid, and SOA」文中表示,相较于微观的处理器虚拟化,网格运算与红透半边天的SOA,就是巨观的虚拟化,象征着融合成一个整体的IT运算架构。


  换言之,我们从更大的视野去检视「虚拟化」一词,就可发现意义并不狭隘,它充满了巨大的发展空间。在未来,虚拟化势必改变IT架构的风貌,现在台面上琳琅满目的新名词,只是巨大变革的第一步,而这本不可多得的虚拟机器教科书,将成为引领你踏入这美丽新世界的指南针。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐