本書介紹了虛擬機在操作系統(tǒng)、程序設計語言和計算機體系結構方面的應用。本書內容全面,處于學科的最前沿。書中以清晰而深入的方式,借助有效的應用實例和案例研究,解析了各種基本概念。內容涉及虛擬機的主要類型、析取、對于目標指令集體系結構(ISA)的源ISA仿真、進程虛擬機的執(zhí)行、用于提高仿真性能的翻譯代碼優(yōu)化技術、高級語言虛擬機及其執(zhí)行、協(xié)同設計、多處理器系統(tǒng)的虛擬,以及其他新興應用。 本書適合于現(xiàn)代計算機體系結構設計、程序設計語言、操作系統(tǒng)和安全技術,以及系統(tǒng)執(zhí)行方面的學生和從業(yè)者閱讀。那些對未來計算系統(tǒng)感興趣的讀者,同樣會從本書中獲益。 前言: 封底 虛擬機技術應用整機虛擬化的概念,脫離實體機的兼容性約束和硬件資源約束,實現(xiàn)更高程度的軟件可移植性和適用性。虛擬機快速成為計算機系統(tǒng)設計中的基本要素。虛擬機可提供系統(tǒng)安全性、靈活性、跨平臺兼容性、可靠性和資源有效性。虛擬機技術設計用于解決主要計算機組件結合及應用方面的問題,在多個學科中占據了重要位置。具體涉及操作系統(tǒng)、程序設計語言和計算機體系結構。例如在處理層,虛擬技術支持動態(tài)程序編譯和獨立于平臺的網絡計算。在系統(tǒng)層,虛擬技術支持同一硬件平臺上以及服務器中的多操作系統(tǒng)環(huán)境。 回顧歷史可見,在所應用的多門專業(yè)學科中各種虛擬機技術獨立發(fā)展,因而很難用一種結合性的方法揭示其潛在關系。在本書中,Smith和Nair另辟新路,將虛擬機作為一門統(tǒng)一的學科。由于對相互交錯的技術進行了融合,因而能夠以一種結構合理的方式探討和研究虛擬機的實現(xiàn)問題。 虛擬機技術的核心內容包括指令集仿真、動態(tài)程序翻譯和優(yōu)化、高級語言虛擬機(包括Java和CLI)以及系統(tǒng)虛擬機,即可用于單用戶系統(tǒng),也可用于服務器。 本書特點 l 探究應用虛擬機技術的眾多學科,包括操作系統(tǒng)、程序設計語言和計算機體系結構,并定義出一門新的統(tǒng)一學科。 l 微軟、惠普及其他工業(yè)研究團體的本領域研究人員對全書進行了審閱。 l 對于計算機系統(tǒng)幾十年間的研究和發(fā)展,作者從學術和工業(yè)兩方面進行了綜合論述。 l 為一些系統(tǒng)提供了原理圖及參考文獻,包括Shade模擬系統(tǒng)、FX!32系統(tǒng)、Dynamo/RIO、Java和CLI等流行語言虛擬機、Jikes RVM、Transmeta Crusoe處理器、IBM的AS/400和z/VM系統(tǒng)、VMware的主機虛擬機、Intel的VT-x虛擬技術,以及多處理器虛擬系統(tǒng)——Cellular Disco。 l 討論了一些新興應用,包括安全性,以及在機器和網格運算間進行計算環(huán)境的移植。