本書的目的是使讀者熟悉現(xiàn)代操作系統(tǒng)的設計原理和實現(xiàn)問題,因此單純講述概念和理論遠遠不夠。為說明這些概念,同時將它們與真實世界中不得不做出的設計選擇相關聯(lián),本書選擇了4個操作系統(tǒng)作為實例:
◆ Windows 8:用于個人計算機、工作站和服務器的多任務操作系統(tǒng)。它融入了很多操作系統(tǒng)發(fā)展的*新技術。此外,Windows是*早采用面向對象原理進行設計的重要商業(yè)操作系統(tǒng)之一。本書涵蓋了Windows*新版本所采用的技術,包括Windows 8。
◆ Android:Android是為嵌入式設備特別是手機量身定做的,主要是為了滿足嵌入式環(huán)境的獨特需求。本書介紹了Android的內核信息。
◆ UNIX:*初是為小型計算機設計的多用戶操作系統(tǒng),但后來廣泛用于從微機到超級計算機的各種機器中。本書采用若干版本的UNIX作為實例。FreeBSD融合了很多的現(xiàn)代特征,是一個廣泛應用的操作系統(tǒng);Solaris是一個廣泛應用的商業(yè)版UNIX系統(tǒng)。
◆ Linux:一個非常普及且源代碼開放的UNIX版本。
選擇這些操作系統(tǒng)的原因是它們之間存在相關性,同時它們也具有代表性。關于這些實例操作系統(tǒng)的討論貫穿全書,而非集中于某一章或附錄部分。因此在討論并發(fā)性時,會描述每個實例操作系統(tǒng)的并發(fā)機制,并探討各種設計選擇的動機。采用真實的例子可加深讀者對相關章節(jié)中設計概念的理解。為方便起見,讀者也可在在線文檔中查閱所有實例操作系統(tǒng)的資料。
本書既是關于操作系統(tǒng)概念、結構和機制的教材,目的是盡可能清楚和全面地展示現(xiàn)代操作系統(tǒng)的本質和特點;也是講解操作系統(tǒng)的經(jīng)典教材,不僅系統(tǒng)地講述了操作系統(tǒng)的基本概念、原理和方法,而且以當代*流行的操作系統(tǒng)Windows 8、UNIX、Android、Linux為例,展現(xiàn)了當代操作系統(tǒng)的本質和特點。全書共分背景知識、進程、內存、調度、輸入/輸出和文件、嵌入式系統(tǒng)六部分,內容包括計算機系統(tǒng)概述、操作系統(tǒng)概述、進程描述和控制、線程、并發(fā)性:互斥和同步、并發(fā):死鎖和饑餓、內存管理、虛擬內存、單處理器調度、多處理器和實時調度、I/O管理和磁盤調度、文件管理、嵌入式操作系統(tǒng)、虛擬機、計算機安全技術、分布式處理、客戶/服務器和集群等。此外,本書配套網(wǎng)站提供了及時、生動的材料。
陳向群,北京大學信息科學技術學院計算機科學技術系教授,博士生導師,主要研究領域為軟件需求工程、知識工程、基于知識的軟件工程、面向服務的計算。
William Stallings:美國圣母大學電子工程學士,麻省理工學院計算機科學博士,《密碼術》期刊編委。美國多家高科技公司執(zhí)行總監(jiān),政府機構、計算機軟/硬件供應商顧問;曾為各種計算機和操作系統(tǒng)設計并實現(xiàn)TCP/IP和OSI協(xié)議套件;創(chuàng)建并維護了計算機科學專業(yè)學生資源網(wǎng)站ComputerScienceStudent.com。出版圖書17種,內容涉及計算機安全、計算機網(wǎng)絡和計算機系統(tǒng)結構等;在《IEEE進展》《ACM計算評論》和《密碼術》等期刊上發(fā)表文章多篇;先后12次獲美國年度*佳計算機科學教科書獎和學術作者協(xié)會獎。