虛擬機(jī)

出版時間:2009-3  出版社:機(jī)械工業(yè)出版社  作者:[美] James E. Smith,Ravi Nair  頁數(shù):382  譯者:安虹,張昱,吳俊敏  
Tag標(biāo)簽:無  

前言

為了獲得新的能力,解決與計算機(jī)系統(tǒng)主要組件接口的多種問題,操作系統(tǒng)、編程語言和編譯器、計算機(jī)體系結(jié)構(gòu)三個領(lǐng)域都發(fā)展了虛擬機(jī)技術(shù)。支持操作系統(tǒng)的虛擬機(jī)技術(shù)過去曾相對活躍過,現(xiàn)在又重新引起人們的興趣,因?yàn)樗梢栽诒3指叨劝踩缘耐瑫r獲得高效的資源共享。虛擬技術(shù)在服務(wù)器以及其他網(wǎng)絡(luò)應(yīng)用,尤其是對安全要求很高的領(lǐng)域越來越受歡迎。在編程語言方面,虛擬機(jī)提供了平臺無關(guān)性,而且支持動態(tài)和透明的翻譯和優(yōu)化。在處理器體系結(jié)構(gòu)方面,虛擬機(jī)技術(shù)允許引入新的指令集以及動態(tài)優(yōu)化,以降低功耗、提高性能。工業(yè)界對一些標(biāo)準(zhǔn)接口的統(tǒng)一,使得虛擬機(jī)技術(shù)很可能在上面提到的各個領(lǐng)域的革新中起到重要的作用。新的指令集、操作系統(tǒng)、編程語言要想被廣泛接受都需要與虛擬機(jī)技術(shù)結(jié)合。許多虛擬機(jī)技術(shù)發(fā)展的推動力及近來獲得的大多數(shù)重要進(jìn)步都來自工業(yè)界。歷史上,各種虛擬機(jī)技術(shù)均延伸到了計算機(jī)科學(xué)和工程學(xué)科中。不過,存在許多基礎(chǔ)的交叉技術(shù),如果能發(fā)揮這些技術(shù)的作用就能夠以更好的組織方式來研究和設(shè)計虛擬機(jī)的實(shí)現(xiàn)。本書是按統(tǒng)一原則進(jìn)行虛擬機(jī)技術(shù)研究的結(jié)晶。本書介紹了對計算機(jī)體系結(jié)構(gòu)的理解。按照傳統(tǒng)的定義,體系結(jié)構(gòu)就是一個接口。虛擬機(jī)把接口連在一起,同時擴(kuò)大接口的靈活性和功能性。理解體系結(jié)構(gòu)是理解虛擬技術(shù)的關(guān)鍵,本書從體系結(jié)構(gòu)研究者的角度,首先保持與接口的相關(guān)問題的清晰,使得讀者在閱讀后對計算機(jī)系統(tǒng)接口的重要性,以及它們在計算機(jī)主要部件間相互作用時所扮演的角色有更深的認(rèn)識。虛擬機(jī)應(yīng)用的廣泛性意味著本書有各種各樣需求的讀者。雖然目前虛擬機(jī)還沒有被大學(xué)作為一個學(xué)科來看待,但因?yàn)樗c計算機(jī)科學(xué)和工程學(xué)的關(guān)鍵原理:體系結(jié)構(gòu)、操作系統(tǒng)、編程語言緊密結(jié)合,使得虛擬機(jī)成為研究生課程一個很好的方向。本書的初版已經(jīng)在四所不同大學(xué)的研究生課程中使用,并且取得了一定的成功。本書可以作為關(guān)于動態(tài)優(yōu)化的編譯器課程或包含典型系統(tǒng)虛擬機(jī)的操作系統(tǒng)課程的輔助教材。虛擬機(jī)技術(shù)正在被工業(yè)界廣泛而快速地接受,從事相關(guān)工作的專業(yè)人士將會發(fā)現(xiàn)本書也可以用于自學(xué)前沿技術(shù)。本書還可以作為一本參考資料,因?yàn)樗占嗽S多領(lǐng)域的資料。本書首先總結(jié)了各種不同的虛擬機(jī),從一個視角建立起統(tǒng)一的討論框架。后面的章節(jié)中將描述主要的幾類虛擬機(jī),突出它們之間的共同點(diǎn)和低層技術(shù)。下面粗略地介紹一下每章的綱要。第1章我們引人了目前計算機(jī)系統(tǒng)中流行的抽象概念和接口定義。隨后討論了虛擬化以及其與接口的關(guān)系。接著介紹了計算機(jī)體系結(jié)構(gòu)概念,總結(jié)了各種不同類型的虛擬機(jī)。虛擬機(jī)可以分為兩個主要類型:進(jìn)程虛擬機(jī)和系統(tǒng)虛擬機(jī)。本章的最后,我們深入討論了虛擬機(jī)的分類,并提出了一種虛擬機(jī)的分類方法。第2章我們討論了用目標(biāo)指令集體系結(jié)構(gòu)(ISA)仿真源指令集體系結(jié)構(gòu)的相關(guān)問題。說明了基本解釋程序的工作,以及如何用線索化解釋(threaded interpretation)來提高性能,并使用一種CISC源指令集Intel LA-32、一種RISC目標(biāo)指令集IBM PowerPC來說明所開發(fā)出的技術(shù)。接著介紹二進(jìn)制轉(zhuǎn)換的概念,并討論代碼發(fā)現(xiàn)和代碼定位的問題。隨后討論控制轉(zhuǎn)移的處理,許多指令集體系結(jié)構(gòu)都有一些必須用特別方法處理的特殊特征(有些情況下,它們被稱為“quirks”)。最后用一個在Shade模擬系統(tǒng)中仿真的例子來結(jié)束本章。

內(nèi)容概要

本書的作者從計算機(jī)體系結(jié)構(gòu)研究者的角度,以計算機(jī)系統(tǒng)接口抽象層次中兩個最重要的接口——應(yīng)用的二進(jìn)制接口(Application Binary Interface,ABI)和應(yīng)用程序接口(Application Program Interface,API)為邊界,將計算機(jī)系統(tǒng)資源的各種虛擬化技術(shù)劃分為進(jìn)程虛擬機(jī)和系統(tǒng)虛擬機(jī)兩大類展開討論,清晰地展現(xiàn)了虛擬化技術(shù)各種方法的各個層面和各類應(yīng)用?! ”緯梢宰鳛橹v授計算機(jī)系統(tǒng)結(jié)構(gòu)研究生課程《虛擬機(jī)技術(shù)》的教材或教學(xué)參考書。工作在虛擬機(jī)技術(shù)領(lǐng)域的專業(yè)人士可以用于自學(xué)這些領(lǐng)域的前沿技術(shù)。本書還可以作為一本計算機(jī)系統(tǒng)軟硬件參考資料。

作者簡介

James E. Smith,威斯康星大學(xué)麥迪遜分校電子與計算機(jī)工程系教授。從伊利諾伊大學(xué)獲得計算機(jī)科學(xué)博士學(xué)位。1979至1981年間在美國的控制數(shù)據(jù)公司工作,參與CYBER 180/990的設(shè)計。其后,曾參與ACA ZS-1的開發(fā)工作。1989年加入Cray研究公司,率研究小組開發(fā)和分析未來超級計算機(jī)

書籍目錄

第1章 虛擬機(jī)導(dǎo)論 1.1 計算機(jī)體系結(jié)構(gòu)   1.2 虛擬機(jī)基礎(chǔ)   1.3 進(jìn)程虛擬機(jī)    1.3.1 多道程序設(shè)計    1.3.2 仿真器和動態(tài)二進(jìn)制翻譯器    1.3.3 相同ISA下的二進(jìn)制優(yōu)化器    1.3.4 高級語言虛擬機(jī):平臺獨(dú)立性   1.4 系統(tǒng)虛擬機(jī)    1.4.1 系統(tǒng)虛擬機(jī)的實(shí)現(xiàn)    1.4.2 全系統(tǒng)虛擬機(jī):仿真    1.4.3 協(xié)同設(shè)計虛擬機(jī):硬件優(yōu)化   1.5 一種分類方法   1.6 總結(jié):虛擬機(jī)功能的多樣性   1.7 本書的其他部分  第2章 仿真:解釋和二進(jìn)制翻譯   2.1 基本的解釋   2.2 線索解釋   2.3 預(yù)譯碼和直接線程解釋    2.3.1 基本的預(yù)譯碼    2.3.2 直接線索解釋   2.4 解釋一個復(fù)雜的指令集    2.4.1 IA-32 ISA的解釋    2.4.2 線索解釋    2.4.3 一個高性能IA-32解釋器   2.5 二進(jìn)制翻譯   2.6 代碼發(fā)現(xiàn)和動態(tài)翻譯    2.6.1 代碼發(fā)現(xiàn)的問題    2.6.2 代碼定位問題    2.6.3 增量式預(yù)譯碼和翻譯   2.6.4 相同ISA仿真   2.7 控制轉(zhuǎn)移優(yōu)化    2.7.1 翻譯鏈接    2.7.2 軟件間接跳轉(zhuǎn)預(yù)測    2.7.3 影子棧   2.8 指令集問題    2.8.1 寄存器結(jié)構(gòu)    2.8.2 條件碼    2.8.3 數(shù)據(jù)格式和運(yùn)算    2.8.4 內(nèi)存地址解析    2.8.5 內(nèi)存數(shù)據(jù)對齊    2.8.6 字節(jié)序    2.8.7 尋址結(jié)構(gòu)   2.9 案例研究:SHADE和模擬過程中的仿真角色   2.10 總結(jié):性能折衷  第3章 進(jìn)程虛擬機(jī)   3.1 虛擬機(jī)實(shí)現(xiàn)   3.2 兼容性    3.2.1 兼容性的級別    3.2.2 一個兼容性框架    3.2.3 實(shí)現(xiàn)依賴   3.3 狀態(tài)映射    3.3.1 寄存器映射    3.3.2 內(nèi)存地址空間映射   3.4 內(nèi)存結(jié)構(gòu)仿真    3.4.1 內(nèi)存保護(hù)    3.4.2 自引用和自修改代碼   3.5 指令仿真    3.5.1 性能權(quán)衡    3.5.2 分階段的仿真   3.6 異常仿真    3.6.1 異常檢測    3.6.2 中斷處理    3.6.3 確定精確的客戶機(jī)狀態(tài)    ……第4章 動態(tài)二進(jìn)制優(yōu)化  第5章 高級語言虛擬機(jī)結(jié)構(gòu)  第6章 高級語言虛擬機(jī)實(shí)現(xiàn)  第7章 協(xié)同設(shè)計虛擬機(jī)  第8章 系統(tǒng)虛擬機(jī)  第9章 多處理器虛擬化 第10章 新興應(yīng)用 附錄A 實(shí)際機(jī)器  參考文獻(xiàn)索引

章節(jié)摘錄

插圖:第1章 虛擬機(jī)導(dǎo)論現(xiàn)代計算機(jī)是人類工程學(xué)中最先進(jìn)的結(jié)構(gòu),人類對極度復(fù)雜性的控制能力成就了現(xiàn)代計算機(jī)今日的輝煌。計算機(jī)系統(tǒng)由許多硅芯片組成,而每個芯片則由上億個晶體管構(gòu)成。這些芯片相互連接,并與高速的輸入/輸出設(shè)備、網(wǎng)絡(luò)設(shè)施一起組成可以運(yùn)行軟件的平臺。操作系統(tǒng)、應(yīng)用程序和庫、圖形和網(wǎng)絡(luò)軟件,所有這些協(xié)同工作,為數(shù)據(jù)管理、教育、通信、娛樂以及許多其他應(yīng)用提供了強(qiáng)大的計算機(jī)環(huán)境。管理計算機(jī)系統(tǒng)復(fù)雜性的關(guān)鍵是通過一些定義明確的接口把計算機(jī)系統(tǒng)劃分成不同的抽象層次。抽象層次允許忽略或簡化系統(tǒng)設(shè)計的底層實(shí)現(xiàn)細(xì)節(jié),從而簡化高層組件的設(shè)計。例如,硬盤被劃分為不同的磁道和扇區(qū),它的細(xì)節(jié)經(jīng)過操作系統(tǒng)的抽象,使應(yīng)用程序看到的硬盤是不同大小的文件集合(圖1—1)。在這之后應(yīng)用程序可以創(chuàng)建、讀、寫文件,而并不需要了解硬盤是如何構(gòu)造和組建的。計算機(jī)系統(tǒng)的抽象層次通過分層組織,底層由硬件實(shí)現(xiàn),高層由軟件實(shí)現(xiàn)。在硬件層,所有的組件都是物理的,有真實(shí)的特性,各部分通過定義的接口物理地連接在一起。在軟件層,組件都是邏輯的,較少受物理特性的限制。本書主要涉及硬件和軟件分界處及其附近的抽象層次,在這些層次上軟件從運(yùn)行它的機(jī)器中分離出來。計算機(jī)軟件由“機(jī)器”來執(zhí)行(“機(jī)器(Machine)”這個術(shù)語從計算機(jī)出現(xiàn)時就有,現(xiàn)在比較流行的是“平臺(Platform)”這個術(shù)語)。從操作系統(tǒng)的角度看,“機(jī)器”主要由一些硬件組成,包括一個或多個運(yùn)行特定指令集的處理器、實(shí)存儲器、I/O設(shè)備。但是,“機(jī)器”這個術(shù)語的使用并不局限于計算機(jī)的硬部件。例如,從應(yīng)用程序的角度看,“機(jī)器”是指操作系統(tǒng)與通過用戶級二進(jìn)制指令可訪問的那部分硬件的組合。

媒體關(guān)注與評論

硬件是借助微電子工具構(gòu)建起來的缺乏靈活性的東西。虛擬機(jī)用一層軟件將硬件包裹起來,從而使得計算機(jī)靈活可變。正在發(fā)展的一些新技術(shù),能夠?qū)崿F(xiàn)在同一個硬件上運(yùn)行多個操作系統(tǒng)、執(zhí)行多套指令集,允許程序在執(zhí)行過程中切換機(jī)器,甚至排斥不安全的代碼。虛擬機(jī)正改變著計算機(jī)和操作系統(tǒng)的設(shè)計方法、編程語言的實(shí)現(xiàn)方法,以及安全專家對計算機(jī)和計算的認(rèn)知。Smith和Nair的這本書是迄今為止僅有的對虛擬機(jī)及其眾多應(yīng)用的綜述?!  狫im Larus, 微軟研究院 虛擬機(jī)已經(jīng)無處不在。Jim Smith和Ravi Navi極為清晰地闡明了虛擬機(jī)技術(shù)對現(xiàn)代計算機(jī)體系結(jié)構(gòu)、程序設(shè)計語言、操作系統(tǒng)以及安全技術(shù)的深刻影響。對未來計算機(jī)系統(tǒng)感興趣的人有必要研讀本書,我極力推薦本書!  ——Michael D. Smith, 哈佛大學(xué)

編輯推薦

《虛擬機(jī):系統(tǒng)與進(jìn)程的通用平臺》總結(jié)了各種不同的虛擬機(jī)技術(shù),為計算機(jī)各個領(lǐng)域的學(xué)者和研發(fā)人員提供了一個新的交叉研究領(lǐng)域,便子以更好的組織方式來研究、設(shè)計和實(shí)現(xiàn)虛擬機(jī)??v觀歷史,操作系統(tǒng)、編程語言和編譯器、計算機(jī)體系結(jié)構(gòu)等多個領(lǐng)域都發(fā)展了各自的虛擬機(jī)技術(shù),但沒有從統(tǒng)一的角度搭建這些技術(shù)的基本關(guān)系?,F(xiàn)代計算機(jī)系統(tǒng)的硬件結(jié)構(gòu)正朝著片上多核。系統(tǒng)多級并行處理的方向發(fā)展,并且通過Innternet互聯(lián)起來,構(gòu)成功能更強(qiáng)大、應(yīng)用更廣泛的系統(tǒng)。在系統(tǒng)的物理資源大大增加的同時,系統(tǒng)的物理實(shí)現(xiàn)也變得極為復(fù)雜,系統(tǒng)在可擴(kuò)展性、可靠性??捎眯?,可管理性和安全性等方面都遇到了難以用單點(diǎn)體系結(jié)構(gòu)技術(shù)來解決的一系列問題。虛擬機(jī)技術(shù)在應(yīng)對這一系列問題上越來越顯現(xiàn)出前所未有的重要性?!短摂M機(jī):系統(tǒng)與進(jìn)程的通用平臺》特色:·結(jié)構(gòu)清晰。《虛擬機(jī):系統(tǒng)與進(jìn)程的通用平臺》以計算機(jī)系統(tǒng)接口抽象層次中兩個最重要的接口——應(yīng)用的二進(jìn)制接口和應(yīng)用程序接口為邊界,將計算機(jī)系統(tǒng)資源的各種虛擬化技術(shù)劃分為進(jìn)程虛擬機(jī)和系統(tǒng)虛擬機(jī)兩大類展開討論,清晰地層現(xiàn)了虛擬化技術(shù)各種方法的各個層面及各類應(yīng)用。·全面系統(tǒng)。作者從學(xué)術(shù)和工業(yè)應(yīng)廚兩個方面對虛擬機(jī)技術(shù)幾十年的研究和發(fā)展歷史進(jìn)行了綜述,從體系結(jié)構(gòu)、程序設(shè)計語言和編譯、操作系統(tǒng)及系統(tǒng)安全等多個專業(yè)領(lǐng)域深入探討了虛擬機(jī)技術(shù)的應(yīng)用。·理實(shí)交融。本書提供了大量實(shí)際虛擬機(jī)系統(tǒng)的原理說明及翔實(shí)的參考文獻(xiàn),包括Shade模擬系統(tǒng)、FX!32系統(tǒng)、Dynamo/RIO、Java和CLI等流行語言虛擬機(jī)、Jikes RVM、Transmeta Crusoe處理器、IBM的AS/400和z/VM系統(tǒng)、VMware的主機(jī)虛擬機(jī)。Intel的VT-X虛擬技術(shù)以及多處理器虛擬系統(tǒng)——Cellular Disco,微軟、惠普及其他工業(yè)研究團(tuán)體韻本領(lǐng)域研究人員對全書進(jìn)行了審閱?!っ嫦蛭磥?。《虛擬機(jī):系統(tǒng)與進(jìn)程的通用平臺》在最后一章專門討論了一些新興的虛擬機(jī)應(yīng)用,包括安全領(lǐng)域(討論入侵檢測系統(tǒng)的原理以及虛擬機(jī)在系統(tǒng)攻防方面的應(yīng)用潛力)、移動計算環(huán)境(討論商業(yè)上的應(yīng)用:VMware的vmotion)以及計算網(wǎng)格(展示典型的系統(tǒng)虛擬機(jī)對新興網(wǎng)格系統(tǒng)出現(xiàn)的重要作用)方面的應(yīng)用。

名人推薦

虛擬機(jī)正改變著計算機(jī)和操作系統(tǒng)的設(shè)計方法、編程語言的實(shí)現(xiàn)方法,以及安全專家對計算機(jī)和計算的認(rèn)知。Smith和Nair的這本書是迄今為止僅有的對虛擬機(jī)及其眾多應(yīng)用的綜述。                                                       ——Jim Larus, 微軟研究院  虛擬機(jī)已經(jīng)無處不在。Jim Smith和Ravi Navi極為清晰地闡明了虛擬機(jī)技術(shù)對現(xiàn)代計算機(jī)體系結(jié)構(gòu)、程序設(shè)計語言、操作系統(tǒng)以及安全技術(shù)的深刻影響。對未來計算機(jī)系統(tǒng)感興趣的人有必要研讀本書,我極力推薦本書!                                                  ——Michael D. Smith, 哈佛大學(xué)讀者(英文版)點(diǎn)評:此書每個章節(jié)均數(shù)據(jù)詳實(shí)且巨細(xì)靡遺,剖析各類型虛擬機(jī)器的技術(shù)細(xì)節(jié)、內(nèi)部運(yùn)作流程和設(shè)計層面的取舍。像第八章「系統(tǒng)虛擬機(jī)器」以VMWare公司的產(chǎn)品為案例,解釋x86指令集先天的諸多限制與VMWare提出的解決之道,進(jìn)而討論英特爾Vanderpool的存在價值和不足之處,甚至以非常難以虛擬化的RDTSC指令作例子,詳細(xì)描繪出Vanderpool運(yùn)作的全貌和優(yōu)點(diǎn)??偠灾祟惥芊治霰椴既珪?,極為精彩?!短摂M機(jī):系統(tǒng)與進(jìn)程的通用平臺》一書的問世,將徹底改變你的成見與看法,這也是我們認(rèn)為目前唯一深入介紹所有虛擬機(jī)器技術(shù)的專書。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    虛擬機(jī) PDF格式下載


用戶評論 (總計23條)

 
 

  •   昨天晚上半夜下的單,上午就收到了,速度那叫快。 剛看了會,內(nèi)容不錯,填補(bǔ)了語言類虛擬機(jī)的空白,不錯,值得研究!
  •   這本書是個好書,適合研究虛擬化相關(guān)的
  •   很經(jīng)典的一本書,講的很好,如果條件可以的話,讀英文的更好一些~~~
  •   研究用書,推選····
  •   相當(dāng)不錯的一本書,很經(jīng)典,相當(dāng)不錯!
  •   與我現(xiàn)在的方向吻合,很適用
  •   給別人買的,具體情況不知道。
  •   還沒讀..................
  •   就是 不整潔
  •   書應(yīng)該還不錯的,就是有點(diǎn)難
  •   給別人買的,我沒看。
  •   詳細(xì)的介紹了虛擬機(jī)系統(tǒng)
  •   對虛擬機(jī)的分類和實(shí)現(xiàn)虛擬機(jī)的關(guān)鍵技術(shù)介紹的比較到位 當(dāng)然全部覆蓋當(dāng)然是不可能了
  •   書還不錯,只是折扣偏高,紙張不是很好
  •   廢話有點(diǎn)太多,翻譯的還可以:)
  •   紙張感覺不怎么好,但還可以 書的內(nèi)容還沒看 沒想象的那么厚  書還是不錯的,看懂就是另一回事了
  •   書挺薄,不知道內(nèi)容有新鮮的不
  •   not badnot badnot badnot bad
  •   入門級介紹類書籍,沒有太多的可操作性。
  •   詳細(xì)介紹了虛擬化的相關(guān)技術(shù),可當(dāng)教科書使用。
  •   內(nèi)容是很不錯的,對虛擬機(jī)基本概念和技術(shù)都有講述,并且介紹了這個領(lǐng)域的新趨勢,對希望了解虛擬機(jī)技術(shù)的人有參考價值。但建議讀英文原版!中文版翻譯太爛了,有些地方簡直就是臨時工譯的,根本看不懂寫的什么意思,不得不對照英文版看
  •   技術(shù)性的書,看重的是內(nèi)容
  •   有些虛擬化技術(shù)沒有講到
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7