本書是普通高等教育"十一五”國(guó)家級(jí)規(guī)劃教材、北京高等教育精品教材,全面系統(tǒng)地介紹現(xiàn)代操作系統(tǒng)的基本理論和最新技術(shù)。全書共12章:第1章概述操作系統(tǒng)的定義、功能、特征、發(fā)展歷程和結(jié)構(gòu);第2章至第8章分別講述進(jìn)程和線程管理、調(diào)度、存儲(chǔ)管理、文件系統(tǒng)、輸入/輸出管理、用戶接口服務(wù)和死鎖;第9章介紹嵌入式系統(tǒng);第10章講述分布式系統(tǒng)和云計(jì)算;第11章講述安全和保護(hù)機(jī)制;第12章為實(shí)驗(yàn)操作。附錄分別給出了Linux常用系統(tǒng)調(diào)用和庫(kù)函數(shù),以及各章習(xí)題的解答視頻。本書為任課教師提供電子教案。 本書可作為大學(xué)本科及?朴(jì)算機(jī)專業(yè)教材或考研參考書,也可作為計(jì)算機(jī)工作者的自學(xué)用書。
孟慶昌,男,北京信息科技大學(xué)教授,長(zhǎng)期從事UNIX系統(tǒng)和C語(yǔ)言等方面的研究、教學(xué)和編著工作,是國(guó)內(nèi)最早從事該領(lǐng)域研究和普及的專家之一。先后主持或參加了多項(xiàng)科研任務(wù),其中包括電科院項(xiàng)目《UNIX系統(tǒng)分析與改造》,機(jī)電部項(xiàng)目《計(jì)算機(jī)環(huán)境的可移植操作系統(tǒng)界面(POSIX.1)》(被批準(zhǔn)為國(guó)家標(biāo)準(zhǔn)GB/T14246),八五國(guó)防科技預(yù)研項(xiàng)目《軍用軟件認(rèn)證和測(cè)試技術(shù)》,八六三項(xiàng)目《對(duì)象管理原型系統(tǒng)》,國(guó)家八五重點(diǎn)攻關(guān)項(xiàng)目《面向?qū)ο筌浖こ涕_發(fā)規(guī)范的研究與制訂》等。
目 錄
第1章 操作系統(tǒng)引論 1
1.1 計(jì)算機(jī)硬件結(jié)構(gòu) 2
1.1.1 處理器 2
1.1.2 存儲(chǔ)器 3
1.1.3 I/O設(shè)備 4
1.1.4 總線 4
1.2 什么是操作系統(tǒng) 5
1.2.1 操作系統(tǒng)的概念 5
1.2.2 操作系統(tǒng)主要功能 7
1.2.3 操作系統(tǒng)的地位 10
1.3 操作系統(tǒng)的發(fā)展歷程 11
1.3.1 操作系統(tǒng)的形成 11
1.3.2 操作系統(tǒng)的發(fā)展 14
1.3.3 推動(dòng)操作系統(tǒng)發(fā)展的動(dòng)力 14
1.4 操作系統(tǒng)類型 15
1.4.1 批處理系統(tǒng) 15
1.4.2 分時(shí)系統(tǒng) 17
1.4.3 實(shí)時(shí)系統(tǒng) 18
1.4.4 網(wǎng)絡(luò)操作系統(tǒng) 20
1.4.5 分布式操作系統(tǒng) 21
1.4.6 其他操作系統(tǒng) 22
1.5 操作系統(tǒng)的特征 24
1.6 操作系統(tǒng)結(jié)構(gòu) 24
1.6.1 單體系統(tǒng) 25
1.6.2 層次式系統(tǒng) 26
1.6.3 虛擬機(jī) 26
1.6.4 微內(nèi)核 28
1.6.5 客戶—服務(wù)器系統(tǒng) 29
1.7 系統(tǒng)初啟過(guò)程 29
1.8 國(guó)產(chǎn)操作系統(tǒng)的發(fā)展?fàn)顩r和趨勢(shì) 30
本章小結(jié) 31
習(xí)題1 32
第2章 進(jìn)程和線程 34
2.1 進(jìn)程 35
2.1.1 多道程序設(shè)計(jì) 35
2.1.2 進(jìn)程的概念 37
2.2 進(jìn)程的狀態(tài)和組成 39
2.2.1 進(jìn)程的狀態(tài)及其轉(zhuǎn)換 39
2.2.2 進(jìn)程描述 42
2.2.3 進(jìn)程隊(duì)列 44
2.3 進(jìn)程管理 46
2.3.1 進(jìn)程圖 46
2.3.2 進(jìn)程創(chuàng)建 47
2.3.3 進(jìn)程終止 49
2.3.4 進(jìn)程阻塞 50
2.3.5 進(jìn)程喚醒 50
2.4 線程 51
2.4.1 線程概念 51
2.4.2 線程的實(shí)現(xiàn) 54
2.5 進(jìn)程的同步和互斥 55
2.5.1 競(jìng)爭(zhēng)條件 56
2.5.2 臨界資源和臨界區(qū) 57
2.5.3 進(jìn)程互斥和進(jìn)程同步 58
2.5.4 互斥方式 59
2.5.5 信號(hào)量 61
2.5.6 信號(hào)量的一般應(yīng)用 64
2.6 經(jīng)典進(jìn)程同步問(wèn)題 65
2.7 管程 71
2.8 進(jìn)程通信 72
2.8.1 共享內(nèi)存 72
2.8.2 消息傳遞 72
2.8.3 管道文件 75
2.9 信號(hào)機(jī)制 76
2.9.1 信號(hào)機(jī)制概念 76
2.9.2 信號(hào)的分類、產(chǎn)生和傳送 77
2.9.3 信號(hào)的處理方式 78
2.9.4 信號(hào)的檢測(cè)和處理 79
2.10 客戶—服務(wù)器系統(tǒng)中的通信 79
本章小結(jié) 81
習(xí)題2 82
第3章 調(diào)度 85
3.1 調(diào)度類型 86
3.2 作業(yè)調(diào)度 87
3.2.1 作業(yè)狀態(tài) 87
3.2.2 作業(yè)控制塊和作業(yè)調(diào)度的功能 88
3.3 進(jìn)程調(diào)度 89
3.4 調(diào)度準(zhǔn)則 91
3.4.1 影響調(diào)度算法選擇的主要因素 91
3.4.2 調(diào)度性能評(píng)價(jià)準(zhǔn)則 92
3.5 調(diào)度算法 93
3.5.1 先來(lái)先服務(wù)法 93
3.5.2 短作業(yè)優(yōu)先法 94
3.5.3 最短剩余時(shí)間優(yōu)先法 95
3.5.4 優(yōu)先級(jí)法 96
3.5.5 輪轉(zhuǎn)法 97
3.5.6 多級(jí)隊(duì)列法 98
3.5.7 多級(jí)反饋隊(duì)列法 99
3.5.8 高響應(yīng)比優(yōu)先法 100
3.5.9 公平共享法 101
3.5.10 常用調(diào)度算法的比較 101
3.6 實(shí)時(shí)調(diào)度 102
3.6.1 實(shí)時(shí)任務(wù)類型 102
3.6.2 實(shí)時(shí)調(diào)度算法 102
3.7 線程調(diào)度 103
3.8 多處理器調(diào)度 104
3.8.1 多處理器系統(tǒng)的類型 104
3.8.2 多處理器調(diào)度方法 105
3.9 UNIX/Linux進(jìn)程調(diào)度 106
3.9.1 UNIX進(jìn)程調(diào)度 106
3.9.2 Linux進(jìn)程調(diào)度 107
本章小結(jié) 108
習(xí)題3 109
第4章 存儲(chǔ)管理 111
4.1 引言 112
4.1.1 用戶程序的地址空間 112
4.1.2 重定位 114
4.1.3 覆蓋技術(shù) 116
4.1.4 對(duì)換技術(shù) 117
4.2 分區(qū)法 118
4.2.1 固定分區(qū)法 118
4.2.2 動(dòng)態(tài)分區(qū)法 119
4.2.3 可重定位分區(qū)分配 122
4.3 分頁(yè)技術(shù) 124
4.3.1 分頁(yè)存儲(chǔ)管理的基本概念 124
4.3.2 分頁(yè)系統(tǒng)中的地址映射 125
4.3.3 頁(yè)尺寸 126
4.3.4 硬件支持 127
4.3.5 保護(hù)方式 128
4.3.6 頁(yè)表的構(gòu)造 129
4.3.7 頁(yè)共享 132
4.4 分段技術(shù) 133
4.4.1 分段存儲(chǔ)管理的基本概念 134
4.4.2 段地址轉(zhuǎn)換 135
4.4.3 段的共享和保護(hù) 136
4.5 段頁(yè)式技術(shù) 137
4.5.1 段頁(yè)式存儲(chǔ)管理的基本原理 137
4.5.2 地址轉(zhuǎn)換過(guò)程 138
4.6 虛擬存儲(chǔ)器 139
4.6.1 虛擬存儲(chǔ)器的概念 139
4.6.2 虛擬存儲(chǔ)器的特征 140
4.7 請(qǐng)求分頁(yè)技術(shù) 140
4.7.1 請(qǐng)求分頁(yè)存儲(chǔ)管理的基本思想 140
4.7.2 硬件支持及缺頁(yè)處理 141
4.8 頁(yè)置換算法 144
4.8.1 頁(yè)置換 144
4.8.2 先進(jìn)先出法 145
4.8.3 最佳置換法 146
4.8.4 最近最久未使用置換法 147
4.8.5 第二次機(jī)會(huì)置換法 148
4.8.6 時(shí)鐘置換法 148
4.8.7 最近未使用法 149
4.8.8 最不經(jīng)常使用法 149
4.8.9 頁(yè)緩沖法 150
4.9 內(nèi)存塊的分配和抖動(dòng)問(wèn)題 150
4.9.1 內(nèi)存塊的分配 151
4.9.2 抖動(dòng)問(wèn)題 153
4.10 請(qǐng)求分段技術(shù) 155
4.11 Linux系統(tǒng)的存儲(chǔ)管理 156
4.11.1 Linux的多級(jí)頁(yè)表結(jié)構(gòu) 156
4.11.2 內(nèi)存頁(yè)的分配與釋放 157
4.11.3 內(nèi)存交換 159
本章小結(jié) 159
習(xí)題4 161
第5章 文件系統(tǒng) 164
5.1 文件概述 165
5.1.1 文件及其分類 165
5.1.2 文件命名 166
5.1.3 文件屬性 168
5.1.4 文件存取方法 168
5.1.5 文件結(jié)構(gòu) 170
5.2 文件系統(tǒng)的功能和結(jié)構(gòu) 172
5.2.1 文件系統(tǒng)的功能 172
5.2.2 文件系統(tǒng)的結(jié)構(gòu) 172
5.3 目錄結(jié)構(gòu)和目錄查詢 173
5.3.1 文件控制塊和目錄 173
5.3.2 單級(jí)目錄結(jié)構(gòu) 175
5.3.3 二級(jí)目錄結(jié)構(gòu) 176
5.3.4 樹形目錄結(jié)構(gòu) 177
5.3.5 非循環(huán)圖目錄結(jié)構(gòu) 179
5.3.6 目錄查詢方法 179
5.4 文件操作和目錄操作 180
5.4.1 文件操作 180
5.4.2 目錄操作 183
5.4.3 UNIX系統(tǒng)的文件操作示例 184
5.5 文件系統(tǒng)的實(shí)現(xiàn) 186
5.5.1 文件系統(tǒng)的格式 186
5.5.2 文件存儲(chǔ)分配 188
5.5.3 空閑存儲(chǔ)空間的管理 193
5.6 文件系統(tǒng)的可靠性 196
5.6.1 磁盤壞塊管理 197
5.6.2 備份 197
5.6.3 文件系統(tǒng)和一致性 198
本章小結(jié) 200
習(xí)題5 201
第6章 輸入和輸出 203
6.1 I/O管理概述 204
6.1.1 外部設(shè)備分類和標(biāo)識(shí) 204
6.1.2 I/O結(jié)構(gòu) 206
6.1.3 設(shè)備控制器 206
6.1.4 I/O系統(tǒng)的控制方式 208
6.1.5 I/O管理的功能 212
6.2 中斷處理 214
6.2.1 中斷概述 214
6.2.2 中斷的處理過(guò)程 215
6.2.3 中斷優(yōu)先級(jí)和多重中斷 219
6.3 設(shè)備分配 221
6.3.1 與設(shè)備分配相關(guān)的因素 221
6.3.2 設(shè)備分配技術(shù) 222
6.3.3 設(shè)備分配算法 223
6.3.4 SPOOLing技術(shù) 223
6.4 I/O軟件的層次 224
6.4.1 中斷處理程序 225
6.4.2 設(shè)備驅(qū)動(dòng)程序 225
6.4.3 與設(shè)備無(wú)關(guān)的操作系統(tǒng)I/O軟件 229
6.4.4 用戶級(jí)I/O軟件 232
6.5 磁盤調(diào)度和管理 232
6.5.1 磁盤調(diào)度 232
6.5.2 磁盤管理 236
本章小結(jié) 239
習(xí)題6 240
第7章 用戶接口 241
7.1 用戶接口的發(fā)展 242
7.2 系統(tǒng)調(diào)用 242
7.2.1 系統(tǒng)調(diào)用和庫(kù)函數(shù) 243
7.2.2 系統(tǒng)調(diào)用使用方式 244
7.2.3 系統(tǒng)調(diào)用的處理方式 247
7.3 命令行接口 249
7.3.1 命令的一般使用方式 250
7.3.2 命令解釋程序 251
7.3.3 shell程序設(shè)計(jì) 252
7.4 圖形用戶界面 254
本章小結(jié) 258
習(xí)題7 258
第8章 死鎖 260
8.1 資源 261
8.1.1 資源使用模式 261
8.1.2 可搶占資源與不可搶占資源 261
8.2 死鎖概念 262
8.2.1 什么是死鎖 262
8.2.2 死鎖的必要條件 264
8.2.3 資源分配圖 265
8.2.4 處理死鎖的方法 266
8.3 死鎖的預(yù)防 267
8.3.1 破壞互斥條件 267
8.3.2 破壞占有且等待條件 267
8.3.3 破壞非搶占條件 268
8.3.4 破壞循環(huán)等待條件 268
8.4 死鎖的避免 269
8.4.1 安全狀態(tài) 269
8.4.2 資源分配圖算法 271
8.4.3 銀行家算法 271
8.5 死鎖的檢測(cè)和恢復(fù) 274
8.5.1 對(duì)單體資源類的死鎖檢測(cè) 274
8.5.2 對(duì)多體資源類的死鎖檢測(cè) 274
8.5.3 從死鎖中恢復(fù) 276
8.6 處理死鎖的綜合方式 277
8.7 饑餓和活鎖 279
本章小結(jié) 280
習(xí)題8 281
第9章 嵌入式操作系統(tǒng) 283
9.1 嵌入式系統(tǒng)概述 284
9.1.1 嵌入式系統(tǒng)的組成 284
9.1.2 嵌入式系統(tǒng)的特點(diǎn) 285
9.2 實(shí)時(shí)內(nèi)核及其實(shí)現(xiàn) 288
9.2.1 任務(wù)管理與調(diào)度 288
9.2.2 中斷和時(shí)間管理 289
9.2.3 任務(wù)的同步和通信 290
9.2.4 內(nèi)存管理 293
9.2.5 I/O管理 295
9.3 鴻蒙操作系統(tǒng) 295
9.3.1 鴻蒙操作系統(tǒng)的類別 296
9.3.2 鴻蒙不是安卓的仿制品 296
9.3.3 鴻蒙2.0架構(gòu) 297
9.3.4 鴻蒙操作系統(tǒng)的影響 298
本章小結(jié) 299
習(xí)題9 299
第10章 分布式系統(tǒng)和云計(jì)算系統(tǒng) 300
10.1 分布式系統(tǒng)概述 301
10.1.1 分布式系統(tǒng)的特性 301
10.1.2 分布式系統(tǒng)的優(yōu)點(diǎn)和不足 301
10.1.3 分布式系統(tǒng)的設(shè)計(jì)目標(biāo) 302
10.2 分布式系統(tǒng)的實(shí)現(xiàn)模型 304
10.2.1 進(jìn)程管理 305
10.2.2 通信問(wèn)題 307
10.2.3 死鎖問(wèn)題 308
10.2.4 文件系統(tǒng) 309
10.3 中間件模型 310
10.3.1 中間件的概念 311
10.3.2 中間件的結(jié)構(gòu) 311
10.4 各多機(jī)系統(tǒng)的比較 312
10.5 云計(jì)算系統(tǒng) 314
10.5.1 云計(jì)算概述 314
10.5.2 云操作系統(tǒng)簡(jiǎn)述 316
本章小結(jié) 317
習(xí)題10 318
第11章 系統(tǒng)安全和保護(hù)機(jī)制 319
11.1 安全問(wèn)題 320
11.1.1 信息安全概述 320
11.1.2 環(huán)境安全 320
11.2 攻擊點(diǎn)、網(wǎng)絡(luò)威脅和病毒 322
11.2.1 常見的攻擊點(diǎn) 322
11.2.2 網(wǎng)絡(luò)威脅 322
11.2.3 計(jì)算機(jī)病毒 323
11.3 安全防護(hù) 326
11.3.1 安全措施 326
11.3.2 安全體系參考模型 326
11.4 保護(hù)機(jī)制 328
11.4.1 保護(hù)域 328
11.4.2 存取控制表 330
11.4.3 權(quán)能表 331
11.4.4 可信系統(tǒng) 332
11.4.5 安全性能評(píng)測(cè)標(biāo)準(zhǔn) 335
本章小結(jié) 335
習(xí)題11 336
第12章 實(shí)驗(yàn)操作 337
12.1 實(shí)驗(yàn)一:進(jìn)程同步和互斥 338
12.2 實(shí)驗(yàn)二:進(jìn)程及其資源管理 340
12.3 實(shí)驗(yàn)三:存儲(chǔ)管理 344
12.4 實(shí)驗(yàn)四:頁(yè)面置換算法 346
12.5 實(shí)驗(yàn)五:進(jìn)程調(diào)度 347
12.6 實(shí)驗(yàn)六:銀行家算法 347
12.7 實(shí)驗(yàn)七:磁盤調(diào)度算法 349
12.8 實(shí)驗(yàn)八:設(shè)備處理程序設(shè)計(jì) 349
12.9 實(shí)驗(yàn)九:文件系統(tǒng) 350
附錄A Linux常用系統(tǒng)調(diào)用和庫(kù)函數(shù) 353
A.1 有關(guān)文件操作的系統(tǒng)調(diào)用 354
A.2 有關(guān)進(jìn)程控制的系統(tǒng)調(diào)用 355
A.3 有關(guān)進(jìn)程通信的函數(shù) 356
A.4 有關(guān)內(nèi)存管理的函數(shù) 357
附錄B 習(xí)題答疑 358
參考文獻(xiàn) 359