為了滿足當(dāng)下高等學(xué)校操作系統(tǒng)課程的教學(xué)需求,本書在《計算機操作系統(tǒng)(慕課版)》的基礎(chǔ)上進行了全方位的內(nèi)容修訂與資源完善,現(xiàn)已全面覆蓋全國碩士研究生招生考試操作系統(tǒng)考試大綱。全書共12章,在引論之后詳細介紹了進程的描述與控制、處理機調(diào)度、進程同步與死鎖、存儲器管理、虛擬存儲器、輸入/輸出系統(tǒng)、文件管理、磁盤存儲器管理、多處理機操作系統(tǒng)、保護和安全等操作系統(tǒng)的核心理論內(nèi)容,同時介紹了虛擬化和云計算等前沿技術(shù)內(nèi)容;此外,編排了足量案例與習(xí)題(含考研真題)。
本書可作為高等學(xué)校計算機類、電子信息類等相關(guān)專業(yè)的本科生教材,也可供從事計算機相關(guān)工作的技術(shù)人員和對操作系統(tǒng)感興趣的其他讀者參考使用,還可作為考研學(xué)子的復(fù)習(xí)與輔導(dǎo)用書。
1. 全面覆蓋考研大綱
全面覆蓋全國碩士研究生招生考試操作系統(tǒng)考試大綱,助力讀者掌握核心原理,建立系統(tǒng)化的知識體系。
2. 緊跟最新技術(shù)發(fā)展
緊密跟蹤“虛擬化與云計算”等技術(shù)內(nèi)容,反映領(lǐng)域科技前沿,幫助讀者拓展科技認(rèn)知邊界。
3. 配套立體化教學(xué)資源
突出實戰(zhàn)技能,融合實踐型案例和多類型習(xí)題(含考研真題),做到理論聯(lián)系實踐;配套習(xí)題解析教材與實驗指導(dǎo)教材,以及PPT、教案、教學(xué)大綱等優(yōu)質(zhì)教學(xué)資源,全方位服務(wù)教師教學(xué)。
4. 支持混合式教學(xué)模式
編者針對全書內(nèi)容錄制了完整慕課,以供讀者自主學(xué)習(xí);同時針對重難知識點錄制了微課視頻,幫助讀者透徹理解核心原理。配合立體化教學(xué)資源,支持高校教師開展線上線下混合式教學(xué)。
湯子瀛:
江蘇省靖江市人,杭州電子科技大學(xué)教授,操作系統(tǒng)領(lǐng)域?qū)<;參與了我國第一代大型電子管計算機和第二代晶體管計算機的研制工作;主編經(jīng)典教材《計算機操作系統(tǒng)》。
湯小丹:
江蘇省靖江市人,杭州師范大學(xué)教授;從教數(shù)十年,主講“操作系統(tǒng)”“操作系統(tǒng)實踐”等課程,編寫了《現(xiàn)代操作系統(tǒng)》《操作系統(tǒng)教程》等多部優(yōu)秀教材;經(jīng)典教材《計算機操作系統(tǒng)》新版主編。
【章名目錄】
第 1章 操作系統(tǒng)引論 1
第 2章 進程的描述與控制 42
第3章 處理機調(diào)度 77
第4章 進程同步與死鎖 105
第5章 存儲器管理 148
第6章 虛擬存儲器 183
第7章 輸入/輸出系統(tǒng) 209
第8章 文件管理 257
第9章 磁盤存儲器管理 291
第 10章 多處理機操作系統(tǒng) 323
第 11章 虛擬化和云計算 351
第 12章 保護和安全 372
【詳細目錄】
第 1章 操作系統(tǒng)引論 1
1.1 操作系統(tǒng)的目標(biāo)和作用 2
1.1.1 操作系統(tǒng)的目標(biāo) 2
1.1.2 操作系統(tǒng)的作用 3
1.1.3 推動操作系統(tǒng)發(fā)展的主要動力 4
1.2 操作系統(tǒng)的發(fā)展過程 5
1.2.1 未配置操作系統(tǒng)的計算機系統(tǒng) 6
1.2.2 單道批處理系統(tǒng) 7
1.2.3 多道批處理系統(tǒng) 8
1.2.4 分時系統(tǒng) 9
1.2.5 實時系統(tǒng) 10
1.2.6 微機操作系統(tǒng) 12
1.2.7 嵌入式操作系統(tǒng) 12
1.2.8 網(wǎng)絡(luò)操作系統(tǒng) 13
1.2.9 分布式操作系統(tǒng) 14
1.3 操作系統(tǒng)的基本特性 15
1.3.1 并發(fā) 15
1.3.2 共享 16
1.3.3 虛擬 17
1.3.4 異步 18
1.4 操作系統(tǒng)的運行環(huán)境 18
1.4.1 硬件支持 18
1.4.2 操作系統(tǒng)內(nèi)核 19
1.4.3 處理機的雙重工作模式 20
1.4.4 中斷與異!21
1.4.5 生成與引導(dǎo) 21
1.5 操作系統(tǒng)的主要功能 22
1.5.1 處理機管理功能 23
1.5.2 存儲器管理功能 23
1.5.3 設(shè)備管理功能 25
1.5.4 文件管理功能 25
1.5.5 接口管理功能 26
1.5.6 現(xiàn)代操作系統(tǒng)的新功能 27
1.6 操作系統(tǒng)的結(jié)構(gòu) 28
1.6.1 簡單結(jié)構(gòu) 29
1.6.2 模塊化結(jié)構(gòu) 29
1.6.3 分層式結(jié)構(gòu) 30
1.6.4 微內(nèi)核結(jié)構(gòu) 31
1.6.5 外核結(jié)構(gòu) 34
1.6.6 混合結(jié)構(gòu) 35
1.7 系統(tǒng)調(diào)用 36
1.7.1 系統(tǒng)調(diào)用的基本概念 36
1.7.2 系統(tǒng)調(diào)用的類型 38
1.8 本章小結(jié) 38
習(xí)題1(含考研真題)39
第 2章 進程的描述與控制 42
2.1 前趨圖和程序執(zhí)行 43
2.1.1 前趨圖 43
2.1.2 程序順序執(zhí)行 44
2.1.3 程序并發(fā)執(zhí)行 44
2.2 進程的描述 46
2.2.1 進程的定義與特征 46
2.2.2 進程的基本狀態(tài)與轉(zhuǎn)換 47
2.2.3 掛起操作和進程狀態(tài)的轉(zhuǎn)換 49
2.2.4 進程管理中的數(shù)據(jù)結(jié)構(gòu) 50
2.3 進程控制 53
2.3.1 進程的創(chuàng)建 53
2.3.2 進程的終止 55
2.3.3 進程的阻塞與喚醒 56
2.3.4 進程的掛起與激活 57
2.4 進程通信 57
2.4.1 進程通信的類型 58
2.4.2 消息傳遞通信的實現(xiàn)方式 61
2.4.3 進程通信實例 63
2.5 線程的概念 67
2.5.1 線程的引入 67
2.5.2 線程與進程的比較 68
2.5.3 線程狀態(tài)和線程控制塊 69
2.6 線程的實現(xiàn) 70
2.6.1 線程的實現(xiàn)方式 70
2.6.2 線程的具體實現(xiàn) 72
2.6.3 線程的創(chuàng)建與終止 74
2.7 本章小結(jié) 75
習(xí)題2(含考研真題) 75
第3章 處理機調(diào)度 77
3.1 處理機調(diào)度概述 77
3.1.1 處理機調(diào)度的層次 78
3.1.2 作業(yè)和作業(yè)調(diào)度 78
3.1.3 進程調(diào)度 79
3.1.4 處理機調(diào)度算法的目標(biāo) 81
3.2 調(diào)度算法 82
3.2.1 先來先服務(wù)調(diào)度算法 82
3.2.2 短作業(yè)優(yōu)先調(diào)度算法 83
3.2.3 優(yōu)先級調(diào)度算法 83
3.2.4 輪轉(zhuǎn)調(diào)度算法 85
3.2.5 多級隊列調(diào)度算法 86
3.2.6 多級反饋隊列調(diào)度算法 87
3.2.7 基于公平原則的調(diào)度算法 88
3.3 多處理機調(diào)度 88
3.3.1 常用多處理機調(diào)度算法 89
3.3.2 負(fù)載均衡 90
3.3.3 處理機親和性 91
3.4 實時調(diào)度 91
3.4.1 實現(xiàn)實時調(diào)度的基本條件 91
3.4.2 實時調(diào)度算法分類 92
3.4.3 最早截止時間優(yōu)先算法 93
3.4.4 最低松弛度優(yōu)先算法 95
3.4.5 優(yōu)先級倒置 96
3.5 進程調(diào)度實例 97
3.5.1 實例1:Linux進程調(diào)度 97
3.5.2 實例2:Windows進程調(diào)度 99
3.5.3 實例3:HarmonyOS進程調(diào)度 100
3.6 本章小結(jié) 102
習(xí)題3(含考研真題) 102
第4章 進程同步與死鎖 105
4.1 進程同步的基本概念 106
4.1.1 進程同步概念的引入 106
4.1.2 臨界區(qū)問題 108
4.2 進程同步機制 109
4.2.1 軟件同步機制 109
4.2.2 硬件同步機制 110
4.2.3 鎖機制 112
4.2.4 信號量機制 113
4.2.5 管程機制 117
4.3 經(jīng)典的進程同步問題 120
4.3.1 生產(chǎn)者-消費者問題 120
4.3.2 哲學(xué)家進餐問題 123
4.3.3 讀者-寫者問題 126
4.4 進程同步實例 128
4.4.1 實例1:Linux進程同步 128
4.4.2 實例2:Windows進程同步 130
4.5 死鎖 131
4.5.1 死鎖概述 131
4.5.2 死鎖預(yù)防 136
4.5.3 死鎖避免 137
4.5.4 死鎖的檢測與解除 141
4.6 本章小結(jié) 144
習(xí)題4(含考研真題) 145
第5章 存儲器管理 148
5.1 存儲器的層次結(jié)構(gòu) 149
5.1.1 多層結(jié)構(gòu)的存儲器 149
5.1.2 主存儲器和寄存器 150
5.1.3 高速緩存和磁盤緩存 150
5.2 程序的裝入與鏈接 151
5.2.1 地址綁定和內(nèi)存保護 151
5.2.2 程序的裝入 152
5.2.3 程序的鏈接 153
5.3 交換 155
5.3.1 多道程序環(huán)境下的交換技術(shù) 155
5.3.2 交換區(qū)的管理 156
5.3.3 進程的換出與換入 157
5.4 連續(xù)分配存儲管理方式 158
5.4.1 單一連續(xù)分配 158
5.4.2 固定分區(qū)分配 158
5.4.3 動態(tài)分區(qū)分配 159
5.4.4 動態(tài)重定位分區(qū)分配 163
5.5 分頁存儲管理方式 165
5.5.1 分頁存儲管理的基本方法 166
5.5.2 地址變換機構(gòu) 167
5.5.3 引入快表后的內(nèi)存有效訪問時間169
5.5.4 兩級頁表和多級頁表 169
5.5.5 反置頁表 171
5.6 分段存儲管理方式 172
5.6.1 分段存儲管理方式的引入 172
5.6.2 分段系統(tǒng)的基本原理 174
5.6.3 信息共享 176
5.7 段頁式存儲管理方式 177
5.8 實例:基于IA-32/x86-64架構(gòu)的內(nèi)存管理策略 179
5.9 本章小結(jié) 180
習(xí)題5(含考研真題) 181
第6章 虛擬存儲器 183
6.1 虛擬存儲器概述 184
6.1.1 常規(guī)存儲器管理方式的特征和局部性原理 184
6.1.2 虛擬存儲器的定義與特征 185
6.1.3 虛擬存儲器的實現(xiàn)方法 186
6.2 請求分頁存儲管理方式 187
6.2.1 請求分頁中的硬件支持 187
6.2.2 請求分頁中的內(nèi)存分配與回收 189
6.2.3 頁面調(diào)入策略 191
6.3 頁面置換算法 192
6.3.1 最佳頁面置換算法和先進先出頁面置換算法 193
6.3.2 最近最久未使用頁面置換算法和最少使用頁面置換算法 194
6.3.3 Clock頁面置換算法 196
6.3.4 頁面緩沖算法 197
6.3.5 請求分頁系統(tǒng)的內(nèi)存有效訪問時間 198
6.4 “抖動”與工作集 199
6.4.1 多道程序度與“抖動” 199
6.4.2 工作集 200
6.4.3 “抖動”的預(yù)防方法 201
6.5 內(nèi)存映射文件 202
6.6 虛擬存儲器實現(xiàn)實例 203
6.6.1 實例1:在Windows XP系統(tǒng)中實現(xiàn)虛擬存儲器203
6.6.2 實例2:在Linux系統(tǒng)中實現(xiàn)虛擬存儲器203
6.6.3 實例3:在HarmonyOS中實現(xiàn)虛擬存儲器205
6.7 本章小結(jié) 206
習(xí)題6(含考研真題) 206
第7章 輸入/輸出系統(tǒng) 209
7.1 I/O系統(tǒng)的功能、模型與接口 210
7.1.1 I/O系統(tǒng)的基本功能 210
7.1.2 I/O系統(tǒng)的層次結(jié)構(gòu)與模型 211
7.1.3 I/O系統(tǒng)的接口 213
7.2 I/O設(shè)備和設(shè)備控制器 214
7.2.1 I/O設(shè)備 214
7.2.2 設(shè)備控制器 215
7.2.3 內(nèi)存映像I/O 217
7.2.4 I/O通道 218
7.2.5 I/O設(shè)備的控制方式 220
7.3 中斷和中斷處理程序 224
7.3.1 中斷簡介 224
7.3.2 中斷處理程序 225
7.3.3 實例:Linux系統(tǒng)中斷處理 227
7.4 設(shè)備驅(qū)動程序 229
7.4.1 設(shè)備驅(qū)動程序概述 229
7.4.2 設(shè)備驅(qū)動程序的執(zhí)行過程 230
7.4.3 設(shè)備驅(qū)動程序的框架 231
7.5 與設(shè)備無關(guān)的I/O軟件 233
7.5.1 與設(shè)備無關(guān)軟件的基本概念 233
7.5.2 與設(shè)備無關(guān)軟件的共有操作 234
7.5.3 設(shè)備分配與回收 235
7.5.4 將邏輯設(shè)備名映射到物理設(shè)備名 237
7.5.5 I/O調(diào)度 238
7.6 用戶層的I/O軟件 238
7.6.1 系統(tǒng)調(diào)用與庫函數(shù) 238
7.6.2 假脫機系統(tǒng) 239
7.7 緩沖區(qū)管理 242
7.7.1 緩沖的引入 243
7.7.2 單緩沖區(qū)和雙緩沖區(qū) 244
7.7.3 環(huán)形緩沖區(qū) 245
7.7.4 緩沖池 246
7.7.5 緩存 248
7.8 磁盤性能概述和磁盤調(diào)度 248
7.8.1 磁盤性能概述 249
7.8.2 早期的磁盤調(diào)度算法 251
7.8.3 基于掃描的磁盤調(diào)度算法 252
7.9 本章小結(jié) 254
習(xí)題7(含考研真題) 254
第8章 文件管理 257
8.1 文件和文件系統(tǒng) 258
8.1.1 文件、記錄和數(shù)據(jù)項 258
8.1.2 文件名和文件類型 259
8.1.3 文件系統(tǒng)的層次結(jié)構(gòu) 260
8.1.4 文件操作 261
8.2 文件的邏輯結(jié)構(gòu) 262
8.2.1 文件邏輯結(jié)構(gòu)的類型 262
8.2.2 順序文件 263
8.2.3 順序文件記錄尋址 264
8.2.4 索引文件 265
8.2.5 索引順序文件 266
8.2.6 直接文件和哈希文件 268
8.3 文件目錄 268
8.3.1 文件控制塊和索引節(jié)點 269
8.3.2 簡單的文件目錄 270
8.3.3 樹形目錄 272
8.3.4 無環(huán)圖目錄 274
8.3.5 目錄查詢技術(shù) 274
8.4 文件共享 276
8.4.1 利用有向無環(huán)圖實現(xiàn)文件共享 276
8.4.2 利用符號鏈接實現(xiàn)文件共享 278
8.5 文件保護 279
8.5.1 保護域 279
8.5.2 訪問矩陣的概念 280
8.5.3 訪問矩陣的修改 281
8.5.4 訪問矩陣的實現(xiàn) 283
8.6 文件系統(tǒng)的實現(xiàn) 284
8.6.1 實現(xiàn)原則 284
8.6.2 磁盤分區(qū) 285
8.6.3 文件系統(tǒng)掛載 285
8.7 Linux文件系統(tǒng)實例 286
8.7.1 實例1:虛擬文件系統(tǒng) 286
8.7.2 實例2:Linux ext2文件系統(tǒng) 287
8.8 本章小結(jié) 289
習(xí)題8(含考研真題) 289
第9章 磁盤存儲器管理 291
9.1 外存的組織方式 292
9.1.1 連續(xù)組織方式 292
9.1.2 鏈接組織方式 293
9.1.3 索引組織方式 297
9.2 文件存儲空間的管理 300
9.2.1 空閑區(qū)表法和空閑鏈表法 300
9.2.2 位示圖法 301
9.2.3 成組鏈接法 302
9.3 提高磁盤I/O速度的途徑 303
9.3.1 磁盤高速緩存 303
9.3.2 提高磁盤I/O速度的其他方法305
9.3.3 廉價磁盤冗余陣列 306
9.4 提高磁盤可靠性的技術(shù) 307
9.4.1 第 一級容錯技術(shù) 308
9.4.2 第二級容錯技術(shù) 308
9.4.3 基于集群系統(tǒng)的容錯技術(shù) 309
9.4.4 后備系統(tǒng) 311
9.5 存儲新技術(shù) 312
9.5.1 傳統(tǒng)存儲系統(tǒng) 312
9.5.2 新型存儲系統(tǒng) 313
9.5.3 固態(tài)硬盤 313
9.6 數(shù)據(jù)一致性控制 314
9.6.1 事務(wù) 315
9.6.2 檢查點 316
9.6.3 并發(fā)控制 316
9.6.4 重復(fù)數(shù)據(jù)的一致性問題 317
9.7 本章小結(jié) 318
習(xí)題9(含考研真題) 319
第 10章 多處理機操作系統(tǒng) 323
10.1 多處理機系統(tǒng)的基本概念 324
10.1.1 多處理機系統(tǒng)的引入 324
10.1.2 多處理機系統(tǒng)的類型 325
10.2 多處理機系統(tǒng)的結(jié)構(gòu) 325
10.2.1 統(tǒng)一內(nèi)存訪問多處理機系統(tǒng)結(jié)構(gòu) 326
10.2.2 非統(tǒng)一內(nèi)存訪問多處理機系統(tǒng)結(jié)構(gòu) 328
10.3 多處理機操作系統(tǒng)的特征與類型 331
10.3.1 多處理機操作系統(tǒng)的特征 331
10.3.2 多處理機操作系統(tǒng)的功能 332
10.3.3 多處理機操作系統(tǒng)的類型 334
10.4 多處理機操作系統(tǒng)的進程同步 336
10.4.1 集中式同步方式與分布式同步方式 336
10.4.2 自旋鎖 337
10.4.3 讀-復(fù)制-更新鎖 338
10.4.4 二進制指數(shù)補償算法和待鎖CPU等待隊列機構(gòu) 339
10.4.5 定序機構(gòu) 340
10.4.6 面包房算法 341
10.4.7 令牌環(huán)算法 342
10.5 多處理機操作系統(tǒng)的進程調(diào)度 343
10.5.1 調(diào)度性能的評價因素 343
10.5.2 進程分配方式 344
10.5.3 進程(線程)調(diào)度方式 345
10.5.4 死鎖的分類、檢測與解除 348
10.6 本章小結(jié) 349
習(xí)題10 349
第 11章 虛擬化和云計算 351
11.1 虛擬化的基本概念 352
11.1.1 虛擬化的引入 352
11.1.2 虛擬化的發(fā)展 353
11.1.3 虛擬化的必要條件 354
11.1.4 虛擬化的實現(xiàn)方法 356
11.2 虛擬化技術(shù) 358
11.2.1 虛擬機監(jiān)視器 358
11.2.2 CPU虛擬化 359
11.2.3 內(nèi)存虛擬化 361
11.2.4 I/O虛擬化 362
11.2.5 多核虛擬化 363
11.3 云計算 363
11.3.1 云計算的引入 364
11.3.2 云計算的定義與基本特征 364
11.3.3 虛擬機遷移 365
11.3.4 授權(quán)和檢查 367
11.4 輕量級虛擬化技術(shù)與容器技術(shù) 368
11.4.1 輕量級虛擬化技術(shù) 368
11.4.2 容器技術(shù) 369
11.5 實例:虛擬機軟件 370
11.6 本章小結(jié) 371
習(xí)題11 371
第 12章 保護和安全 372
12.1 安全環(huán)境 373
12.1.1 實現(xiàn)“安全環(huán)境”的主要目標(biāo) 373
12.1.2 系統(tǒng)安全的特征 373
12.1.3 計算機安全的分類 374
12.2 數(shù)據(jù)加密技術(shù) 375
12.2.1 數(shù)據(jù)加密原理 376
12.2.2 對稱加密算法和非對稱加密算法 377
12.2.3 數(shù)字簽名和數(shù)字證明書 378
12.3 用戶驗證 380
12.3.1 口令驗證技術(shù) 380
12.3.2 基于物理標(biāo)志的驗證技術(shù) 382
12.3.3 生物識別驗證技術(shù) 383
12.4 來自系統(tǒng)內(nèi)部的攻擊 384
12.4.1 早期常用的內(nèi)部攻擊方式 384
12.4.2 邏輯炸彈和陷阱門 385
12.4.3 特洛伊木馬和登錄欺騙 386
12.4.4 緩沖區(qū)溢出 387
12.5 來自系統(tǒng)外部的攻擊 388
12.5.1 病毒、蠕蟲和移動代碼 388
12.5.2 計算機病毒的特征與類型 390
12.5.3 病毒的隱藏方式 391
12.5.4 病毒的預(yù)防與檢測 392
12.6 可信系統(tǒng) 393
12.6.1 訪問矩陣模型和信息流控制模型 393
12.6.2 可信計算基 395
12.6.3 設(shè)計安全操作系統(tǒng)的原則 396
12.7 本章小結(jié) 397
習(xí)題12 398
參考文獻 399