現(xiàn)代操作系統(tǒng)(原書第4版)
定 價:89 元
叢書名:計算機科學(xué)叢書
- 作者:Andrew S. Tanenbaum; Herbert Bos
- 出版時間:2017/7/19
- ISBN:9787111573692
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP316
- 頁碼:610
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書是操作系統(tǒng)領(lǐng)域的經(jīng)典教材,主要內(nèi)容包括進程與線程、內(nèi)存管理、文件系統(tǒng)、輸入/輸出、死鎖、虛擬化和云、多處理機系統(tǒng)、安全,以及關(guān)于UNIX、Linux、Android和Windows的實例研究等。第4版對知識點進行了全面更新,反映了當代操作系統(tǒng)的發(fā)展與動向。本書適合作為高等院校計算機專業(yè)的操作系統(tǒng)課程教材,也適合相關(guān)技術(shù)人員參考。
出版者的話
譯者序
前言
作者簡介
第1章 引論1
1.1 什么是操作系統(tǒng)2
1.1.1 作為擴展機器的操作系統(tǒng)2
1.1.2 作為資源管理者的操作系統(tǒng)3
1.2 操作系統(tǒng)的歷史4
1.2.1 第一代(1945~1955):真空管和穿孔卡片4
1.2.2 第二代(1955~1965):晶體管和批處理系統(tǒng)4
1.2.3 第三代(1965~1980):集成電路和多道程序設(shè)計6
1.2.4 第四代(1980年至今):個人計算機8
1.2.5 第五代(1990年至今):移動計算機10
1.3 計算機硬件簡介11
1.3.1 處理器12
1.3.2 存儲器14
1.3.3 磁盤15
1.3.4 I/O設(shè)備16
1.3.5 總線18
1.3.6 啟動計算機19
1.4 操作系統(tǒng)大觀園20
1.4.1 大型機操作系統(tǒng)20
1.4.2 服務(wù)器操作系統(tǒng)20
1.4.3 多處理器操作系統(tǒng)20
1.4.4 個人計算機操作系統(tǒng)20
1.4.5 掌上計算機操作系統(tǒng)21
1.4.6 嵌入式操作系統(tǒng)21
1.4.7 傳感器節(jié)點操作系統(tǒng)21
1.4.8 實時操作系統(tǒng)21
1.4.9 智能卡操作系統(tǒng)21
1.5 操作系統(tǒng)概念22
1.5.1 進程22
1.5.2 地址空間23
1.5.3 文件23
1.5.4 輸入/輸出25
1.5.5 保護25
1.5.6 shell25
1.5.7 個體重復(fù)系統(tǒng)發(fā)育26
1.6 系統(tǒng)調(diào)用28
1.6.1 用于進程管理的系統(tǒng)調(diào)用31
1.6.2 用于文件管理的系統(tǒng)調(diào)用32
1.6.3 用于目錄管理的系統(tǒng)調(diào)用32
1.6.4 各種系統(tǒng)調(diào)用34
1.6.5 Windows Win32 API34
1.7 操作系統(tǒng)結(jié)構(gòu)35
1.7.1 單體系統(tǒng)36
1.7.2 層次式系統(tǒng)36
1.7.3 微內(nèi)核37
1.7.4 客戶端–服務(wù)器模式38
1.7.5 虛擬機39
1.7.6 外核41
1.8 依靠C的世界41
1.8.1 C語言41
1.8.2 頭文件41
1.8.3 大型編程項目43
1.8.4 運行模型43
1.9 有關(guān)操作系統(tǒng)的研究44
1.10 本書其他部分概要45
1.11 公制單位45
1.12 小結(jié)46
習題46
第2章 進程與線程48
2.1 進程48
2.1.1 進程模型48
2.1.2 進程的創(chuàng)建49
2.1.3 進程的終止51
2.1.4 進程的層次結(jié)構(gòu)51
2.1.5 進程的狀態(tài)51
2.1.6 進程的實現(xiàn)53
2.1.7 多道程序設(shè)計模型54
2.2 線程54
2.2.1 線程的使用54
2.2.2 經(jīng)典的線程模型57
2.2.3 POSIX線程60
2.2.4 在用戶空間中實現(xiàn)線程60
2.2.5 在內(nèi)核中實現(xiàn)線程63
2.2.6 混合實現(xiàn)63
2.2.7 調(diào)度程序激活機制64
2.2.8 彈出式線程64
2.2.9 使單線程代碼多線程化65
2.3 進程間通信67
2.3.1 競爭條件67
2.3.2 臨界區(qū)68
2.3.3 忙等待的互斥68
2.3.4 睡眠與喚醒71
2.3.5 信號量73
2.3.6 互斥量74
2.3.7 管程78
2.3.8 消息傳遞81
2.3.9 屏障82
2.3.10 避免鎖:讀–復(fù)制–更新83
2.4 調(diào)度84
2.4.1 調(diào)度簡介84
2.4.2 批處理系統(tǒng)中的調(diào)度88
2.4.3 交互式系統(tǒng)中的調(diào)度89
2.4.4 實時系統(tǒng)中的調(diào)度92
2.4.5 策略和機制93
2.4.6 線程調(diào)度93
2.5 經(jīng)典的IPC問題94
2.5.1 哲學(xué)家就餐問題94
2.5.2 讀者–寫者問題96
2.6 有關(guān)進程與線程的研究97
2.7 小結(jié)97
習題98
第3章 內(nèi)存管理102
3.1 無存儲器抽象102
3.2 一種存儲器抽象:地址空間104
3.2.1 地址空間的概念104
3.2.2 交換技術(shù)106
3.2.3 空閑內(nèi)存管理107
3.3 虛擬內(nèi)存109
3.3.1 分頁110
3.3.2 頁表112
3.3.3 加速分頁過程112
3.3.4 針對大內(nèi)存的頁表114
3.4 頁面置換算法117
3.4.1 最優(yōu)頁面置換算法117
3.4.2 最近未使用頁面置換算法118
3.4.3 先進先出頁面置換算法118
3.4.4 第二次機會頁面置換算法118
3.4.5 時鐘頁面置換算法119
3.4.6 最近最少使用頁面置換算法119
3.4.7 用軟件模擬LRU120
3.4.8 工作集頁面置換算法121
3.4.9 工作集時鐘頁面置換算法123
3.4.10 頁面置換算法小結(jié)124
3.5 分頁系統(tǒng)中的設(shè)計問題124
3.5.1 局部分配策略與全局分配策略124
3.5.2 負載控制126
3.5.3 頁面大小126
3.5.4 分離的指令空間和數(shù)據(jù)空間127
3.5.5 共享頁面128
3.5.6 共享庫128
3.5.7 內(nèi)存映射文件130
3.5.8 清除策略130
3.5.9 虛擬內(nèi)存接口130
3.6 有關(guān)實現(xiàn)的問題131
3.6.1 與分頁有關(guān)的工作131
3.6.2 缺頁中斷處理131
3.6.3 指令備份132
3.6.4 鎖定內(nèi)存中的頁面132
3.6.5 后備存儲133
3.6.6 策略和機制的分離134
3.7 分段134
3.7.1 純分段的實現(xiàn)136
3.7.2 分段和分頁結(jié)合:MULTICS136
3.7.3 分段和分頁結(jié)合:Intel x86138
3.8 有關(guān)內(nèi)存管理的研究141
3.9 小結(jié)141
習題142
第4章 文件系統(tǒng)147
4.1 文件148
4.1.1 文件命名148
4.1.2 文件結(jié)構(gòu)149
4.1.3 文件類型149
4.1.4 文件訪問151
4.1.5 文件屬性151
4.1.6 文件操作152
4.1.7 使用文件系統(tǒng)調(diào)用的一個示例程序152
4.2 目錄154
4.2.1 一級目錄系統(tǒng)154
4.2.2 層次目錄系統(tǒng)154
4.2.3 路徑名154
4.2.4 目錄操作156
4.3 文件系統(tǒng)的實現(xiàn)157
4.3.1 文件系統(tǒng)布局157
4.3.2 文件的實現(xiàn)157
4.3.3 目錄的實現(xiàn)160
4.3.4 共享文件162
4.3.5 日志結(jié)構(gòu)文件系統(tǒng)163
4.3.6 日志文件系統(tǒng)164
4.3.7 虛擬文件系統(tǒng)165
4.4 文件系統(tǒng)管理和優(yōu)化167
4.4.1 磁盤空間管理167
4.4.2 文件系統(tǒng)備份171
4.4.3 文件系統(tǒng)的一致性174