Virtual Machines: Versatile Platforms
 For Systems and Processes

 James E.Smith & Ravi Nair/著
 Elsevier出版
 售價:1200元


虛擬化是眾人琅琅上口的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架構的風貌,現在檯面上琳瑯滿目的新名詞,只是巨大變革的第一步,而這本不可多得的虛擬機器教科書,將成為引領你踏入這美麗新世界的指南針。文⊙劉人豪


熱門新聞

Advertisement