為了滿足當下高等學校操作系統(tǒng)課程的教學需求,本書在《計算機操作系統(tǒng)(第四版)》的基礎上進行了全方位的內(nèi)容修訂與資源完善,現(xiàn)已全面覆蓋全國碩士研究生招生考試操作系統(tǒng)考試大綱。全書共12章,在引論之后詳細介紹了進程的描述與控制、處理機調度與死鎖、進程同步、存儲器管理、虛擬存儲器、輸入/輸出系統(tǒng)、文件管理、磁盤存儲器管理、多處理機操作系統(tǒng)、保護和安全等操作系統(tǒng)的核心理論內(nèi)容,跟蹤介紹了虛擬化和云計算等前沿技術內(nèi)容;同時,增加了足量案例與習題(含考研真題)。
本書可以作為高等學校計算機類、電子信息類等相關專業(yè)的本科生教材,也可供從事計算機相關工作的技術人員與操作系統(tǒng)的愛好者參考使用,還可作為考研學子的復習與輔導用書。
(1)本書是湯子瀛/湯小丹所編《計算機操作系統(tǒng)》經(jīng)典教材的**版本。
(2)本書全面覆蓋了考研大綱,是國內(nèi)高校公認的考研指定教材;同時,新增了相關前沿技術介紹,滿足新工科教學需求。
(3)本書提供了豐富的教學資源,如PPT、教案、教學大綱、案例、多類型習題、慕課、微課、課程思政素材、習題解析手冊、實驗指導手冊等,是當下真正意義上的立體化新形態(tài)教材,支持線上線下混合式教學模式。
湯子瀛:
江蘇省靖江市人,杭州電子科技大學教授,操作系統(tǒng)領域專家;參與了我國第一代大型電子管計算機和第二代晶體管計算機的研制工作;主編經(jīng)典教材《計算機操作系統(tǒng)》。
湯小丹:
江蘇省靖江市人,杭州師范大學教授;從教數(shù)十年,主講“操作系統(tǒng)”“操作系統(tǒng)實踐”等課程,編寫了《現(xiàn)代操作系統(tǒng)》《操作系統(tǒng)教程》等多部優(yōu)秀教材;經(jīng)典教材《計算機操作系統(tǒng)》新版主編。
【章名目錄】
第 1章 操作系統(tǒng)引論
第 2章 進程的描述與控制
第3章 處理機調度與死鎖
第4章 進程同步
第5章 存儲器管理
第6章 虛擬存儲器
第7章 輸入/輸出系統(tǒng)
第8章 文件管理
第9章 磁盤存儲器管理
第 10章 多處理機操作系統(tǒng)
第 11章 虛擬化和云計算
第 12章 保護和安全
【詳細目錄】
第 1章 操作系統(tǒng)引論 1
1.1 操作系統(tǒng)的目標和作用 1
1.1.1 操作系統(tǒng)的目標 1
1.1.2 操作系統(tǒng)的作用 2
1.1.3 推動操作系統(tǒng)發(fā)展的主要動力 4
1.2 操作系統(tǒng)的發(fā)展過程 5
1.2.1 未配置操作系統(tǒng)的計算機系統(tǒng) 5
1.2.2 單道批處理系統(tǒng) 6
1.2.3 多道批處理系統(tǒng) 7
1.2.4 分時系統(tǒng) 8
1.2.5 實時系統(tǒng) 10
1.2.6 微機操作系統(tǒng) 11
1.2.7 嵌入式操作系統(tǒng) 12
1.2.8 網(wǎng)絡操作系統(tǒng) 12
1.2.9 分布式操作系統(tǒng) 13
1.3 操作系統(tǒng)的基本特性 14
1.3.1 并發(fā) 14
1.3.2 共享 15
1.3.3 虛擬 16
1.3.4 異步 17
1.4 操作系統(tǒng)的運行環(huán)境 17
1.4.1 硬件支持 17
1.4.2 操作系統(tǒng)內(nèi)核 18
1.4.3 處理機的雙重工作模式 19
1.4.4 中斷與異常 20
1.5 操作系統(tǒng)的主要功能 21
1.5.1 處理機管理功能 21
1.5.2 存儲器管理功能 22
1.5.3 設備管理功能 23
1.5.4 文件管理功能 23
1.5.5 接口管理功能 24
1.5.6 現(xiàn)代操作系統(tǒng)的新功能 25
1.6 操作系統(tǒng)的結構設計 26
1.6.1 簡單結構 26
1.6.2 模塊化結構 27
1.6.3 分層式結構 28
1.6.4 微內(nèi)核結構 29
1.6.5 外核結構 32
1.7 系統(tǒng)調用 33
1.7.1 系統(tǒng)調用的基本概念 33
1.7.2 系統(tǒng)調用的類型 35
1.8 本章小結 35
習題1(含考研真題) 36
第 2章 進程的描述與控制 38
2.1 前趨圖和程序執(zhí)行 38
2.1.1 前趨圖 38
2.1.2 程序順序執(zhí)行 39
2.1.3 程序并發(fā)執(zhí)行 40
2.2 進程的描述 42
2.2.1 進程的定義和特征 42
2.2.2 進程的基本狀態(tài)與轉換 43
2.2.3 掛起操作和進程狀態(tài)的轉換 44
2.2.4 進程管理中的數(shù)據(jù)結構 46
2.3 進程控制 49
2.3.1 進程的創(chuàng)建 49
2.3.2 進程的終止 51
2.3.3 進程的阻塞與喚醒 52
2.3.4 進程的掛起與激活 53
2.4 進程通信 53
2.4.1 進程通信的類型 53
2.4.2 消息傳遞通信的實現(xiàn)方式 56
2.4.3 Linux進程通信實例 59
2.5 線程的基本概念 62
2.5.1 線程的引入 62
2.5.2 線程與進程的比較 63
2.5.3 線程的狀態(tài)和線程控制塊 64
2.6 線程的實現(xiàn) 65
2.6.1 線程的實現(xiàn)方式 65
2.6.2 線程的實現(xiàn) 67
2.6.3 線程的創(chuàng)建和終止 69
2.7 本章小結 70
習題2(含考研真題) 70
第3章 處理機調度與死鎖 72
3.1 處理機調度概述 72
3.1.1 處理機調度的層次 72
3.1.2 作業(yè)和作業(yè)調度 73
3.1.3 進程調度 74
3.1.4 處理機調度算法的目標 76
3.2 調度算法 77
3.2.1 先來先服務調度算法 77
3.2.2 短作業(yè)優(yōu)先調度算法 78
3.2.3 優(yōu)先級調度算法 78
3.2.4 輪轉調度算法 80
3.3.5 多級隊列調度算法 81
3.2.6 多級反饋隊列調度算法 82
3.2.7 基于公平原則的調度算法 83
3.3 實時調度 84
3.3.1 實現(xiàn)實時調度的基本條件 84
3.3.2 實時調度算法分類 85
3.3.3 最早截止時間優(yōu)先算法 86
3.3.4 最低松弛度優(yōu)先算法 87
3.3.5 優(yōu)先級倒置 88
3.4 Linux進程調度實例 90
3.5 死鎖概述 91
3.5.1 資源問題 91
3.5.2 計算機系統(tǒng)中的死鎖 92
3.5.3 死鎖的定義、必要條件和處理方法 94
3.5.4 資源分配圖 95
3.6 死鎖預防 96
3.6.1 破壞“請求和保持”條件 96
3.6.2 破壞“不可搶占”條件 97
3.6.3 破壞“循環(huán)等待”條件 97
3.7 死鎖避免 98
3.7.1 系統(tǒng)安全狀態(tài) 98
3.7.2 利用銀行家算法避免死鎖 99
3.8 死鎖的檢測與解除 102
3.8.1 死鎖的檢測 102
3.8.2 死鎖的解除 103
3.9 本章小結 105
習題3(含考研真題) 105
第4章 進程同步 108
4.1 進程同步的基本概念 108
4.1.1 背景 108
4.1.2 臨界區(qū)問題 111
4.2 軟件同步機制 112
4.3 硬件同步機制 113
4.4 信號量機制 115
4.4.1 信號量機制介紹 115
4.4.2 信號量的應用 118
4.5 管程機制 119
4.6 經(jīng)典進程的同步問題 122
4.6.1 生產(chǎn)者-消費者問題 122
4.6.2 哲學家進餐問題 125
4.6.3 讀者-寫者問題 128
4.7 Linux進程同步機制 130
4.8 本章小結 132
習題4(含考研真題) 133
第5章 存儲器管理 135
5.1 存儲器的層次結構 135
5.1.1 多層結構的存儲器 135
5.1.2 主存儲器與寄存器 136
5.1.3 高速緩存和磁盤緩存 137
5.2 程序的裝入和鏈接 138
5.2.1 地址綁定和內(nèi)存保護 138
5.2.2 程序的裝入 139
5.2.3 程序的鏈接 140
5.3 對換與覆蓋 142
5.3.1 多道程序環(huán)境下的對換技術 142
5.3.2 對換區(qū)的管理 143
5.3.3 進程的換出與換入 143
5.3.4 覆蓋 145
5.4 連續(xù)分配存儲管理方式 146
5.4.1 單一連續(xù)分配 146
5.4.2 固定分區(qū)分配 146
5.4.3 動態(tài)分區(qū)分配 147
5.4.4 動態(tài)重定位分區(qū)分配 151
5.5 分頁存儲管理方式 153
5.5.1 分頁存儲管理的基本方法 153
5.5.2 地址變換機構 155
5.5.3 引入快表后的內(nèi)存有效訪問時間 157
5.5.4 兩級頁表和多級頁表 157
5.5.5 反置頁表 159
5.6 分段存儲管理方式 160
5.6.1 分段存儲管理方式的引入 160
5.6.2 分段系統(tǒng)的基本原理 161
5.6.3 信息共享 164
5.7 段頁式存儲管理方式 165
5.8 實例:基于IA-32/x86-64架構的內(nèi)存管理策略 167
5.9 本章小結 169
習題5(含考研真題) 169
第6章 虛擬存儲器 171
6.1 虛擬存儲器概述 171
6.1.1 常規(guī)存儲器管理方式的特征和局部性原理 171
6.1.2 虛擬存儲器的定義和特征 172
6.1.3 虛擬存儲器的實現(xiàn)方法 173
6.2 請求分頁存儲管理方式 174
6.2.1 請求分頁中的硬件支持 175
6.2.2 請求分頁中的內(nèi)存分配 176
6.2.3 頁面調入策略 178
6.3 頁面置換算法 180
6.3.1 最佳頁面置換算法和先進先出頁面置換算法 180
6.3.2 最近最久未使用頁面置換算法和最少使用頁面置換算法 181
6.3.3 Clock頁面置換算法 183
6.3.4 頁面緩沖算法 184
6.3.5 請求分頁系統(tǒng)的內(nèi)存有效訪問時間 185
6.4 “抖動”與工作集 186
6.4.1 多道程序度與“抖動” 186
6.4.2 工作集 187
6.4.3 “抖動”的預防方法 189
6.5 請求分段存儲管理方式 189
6.5.1 請求分段中的硬件支持 190
6.5.2 分段的共享與保護 191
6.6 虛擬存儲器實現(xiàn)實例 193
6.6.1 實例1:在Windows XP系統(tǒng)中實現(xiàn)虛擬存儲器 193
6.6.2 實例2:在Linux系統(tǒng)中實現(xiàn)虛擬存儲器 194
6.7 本章小結 195
習題6(含考研真題) 195
第7章 輸入/輸出系統(tǒng) 198
7.1 I/O系統(tǒng)的功能、模型和接口 198
7.1.1 I/O系統(tǒng)的基本功能 198
7.1.2 I/O系統(tǒng)的層次結構和模型 200
7.1.3 I/O系統(tǒng)接口 202
7.2 I/O設備和設備控制器 203
7.2.1 I/O設備 203
7.2.2 設備控制器 204
7.2.3 內(nèi)存映像I/O 205
7.2.4 I/O通道 206
7.2.5 I/O設備的控制方式 208
7.3 中斷和中斷處理程序 212
7.3.1 中斷簡介 212
7.3.2 中斷處理程序 213
7.3.3 實例:Linux系統(tǒng)中斷處理 215
7.4 設備驅動程序 217
7.4.1 設備驅動程序概述 217
7.4.2 設備驅動程序的執(zhí)行過程 218
7.4.3 設備驅動程序的框架 219
7.5 與設備無關的I/O軟件 221
7.5.1 與設備無關軟件的基本概念 221
7.5.2 與設備無關軟件的共有操作 222
7.5.3 設備分配 223
7.5.4 邏輯設備名映射到物理設備名 225
7.5.5 I/O調度 226
7.6 用戶層的I/O軟件 226
7.6.1 系統(tǒng)調用與庫函數(shù) 227
7.6.2 假脫機系統(tǒng) 228
7.7 緩沖區(qū)管理 231
7.7.1 緩沖的引入 231
7.7.2 單緩沖區(qū)和雙緩沖區(qū) 232
7.7.3 環(huán)形緩沖區(qū) 234
7.7.4 緩沖池 235
7.7.5 緩存 237
7.8 磁盤性能概述和磁盤調度 237
7.8.1 磁盤性能概述 237
7.8.2 早期的磁盤調度算法 240
7.8.3 基于掃描的磁盤調度算法 241
7.9 本章小結 243
習題7(含考研真題) 244
第8章 文件管理 247
8.1 文件和文件系統(tǒng) 247
8.1.1 文件、記錄和數(shù)據(jù)項 248
8.1.2 文件名和文件類型 249
8.1.3 文件系統(tǒng)的層次結構 250
8.1.4 文件操作 251
8.2 文件的邏輯結構 252
8.2.1 文件邏輯結構的類型 252
8.2.2 順序文件 253
8.2.3 順序文件記錄尋址 254
8.2.4 索引文件 255
8.2.5 索引順序文件 256
8.2.6 直接文件和哈希文件 257
8.3 文件目錄 258
8.3.1 文件控制塊和索引節(jié)點 258
8.3.2 簡單的文件目錄 260
8.3.3 樹形目錄 262
8.3.4 無環(huán)圖目錄 264
8.3.5 目錄查詢技術 264
8.4 文件共享 266
8.4.1 利用有向無環(huán)圖實現(xiàn)文件共享 266
8.4.2 利用符號鏈接實現(xiàn)文件共享 267
8.5 文件保護 269
8.5.1 保護域 269
8.5.2 訪問矩陣的概念 270
8.5.3 訪問矩陣的修改 271
8.5.4 訪問矩陣的實現(xiàn) 273
8.6 Linux文件系統(tǒng)實例 274
8.6.1 實例1:虛擬文件系統(tǒng) 274
8.6.2 實例2:Linux ext2文件系統(tǒng) 275
8.7 本章小結 276
習題8(含考研真題) 277
第9章 磁盤存儲器管理 279
9.1 外存的組織方式 279
9.1.1 連續(xù)組織方式 280
9.1.2 鏈接組織方式 281
9.1.3 索引組織方式 284
9.2 文件存儲空間的管理 287
9.2.1 空閑區(qū)表法和空閑鏈表法 288
9.2.2 位示圖法 289
9.2.3 成組鏈接法 290
9.3 提高磁盤I/O速度的途徑 291
9.3.1 磁盤高速緩存 291
9.3.2 提高磁盤I/O速度的其他方法 292
9.3.3 廉價磁盤冗余陣列 293
9.4 提高磁盤可靠性的技術 295
9.4.1 第 一級容錯技術 295
9.4.2 第二級容錯技術 296
9.4.3 基于集群系統(tǒng)的容錯技術 297
9.4.4 后備系統(tǒng) 298
9.5 存儲新技術 300
9.5.1 傳統(tǒng)存儲系統(tǒng) 300
9.5.2 新型存儲系統(tǒng) 301
9.5.3 硬盤新技術 301
9.6 數(shù)據(jù)一致性控制 302
9.6.1 事務 302
9.6.2 檢查點 303
9.6.3 并發(fā)控制 304
9.6.4 重復數(shù)據(jù)的一致性問題 305
9.7 本章小節(jié) 306
習題9(含考研真題) 306
第 10章 多處理機操作系統(tǒng) 310
10.1 多處理機系統(tǒng)的基本概念 310
10.1.1 多處理機系統(tǒng)的引入 310
10.1.2 多處理機系統(tǒng)的類型 311
10.2 多處理機系統(tǒng)的結構 312
10.2.1 統(tǒng)一內(nèi)存訪問多處理機系統(tǒng)結構 312
10.2.2 非統(tǒng)一內(nèi)存訪問多處理機系統(tǒng)結構 315
10.3 多處理機操作系統(tǒng)的特征與分類 318
10.3.1 多處理機操作系統(tǒng)的特征 318
10.3.2 多處理機操作系統(tǒng)的功能 319
10.3.3 多處理機操作系統(tǒng)的類型 321
10.4 多處理機操作系統(tǒng)的進程同步 323
10.4.1 集中式同步方式與分布式同步方式 323
10.4.2 自旋鎖 324
10.4.3 讀-復制-更新鎖 325
10.4.4 二進制指數(shù)補償算法和待鎖CPU等待隊列機構 326
10.4.5 定序機構 327
10.4.6 面包房算法 328
10.4.7 令牌環(huán)算法 329
10.5 多處理機操作系統(tǒng)的進程調度 329
10.5.1 調度性能的評價因素 330
10.5.2 進程分配方式 331
10.5.3 進程(線程)調度方式 332
10.5.3 死鎖的分類、檢測與解除 335
10.6 本章小結 336
習題10 336
第 11章 虛擬化和云計算 338
11.1 虛擬化的基本概念 338
11.1.1 虛擬化的引入 338
11.1.2 虛擬化的發(fā)展 339
11.1.3 虛擬化的必要條件 341
11.1.4 虛擬化的實現(xiàn)方法 342
11.2 虛擬化技術 345
11.2.1 虛擬機監(jiān)視器 345
11.2.2 CPU虛擬化 346
11.2.3 內(nèi)存虛擬化 348
11.2.4 I/O虛擬化 348
11.2.5 多核虛擬化 349
11.3 云計算 350
11.3.1 云計算的引入 350
11.3.2 云計算的定義和基本特征 351
11.3.3 虛擬機遷移 352
11.3.4 授權和檢查 354
11.4 實例:虛擬機軟件 354
11.5 本章小結 355
習題11 356
第 12章 保護和安全 357
12.1 安全環(huán)境 357
12.1.1 實現(xiàn)“安全環(huán)境”的主要目標 357
12.1.2 系統(tǒng)安全的特征 358
12.1.3 計算機安全的分類 359
12.2 數(shù)據(jù)加密技術 360
12.2.1 數(shù)據(jù)加密原理 360
12.2.2 對稱加密算法與非對稱加密算法 362
12.2.3 數(shù)字簽名與數(shù)字證明書 363
12.3 用戶驗證 364
12.3.1 口令驗證技術 365
12.3.2 基于物理標志的驗證技術 367
12.3.3 生物識別驗證技術 368
12.4 來自系統(tǒng)內(nèi)部的攻擊 369
12.4.1 早期常用的內(nèi)部攻擊方式 369
12.4.2 邏輯炸彈與陷阱門 370
12.4.3 特洛伊木馬與登錄欺騙 371
12.4.4 緩沖區(qū)溢出 372
12.5 來自系統(tǒng)外部的攻擊 373
12.5.1 病毒、蠕蟲和移動代碼 373
12.5.2 計算機病毒的特征與類型 374
12.5.3 病毒的隱藏方式 376
12.5.4 病毒的預防與檢測 377
12.6 可信系統(tǒng) 378
12.6.1 訪問矩陣模型和信息流控制模型 378
12.6.2 可信計算基 379
12.6.3 設計安全操作系統(tǒng)的原則 380
12.7 本章小結 382
習題12 382
參考文獻 384