目 錄
Operating System Concepts, Ninth Edition
出版者的話
譯者序
前言
第一部分 概論
第1章導論 2
1.1操作系統(tǒng)的功能 2
1.1.1用戶視角 2
1.1.2系統(tǒng)視角 3
1.1.3操作系統(tǒng)的定義 4
1.2計算機系統(tǒng)的組成 4
1.2.1計算機系統(tǒng)的運行 5
1.2.2存儲結構 6
1.2.3I/O結構 8
1.3計算機系統(tǒng)的體系結構 9
1.3.1單處理器系統(tǒng) 9
1.3.2多處理器系統(tǒng) 10
1.3.3集群系統(tǒng) 12
1.4操作系統(tǒng)的結構 13
1.5操作系統(tǒng)的執(zhí)行 14
1.5.1雙重模式與多重模式的執(zhí)行 15
1.5.2定時器 16
1.6進程管理 17
1.7內存管理 18
1.8存儲管理 18
1.8.1文件系統(tǒng)管理 18
1.8.2大容量存儲器管理 19
1.8.3高速緩存 19
1.8.4I/O系統(tǒng) 21
1.9保護與安全 21
1.10內核數(shù)據(jù)結構 22
1.10.1列表、堆棧及隊列 22
1.10.2樹 23
1.10.3哈希函數(shù)與哈希表 23
1.10.4位圖 24
1.11計算環(huán)境 24
1.11.1傳統(tǒng)計算 24
1.11.2移動計算 25
1.11.3分布計算 26
1.11.4客戶機-服務器計算 26
1.11.5對等計算 27
1.11.6虛擬化 28
1.11.7云計算 29
1.11.8實時嵌入式系統(tǒng) 30
1.12開源操作系統(tǒng) 31
1.12.1歷史 31
1.12.2Linux 31
1.12.3BSD UNIX 32
1.12.4Solaris 32
1.12.5用作學習的開源操作系統(tǒng) 33
1.13小結 33
習題 35
推薦讀物 36
參考文獻 36
第2章操作系統(tǒng)結構 38
2.1操作系統(tǒng)的服務 38
2.2用戶與操作系統(tǒng)的界面 40
2.2.1命令解釋程序 40
2.2.2圖形用戶界面 41
2.2.3界面的選擇 42
2.3系統(tǒng)調用 43
2.4系統(tǒng)調用的類型 46
2.4.1進程控制 46
2.4.2文件管理 49
2.4.3設備管理 50
2.4.4信息維護 50
2.4.5通信 50
2.4.6保護 51
2.5系統(tǒng)程序 51
2.6操作系統(tǒng)的設計與實現(xiàn) 52
2.6.1設計目標 52
2.6.2機制與策略 53
2.6.3實現(xiàn) 53
2.7操作系統(tǒng)的結構 54
2.7.1簡單結構 54
2.7.2分層方法 55
2.7.3微內核 56
2.7.4模塊 57
2.7.5混合系統(tǒng) 58
2.8操作系統(tǒng)的調試 60
2.8.1故障分析 60
2.8.2性能優(yōu)化 60
2.8.3DTrace 61
2.9操作系統(tǒng)的生成 63
2.10系統(tǒng)引導 64
2.11小結 64
習題 65
編程題 66
編程項目 66
推薦讀物 69
參考文獻 69
第二部分 進程管理
第3章 進程 72
3.1進程概念 72
3.1.1進程 72
3.1.2進程狀態(tài) 73
3.1.3進程控制塊 73
3.1.4線程 74
3.2進程調度 75
3.2.1調度隊列 75
3.2.2調度程序 77
3.2.3上下文切換 78
3.3進程運行 79
3.3.1進程創(chuàng)建 79
3.3.2進程終止 82
3.4進程間通信 83
3.4.1共享內存系統(tǒng) 85
3.4.2消息傳遞系統(tǒng) 86
3.5IPC系統(tǒng)例子 89
3.5.1例子:POSIX共享內存 89
3.5.2例子:Mach 91
3.5.3例子:Windows 92
3.6客戶機/服務器通信 93
3.6.1套接字 93
3.6.2遠程過程調用 96
3.6.3管道 98
3.7小結 102
習題 103
編程題 105
編程項目 107
推薦讀物 110
參考文獻 110
第4章 多線程編程 112
4.1概述 112
4.1.1動機 112
4.1.2優(yōu)點 113
4.2多核編程 114
4.2.1編程挑戰(zhàn) 115
4.2.2并行類型 115
4.3多線程模型 116
4.3.1多對一模型 116
4.3.2一對一模型 116
4.3.3多對多模型 116
4.4線程庫 117
4.4.1Pthreads 118
4.4.2Windows線程 119
4.4.3Java線程 121
4.5隱式多線程 122
4.5.1線程池 123
4.5.2OpenMP 124
4.5.3大中央調度 125
4.5.4其他方法 125
4.6多線程問題 125
4.6.1系統(tǒng)調用fork()和exec() 125
4.6.2信號處理 126
4.6.3線程撤銷 127
4.6.4線程本地存儲 128
4.6.5調度程序激活 128
4.7操作系統(tǒng)例子 129
4.7.1Windows線程 129
4.7.2Linux線程 130
4.8小結 131
習題 131
編程題 133
編程項目 134
推薦讀物 136
參考文獻 136
第5章 進程調度 138
5.1基本概念 138
5.1.1CPU-I/O執(zhí)行周期 138
5.1.2CPU調度程序 139
5.1.3搶占調度 139
5.1.4調度程序 140
5.2調度準則 140
5.3調度算法 141
5.3.1先到先服務調度 141
5.3.2最短作業(yè)優(yōu)先調度 142
5.3.3優(yōu)先級調度 144
5.3.4輪轉調度 145
5.3.5多級隊列調度 147
5.3.6多級反饋隊列調度 148
5.4線程調度 149
5.4.1競爭范圍 149
5.4.2Pthreads調度 149
5.5多處理器調度 151
5.5.1多處理器調度的方法 151
5.5.2處理器親和性 151
5.5.3負載平衡 152
5.5.4多核處理器 152
5.6實時CPU調度 154
5.6.1最小化延遲 154
5.6.2優(yōu)先權調度 155
5.6.3單調速率調度 156
5.6.4最早截止期限優(yōu)先調度 157
5.6.5比例分享調度 158
5.6.6POSIX實時調度 158
5.7操作系統(tǒng)例子 160
5.7.1例子:Linux調度 160
5.7.2例子:Windows調度 162
5.7.3例子:Solaris調度 164
5.8算法評估 165
5.8.1確定性模型 166
5.8.2排隊模型 167
5.8.3仿真 167
5.8.4實現(xiàn) 168
5.9小結 169
習題 170
推薦讀物 172
參考文獻 173
第6章 同步 175
6.1背景 175
6.2臨界區(qū)問題 177
6.3Peterson解決方案 178
6.4硬件同步 179
6.5互斥鎖 181
6.6信號量
......