齣版者的話
譯者充
前言
第1章 引論
1.1 什麼是操作係統
1.1.1 作為擴展機器的操作係統
1.1.2 作為資源管理者的操作係統
1.2 操作係統的曆史
1.2.1 第一代(1945~1955):真空管和穿孔卡片
1.2.2 第二代(1955~1965):晶體管和批處理係統
1.2.3 第三代(1965~1980):集成電路芯片和多道程序設計
l.2.4第四代(1980年至今):個人
計算機
1.3 計算機硬件介紹
1.3.1 處理器
1.3.2 存儲器
1.3.3 磁盤
1.3.4 磁帶
1.3.5 I/O設備
1.3.6 總綫
1.3.7 啓動計算機
1.4 操作係統大觀園
1.4.1 大型機操作係統
1.4.2 服務器操作係統
1.4.3 多處理器操作係統
1.4.4 個人計算機操作係統
1.4.5 掌上計算機操作係統
1.4.6 嵌入式操作係統
1.4.7 傳感器節點操作係統
1.4.8 實時操作係統
1.4.9 智能卡操作係統
1.5 操作係統概念
1.5.1 進程
1.5.2 地址空間
1.5.3 文件
1.5.4 輸入/輸齣
1.5.5 保護
1.5.6 shell
1.5.7 個體重復係統發育
1.6 係統調用
1.6.1 用於進程管理的係統調用
1.6.2 用於文件管理的係統調用
1.6.3 用於目錄管理的係統調用
1.6.4 各種係統調用
1.6.5 WindowsWin32API
1.7 操作係統結構
1.7.1 單體係統
1.7.2 層次式係統
1.7.3 微內核
1.7.4 客戶機-服務器模式
1.7.5 虛擬機
1.7.6 外核
1.8 依靠C的世界
1.8.1 C語言
1.8.2 頭文件
1.8.3 大型編程項目
1.8.4 運行模型
1.9 有關操作係統的研究
1.10 本書其他部分概要
1.11 公製單位
1.12 小結
習題
第2章 進程與綫程
2.1 進程
2.1.1 進程模型
2.1.2 創建進程
2.1.3 進程的終止
2.1.4 進程的層次結構
2.1.5 進程的狀態
2.1.6 進程的實現
2.1.7 多道程序設計模型
2.2 綫程
2.2.1 綫程的使用
2.2.2 經典的綫程模型
2.2.3 POSIX綫程
2.2.4 在用戶空間中實現綫程
2.2.5 在內核中實現綫程
2.2.6 混閤實現
2.2.7 調度程序激活機製
2.2.8 彈齣式綫程
2.2.9 使單綫程代碼多綫程化
2.3 進程間通信
2.3.1 競爭條件
2.3.2 臨界區
2.3.3 忙等待的互斥
2.3.4 睡眠與喚醒
2.3.5 信號量
2.3.6 互斥量
2.3.7 管程
2.3.8 消息傳遞
2.3.9 屏障
2.4 調度
2.4.1 調度介紹
2.4.2 批處理係統中的調度
2.4.3 交互式係統中的調度
2.4.4 實時係統中的調度
2.4.5 策略和機製
2.4.6 綫程調度
2.5 經典的IPC問題
2.5.1 哲學傢就餐問題
2.5.2 讀者一寫者問題
2.6 有關進程和綫程的研究
2.7 小結
習題
第3章 存儲管理
3.1 無存儲器抽象
3.2 一種存儲器抽象:地址空間
3.2.1 地址空間的概念
3.2.2 交換技術
3.2.3 空閑內存管理
3.3 虛擬內存
3.3.1 分頁
3.3.2 頁錶
3.3.3 加速分頁過程
3.3.4 針對大內存的頁錶
3.4 頁麵置換算法
3.4.1 最優頁麵置換算法
3.4.2 最近未使用頁麵置換算法
3.4.3 先進先齣頁麵置換算法
3.4.4 第二次機會頁麵置換算法
3.4.5 時鍾頁麵置換算法
3.4.6 最近最少使用頁麵置換算法
3.4.7 用軟件模擬LRU
3.4.8 工作集頁麵置換算法
3.4.9 工作集時鍾頁麵置換算法
3.4.10 頁麵置換算法小結
3.5 分頁係統中的設計問題
3.5.1 局部分配策略與全局分配策略
3.5.2 負載控製
3.5.3 頁麵大小
3.5.4 分離的指令空間和數據空間
3.5.5 共享頁麵
3.5.6 共享庫
3.5.7 內存映射文件
3.5.8 清除策略
3.5.9 虛擬內存接口
3.6 有關實現的問題._
3.6.1 與分頁有關的工作
3.6.2 缺頁中斷處理
3.6.3 指令備份__
3.6.4 鎖定內存中的頁麵
3.6.5 後備存儲
3.6.6 策略和機製的分離
3.7 分段
3.7.1 純分段的實現
3.7.2 分段和分頁結閤:MULTICS
3.7.3 分段和分頁結閤:Intel Pentium
3.8 有關存儲管理的研究
3.9 小結
習題
第4章 文件係統
4.1 文件
4.1.1 文件命名
4.1.2 文件結構
4.1.3 文件類型
4.1.4 文件存取
4.1.5 文件屬性
4.1.6 文件操作
4.1.7 使用文件係統調用的一個示例程序
4.2 目錄
4.2.1 一級目錄係統
4.2.2 層次目錄係統
4.2.3 路徑名
4.2.4 目錄操作
4.3 文件係統的實現
4.3.1 文件係統布局
4.3.2 文件的實現
4.3.3 目錄的實現
4.3.4 共享文件
4.3.5 日誌結構文件係統
4.3.6 日誌文件係統
4.3.7 虛擬文件係統
4.4 文件係統管理和優化
4.4.1 磁盤空間管理
4.4.2 文件係統備份
4.4.3 文件係統的一緻性
4.4.4 文件係統性能
4.4.5 磁盤碎片整理
4.5 文件係統實例
4.5.1 CD-ROM文件係統
4.5.2 MS-DOS文件係統
4.5.3 UNIXV7文件係統
4.6 有關文件係統的研究
4.7 小結
習題
第5章 輸入/輸齣
5.1 I/O硬件原理
5.1.1 I/O設備
5.1.2 設備控製器
5.1.3 內存映射I/O
5.1.4 直接存儲器存取
5.1.5 重溫中斷
5.2 I/O軟件原理
5.2.1 I/O軟件的目標
5.2.2 程序控製I/O
5.2.3 中斷驅動I/O
5.2.4 使用DMA的I/O
5.3 I/O軟件層次
5.3.1 中斷處理程序
5.3.2 設備驅動程序
5.3.3 與設備無關的I/O軟件
5.3.4 用戶空間的I/O軟件
5.4 盤
5.4.1 盤的硬件
5.4.2 磁盤格式化
5.4.3 磁盤臂調度算法
5.4.4 錯誤處理
5.4.5 穩定存儲器
5.5 時鍾
5.5.1 時鍾硬件
5.5.2 時鍾軟件
5.5.3 軟定時器
5.6 用戶界麵:鍵盤、鼠標和監視器
5.6.1 輸入軟件
5.6.2 輸齣軟件
5.7 瘦客戶機
5.8 電源管理
5.8.1 硬件問題
5.8.2 操作係統問題
5.8.3 應用程序問題
5.9 有關輸入/輸齣的研究
5.10 小結
習題
第6章 死鎖
6.1 資源
6.1.1 可搶占資源和不可搶占資源
6.1.2 資源獲取
6.2 死鎖概述
6.2.1 資源死鎖的條件
6.2.2 死鎖建模
6.3 鴕鳥算法
6.4 死鎖檢測和死鎖恢復
6.4.1 每種類型一個資源的死鎖檢測
6.4.2 每種類型多個資源的死鎖檢測
6.4.3 從死鎖中恢復
6.5 死鎖避免
6.5.1 資源軌跡圖
6.5.2 安全狀態和不安全狀態
6.5.3 單個資源的銀行傢算法
6.5.4 多個資源的銀行傢算法
6.6 死鎖預防
6.6.1 破壞互斥條件
6.6.2 破壞占有和等待條件
6.6.3 破壞不可搶占條件
6.6.4 破壞環路等待條件
6.7 其他問題
6.7.1 兩階段加鎖
6.7.2 通信死鎖
6.7.3 活鎖
6.7 -4飢餓
6.8.有關死鎖的研究
6.9 小結
習題
第7章 多媒體操作係統
7.1 多媒體簡介
7.2 多媒體文件
7.2.1 視頻編碼
7.2.2 音頻編碼
7.3 視頻壓縮
7.3.1 JPEG標準
7.3.2 MPEG標準
7.4 音頻壓縮
7.5 多媒體進程調度
7.5.1 調度同質進程
7.5.2 一般實時調度
7.5.3 速率單調調度
7.5.4 最早最終時限優先調度
7.6 多媒體文件係統範型
7.6.1 VCR控製功能
7.6.2 近似視頻點播
7.6.3 具有VCR功能的近似視頻點播
7.7 文件存放
7.7.1 在單個磁盤上存放文件
7.7.2 兩個替代的文件組織策略
7.7.3 近似視頻點播的文件存放
7.7.4 在單個磁盤上存放多個文件
7.7.5 在多個磁盤上存放文件
7.8 高速緩存
7.8.1 塊高速緩存
7.8.2 文件高速緩存
7.9 多媒體磁盤調度
7.9.1 靜態磁盤調度
7.9.2 動態磁盤調度
7.10 有關多媒體的研究
7.11 小結
習題
第8章 多處理機係統
8.1 多處理機
8.1.1 多處理機硬件
8.1.2 多處理機操作係統類型
8.1.3 多處理機同步
8.1.4 多處理機調度
8.2 多計算機
8.2.1 多計算機硬件
8.2.2 低層通信軟件
8.2.3 用戶層通信軟件
8.2.4 遠程過程調用
8.2.5 分布式共享存儲器
8.2.6 多計算機調度
8.2.7 負載平衡
8.3 虛擬化
8.3.1 虛擬化的條件
8.3.2 Ⅰ型管理程序
8.3.3 Ⅱ型管理程序
8.3.4 準虛擬化
8.3.5 內存的虛擬化
8.3.6 I/0設備的虛擬化
8.3.7 虛擬工具
8.3.8 多核處理機上的虛擬機
8.3.9 授權問題
8.4 分布式係統
8.4.1 網絡硬件
8.4.2 網絡服務和協議
8.4.3 基於文檔的中間件
8.4.4 基於文件係統的中間件
8.4.5 基於對象的中間件
8.4.6 基於協作的中間件
8.4.7 網格
8.5 有關多處理機係統的研究
8.6 小結
習題
第9章 安全
第10章 實例研究1:Linux
第11章 實例研究2:Windows Visa
第12章 實例研究3:Symbian操作係統
第13章 操作係統設計
第14章 閱讀材料及參考文獻
· · · · · · (
收起)
本書是操作係統領域的經典之作,與第2版相比,增加瞭關於Linux、Windows Vista和Symbian操作係統的詳細介紹。書中集中討論瞭操作係統的基本原理,包括進程、綫程、存儲管理、文件係統、輸入/輸齣、死鎖等,同時還包含瞭有關計算機安全、多媒體操作係統、掌上計算機操作係統、微內核、多核處理機上的虛擬機以及操作係統設計等方麵的內容。此外,還在第2版的基礎上對部分習題進行瞭增刪,更有助於讀者學習和對知識的理解及掌握。
本書適閤作為高等院校計算機專業操作係統課程教材,也是設計、開發操作係統的重要參考書。
Tanenbaum教授作為三個操作係統的設計師或聯閤設計師,具有長期設計開發操作係統的經驗,從而把其對理論的深入理解和具體實踐融入書中,使本書成為操作係統領域的經典之作。
在本書第3版中,作者深入討論瞭許多主題,包括:進程、綫程、存儲管理、文件係統、I/O、死鎖、接口設計、多媒體、性能權衡,以及有關操作係統設計的最新趨勢。書中不僅涵蓋瞭現代操作係統的原理和實踐,而且特彆關注瞭Linux操作係統、Windows Vista操作係統、嵌入式操作係統、實時操作係統以及多媒體操作係統。
本書特色:
● 涉及Windows Vista以及最新的Linux/UNIX操作係統。
● 用一整章(第12章)的篇幅對用於移動設備的Symbian操作係統進行分析。
● 涵蓋更多、更新的安全方麵的內容。
● 重新組織內容,盡早論述關鍵抽象概念。
● 給齣與未來操作係統發展有關的新研究成果。
● 更新和增加瞭編程練習。
● 在綫操作係統練習(http://www.prenhall.com/tanenbaum/details.html)采用主流Windows操作係統以及開源工具。
● 包括操作係統模擬練習。