封底文字
本書是一本關(guān)于操作系統(tǒng)概念、結(jié)構(gòu)和機(jī)制的教材,目的是盡可能清楚和全面地展示現(xiàn)代操作系統(tǒng)的本質(zhì)與特點(diǎn)。第八版在反映操作系統(tǒng)領(lǐng)域的變化的同時(shí),保持了操作系統(tǒng)領(lǐng)域的廣泛性,同時(shí)得到了許多教授和研究人員的審閱,敘述更清晰、緊湊。
本書新增內(nèi)容
◆ Windows 8:詳細(xì)介紹了Windows 8內(nèi)核的各種關(guān)鍵技術(shù)。
◆ Android操作系統(tǒng):詳細(xì)介紹了Android移動(dòng)平臺(tái)的限制和運(yùn)行環(huán)境。
◆ 嵌入式Linux:詳細(xì)介紹了嵌入式Linux的關(guān)鍵要素。
◆ 虛擬機(jī):新增了虛擬機(jī)操作系統(tǒng)設(shè)計(jì)問題的一章。
◆ 多核設(shè)計(jì)問題:增加了關(guān)于操作系統(tǒng)設(shè)計(jì)問題的討論。
◆ I/O標(biāo)準(zhǔn)化:更新了相應(yīng)的接口內(nèi)容。
◆ 存儲(chǔ)硬件:更新了存儲(chǔ)硬件部分,包含了固態(tài)硬盤驅(qū)動(dòng)器。
◆ 容錯(cuò)性:新增了介紹容錯(cuò)機(jī)制的一節(jié)。
本書特點(diǎn)
◆ 本書選擇Windows 8、Android、UNIX 和Linux四個(gè)有代表性的操作系統(tǒng)作為實(shí)例講解。
◆ 支持ACM/IEEE計(jì)算機(jī)科學(xué)課程體系2013。
◆ 適用于教學(xué),書中含有大量的動(dòng)畫、視頻和圖表,每章末尾給出了關(guān)鍵術(shù)語、復(fù)習(xí)題、習(xí)題、深入閱讀建議和相關(guān)網(wǎng)站的鏈接;書末給出了常用的縮略詞和參考文獻(xiàn)。
◆ 提供教學(xué)資源,包括參考答案、項(xiàng)目手冊(cè)、PPT、PDF文件、教學(xué)大綱等,請(qǐng)參考書中的“教學(xué)支持說明”。
◆ 提供操作系統(tǒng)項(xiàng)目和其他學(xué)生練習(xí)。
◆ 提供操作系統(tǒng)教學(xué)平臺(tái)OS/161、模擬項(xiàng)目和編輯項(xiàng)目。
譯 者 序
操作系統(tǒng)領(lǐng)域一直在不斷地發(fā)展和變化,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)和信息安全專業(yè)的學(xué)生要如何全面且深入地理解操作系統(tǒng)呢?William Stallings博士的這本教材給出了答案。William Stallings博士撰寫了很多有關(guān)計(jì)算機(jī)領(lǐng)域的教材,曾12次獲得美國年度最佳計(jì)算機(jī)科學(xué)教科書獎(jiǎng)和學(xué)術(shù)作者協(xié)會(huì)獎(jiǎng)。他的這本教材已更新到了第八版,并被全球的很多大學(xué)采用為操作系統(tǒng)課程的教材或參考書。本書內(nèi)容豐富、布局合理、概念清晰、舉例恰當(dāng)、文字簡(jiǎn)潔,是一本不可多得的優(yōu)秀教材。
本書在保持第七版的眾多特色的基礎(chǔ)上,緊跟操作系統(tǒng)領(lǐng)域的最新發(fā)展,增加了許多新內(nèi)容,包括Windows 8的各種關(guān)鍵技術(shù)、Android操作系統(tǒng)、嵌入式Linux、虛擬機(jī)技術(shù)、多核設(shè)計(jì)問題、I/O標(biāo)準(zhǔn)化問題、存儲(chǔ)硬件,以及“ACM/IEEE計(jì)算機(jī)科學(xué)課程體系2013”中的核心專題——容錯(cuò)機(jī)制。
特別值得一提的是,本書的配套資源可為教師和學(xué)生提供很大的幫助,這些資源包括每章末尾的習(xí)題、習(xí)題參考答案、項(xiàng)目安排建議、課堂教學(xué)課件、測(cè)試題、關(guān)于并發(fā)的教學(xué)視頻、教學(xué)大綱樣例等。這些資源非常寶貴,可為中國各高等學(xué)校開設(shè)操作系統(tǒng)課程的教師提高教學(xué)質(zhì)量提供有力的支持。即便是在課堂上帶領(lǐng)學(xué)生認(rèn)真討論每章后面精心提煉的關(guān)鍵術(shù)語,對(duì)學(xué)生順利完成操作系統(tǒng)課程的學(xué)習(xí)也是非常有意義的。
本書主要由陳向群、陳渝翻譯。參加翻譯、審閱和校對(duì)工作的還有王承珂、諶國風(fēng)、申鵬、張大衛(wèi)、劉璨、栗階、劉波、楊立群、騰蕓、潘偉民、金鑫、劉滿、周晴漪等,在此對(duì)他們的貢獻(xiàn)表示真誠的感謝。
由于譯者水平有限,本書的譯文中必定會(huì)存在一些不足或錯(cuò)誤之處,歡迎各位專家和廣大讀者們批評(píng)指正。
前 言
第八版新增內(nèi)容
自本書第七版出版以來,操作系統(tǒng)領(lǐng)域一直在不斷地發(fā)展著。本書的新版試圖在反映這些變化的同時(shí),保持操作系統(tǒng)領(lǐng)域的廣泛性。修訂本書時(shí),第七版得到了從事教學(xué)和研究的許多教授的審閱,因此新版中許多地方的敘述更加清晰、緊湊。
除了有利于教學(xué)和閱讀方便外,書中的內(nèi)容也因應(yīng)操作系統(tǒng)領(lǐng)域的進(jìn)展做了整體更新。主要變化如下:
◆ Windows 8:Windows 8是微軟公司面向個(gè)人計(jì)算機(jī)、工作站和服務(wù)器的最新操作系統(tǒng),其內(nèi)部架構(gòu)出現(xiàn)了很多變化。新版詳細(xì)介紹了Windows 8內(nèi)核的各種關(guān)鍵技術(shù),包括進(jìn)程/線程管理、調(diào)度、內(nèi)存管理、安全、文件系統(tǒng)和I/O。
◆ Android操作系統(tǒng):Android是一個(gè)快速發(fā)展的移動(dòng)平臺(tái)。移動(dòng)設(shè)備在現(xiàn)實(shí)世界中的限制和運(yùn)行環(huán)境,與傳統(tǒng)桌面計(jì)算機(jī)和服務(wù)器相比有很大的不同。因此學(xué)習(xí)這個(gè)新環(huán)境很重要。
◆ 嵌入式Linux:在嵌入式系統(tǒng)中使用最小版本的Linux已日益流行,新版中介紹了嵌入式Linux的關(guān)鍵要素。
◆ 虛擬機(jī):服務(wù)器虛擬化及其他各種形式的虛擬機(jī)得到了廣泛應(yīng)用,因此本書新增了介紹面向虛擬機(jī)的操作系統(tǒng)的設(shè)計(jì)問題的一章。
◆ 多核設(shè)計(jì)問題:現(xiàn)在的主流體系結(jié)構(gòu)是多核架構(gòu),因此新版中增加了相關(guān)操作系統(tǒng)設(shè)計(jì)問題的討論。
◆ I/O標(biāo)準(zhǔn)化:考慮到最新技術(shù)的發(fā)展,本書進(jìn)行了相應(yīng)的更新,包括雷電接口。
◆ 存儲(chǔ)硬件:書中的存儲(chǔ)硬件部分進(jìn)行了更新,現(xiàn)在已包含對(duì)固態(tài)硬盤驅(qū)動(dòng)器的討論。
◆ 容錯(cuò):“ACM/IEEE計(jì)算機(jī)科學(xué)課程體系2013”已將容錯(cuò)列為操作系統(tǒng)課程的核心專題,因此新增了介紹容錯(cuò)機(jī)制的一節(jié)。
目標(biāo)
本書是一本關(guān)于操作系統(tǒng)概念、結(jié)構(gòu)和機(jī)制的教材,目的是盡可能清楚和全面地展示現(xiàn)代操作系統(tǒng)的本質(zhì)與特點(diǎn)。
這是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。首先,需要為各種各樣的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)操作系統(tǒng),包括嵌入式系統(tǒng)、智能手機(jī)、單用戶工作站和個(gè)人計(jì)算機(jī)、中等規(guī)模的共享系統(tǒng)、大型計(jì)算機(jī)和超級(jí)計(jì)算機(jī),以及諸如實(shí)時(shí)系統(tǒng)之類的專用機(jī)器。多樣性不僅體現(xiàn)在機(jī)器的容量和速度上,而且體現(xiàn)在具體應(yīng)用和系統(tǒng)支持的需求上;其次,計(jì)算機(jī)系統(tǒng)正以日新月異的速度發(fā)展變化,操作系統(tǒng)設(shè)計(jì)中的許多重要領(lǐng)域都是最近才開始研究的,并且關(guān)于這些領(lǐng)域及其他新領(lǐng)域的研究工作仍在進(jìn)行。
盡管存在著多樣性和變化快等問題,但一些基本概念仍然貫穿始終。當(dāng)然,這些概念的應(yīng)用依賴于當(dāng)前的技術(shù)狀況和特定的應(yīng)用需求。本書的目的是全面討論操作系統(tǒng)設(shè)計(jì)的基本原理,并將現(xiàn)代流行的設(shè)計(jì)問題與當(dāng)前操作系統(tǒng)的發(fā)展方向相關(guān)聯(lián)。
實(shí)例系統(tǒng)
本書的目的是使讀者熟悉現(xiàn)代操作系統(tǒng)的設(shè)計(jì)原理和實(shí)現(xiàn)問題,因此單純講述概念和理論遠(yuǎn)遠(yuǎn)不夠。為說明這些概念,同時(shí)將它們與真實(shí)世界中不得不做出的設(shè)計(jì)選擇相關(guān)聯(lián),本書選擇了4個(gè)操作系統(tǒng)作為實(shí)例:
◆ Windows 8:用于個(gè)人計(jì)算機(jī)、工作站和服務(wù)器的多任務(wù)操作系統(tǒng)。它融入了很多操作系統(tǒng)發(fā)展的最新技術(shù)。此外,Windows是最早采用面向?qū)ο笤磉M(jìn)行設(shè)計(jì)的重要商業(yè)操作系統(tǒng)之一。本書涵蓋了Windows最新版本所采用的技術(shù),包括Windows 8。
◆ Android:Android是為嵌入式設(shè)備特別是手機(jī)量身定做的,主要是為了滿足嵌入式環(huán)境的獨(dú)特需求。本書介紹了Android的內(nèi)核信息。
◆ UNIX:最初是為小型計(jì)算機(jī)設(shè)計(jì)的多用戶操作系統(tǒng),但后來廣泛用于從微機(jī)到超級(jí)計(jì)算機(jī)的各種機(jī)器中。本書采用若干版本的UNIX作為實(shí)例。FreeBSD融合了很多的現(xiàn)代特征,是一個(gè)廣泛應(yīng)用的操作系統(tǒng);Solaris是一個(gè)廣泛應(yīng)用的商業(yè)版UNIX系統(tǒng)。
◆ Linux:一個(gè)非常普及且源代碼開放的UNIX版本。
選擇這些操作系統(tǒng)的原因是它們之間存在相關(guān)性,同時(shí)它們也具有代表性。關(guān)于這些實(shí)例操作系統(tǒng)的討論貫穿全書,而非集中于某一章或附錄部分。因此在討論并發(fā)性時(shí),會(huì)描述每個(gè)實(shí)例操作系統(tǒng)的并發(fā)機(jī)制,并探討各種設(shè)計(jì)選擇的動(dòng)機(jī)。采用真實(shí)的例子可加深讀者對(duì)相關(guān)章節(jié)中設(shè)計(jì)概念的理解。為方便起見,讀者也可在在線文檔中查閱所有實(shí)例操作系統(tǒng)的資料。
對(duì)“ACM/IEEE計(jì)算機(jī)科學(xué)課程體系2013”的支持
本書的讀者是大學(xué)學(xué)生和專業(yè)技術(shù)人員,可作為計(jì)算機(jī)科學(xué)、計(jì)算機(jī)工程和電氣工程專業(yè)本科生一學(xué)期或兩學(xué)期的操作系統(tǒng)課程教材。新版符合“ACM/IEEE計(jì)算機(jī)科學(xué)課程體系2013”(CS2013)最新草案版(2013年2月)的要求。在CS2013推薦的課程體系中,操作系統(tǒng)(OS)是計(jì)算機(jī)科學(xué)的主干課程。CS2013將所有課程內(nèi)容分為三類,即核心類1(含課程體系中的所有專題)、核心類2(含所有或幾乎所有專題)、選修類(提供深度和廣度)。在操作系統(tǒng)領(lǐng)域,CS2013含有核心類1的2個(gè)專題、核心類2的4個(gè)專題及選修類的6個(gè)可選專題,每個(gè)專題下都含有一些子專題。本書涵蓋了CS2013列出的三類課程中的所有專題和子專題。
表P.1中給出了本書對(duì)操作系統(tǒng)知識(shí)領(lǐng)域的支持情況。每個(gè)專題下的子專題清單,讀者可參閱文件box.com/OS8e/CS2013-OS.pdf。
表P.1 本書對(duì)CS2013中操作系統(tǒng)知識(shí)領(lǐng)域的覆蓋情況
專 題 本書中的覆蓋情況
操作系統(tǒng)概述(類1) 第2章:操作系統(tǒng)概述
操作系統(tǒng)原理(類1) 第1章:計(jì)算機(jī)系統(tǒng)概述
第2章:操作系統(tǒng)概述
并發(fā)(類2) 第5章:并發(fā)性:互斥和同步
第6章:并發(fā):死鎖和饑餓
附錄A:并發(fā)主題
第18章:分布式進(jìn)程管理
第9章:?jiǎn)翁幚砥髡{(diào)度
第10章:多處理器和實(shí)時(shí)調(diào)度
存儲(chǔ)管理(類2) 第7章:內(nèi)存管理
第8章:虛擬內(nèi)存
安全與保護(hù)(類2) 第15章:計(jì)算機(jī)安全技術(shù)
虛擬機(jī)(選修) 第14章:虛擬機(jī)
設(shè)備管理(選修) 第11章:I/O管理和磁盤調(diào)度
文件系統(tǒng)(選修) 第12章:文件管理
實(shí)時(shí)與嵌入式系統(tǒng)(選修) 第10章:多處理器和實(shí)時(shí)調(diào)度
第13章:嵌入式操作系統(tǒng)
書中與Android相關(guān)的例子
容錯(cuò)(選修) 2.5節(jié):容錯(cuò)性
系統(tǒng)性能評(píng)估(選修) 書中與存儲(chǔ)管理、調(diào)度及其他領(lǐng)域相關(guān)的性能問題
本書結(jié)構(gòu)
本書分為六部分(參見第0章的綜述):
◆ 背景知識(shí)
◆ 進(jìn)程
◆ 內(nèi)存
◆ 調(diào)度
◆ 嵌入式系統(tǒng)
◆ 輸入/輸出和文件
本書適用于教學(xué)。書中含有大量的動(dòng)畫、視頻和圖表,每章末尾給出了關(guān)鍵術(shù)語、復(fù)習(xí)題、習(xí)題、深入閱讀建議和相關(guān)網(wǎng)站的鏈接;書末給出了常用的縮略詞和參考文獻(xiàn)。此外,本書可為教師提供題庫。
教師支持資源
本書的主要目的是成為操作系統(tǒng)這門課程的有效教學(xué)工具,這在本書的結(jié)構(gòu)和補(bǔ)充材料中得到了反映。以下是便于教師教學(xué)的補(bǔ)充材料: