操作系統(tǒng)主要涉及對計算機軟/硬件資源的控制和管理。本書對操作系統(tǒng)的實現(xiàn)原理進(jìn)行了詳細(xì)和深入的分析,力求做到全面、系統(tǒng)、準(zhǔn)確和通俗,以便讀者透徹理解操作系統(tǒng)的設(shè)計思想,深化對基本概念的掌握。全書共分6章,主要包括引論、處理器管理、進(jìn)程同步與通信、存儲管理、設(shè)備管理和文件管理。 本書結(jié)構(gòu)清晰、內(nèi)容豐富、取材新穎,既強調(diào)知識的實用性,又注重理論的完整性,可作為高等院校計算機及相關(guān)專業(yè)的操作系統(tǒng)課程教材,也可作為從事計算機工作及報考研究生人員的參考資料。
黑新宏,1994.9-1998.7 西安理工大學(xué) 計算機及其應(yīng)用 學(xué)士;2000.9-2003.4 西安理工大學(xué) 計算機應(yīng)用技術(shù) 碩士;2005.4-2008.3 日本大學(xué) 理工學(xué)部 計算機科學(xué) 博士;2008.7-2013.11 西安理工大學(xué)計算機科學(xué)與工程學(xué)院 副教授;2013.12至今 西安理工大學(xué)計算機科學(xué)與工程學(xué)院 教授;2018.1至今,西安理工大學(xué)計算機學(xué)院教授、院長。
目錄
第1章 引論 1
1.1 操作系統(tǒng)的概念 1
1.1.1 什么是操作系統(tǒng) 1
1.1.2 操作系統(tǒng)的主要功能 4
1.1.3 操作系統(tǒng)的基本特征 6
1.2 操作系統(tǒng)的邏輯結(jié)構(gòu)和運行模型 8
1.2.1 用戶態(tài)和內(nèi)核態(tài)的劃分 8
1.2.2 操作系統(tǒng)的邏輯結(jié)構(gòu) 9
1.2.3 操作系統(tǒng)的運行模型 12
1.3 操作系統(tǒng)的形成與發(fā)展 12
1.3.1 操作系統(tǒng)的形成時期 13
1.3.2 操作系統(tǒng)的成熟時期 15
1.3.3 操作系統(tǒng)的進(jìn)一步發(fā)展時期 18
1.4 主要操作系統(tǒng)的類型 20
1.4.1 批處理操作系統(tǒng) 20
1.4.2 分時操作系統(tǒng) 21
1.4.3 實時操作系統(tǒng) 23
1.4.4 微機操作系統(tǒng) 24
1.4.5 網(wǎng)絡(luò)操作系統(tǒng) 26
1.4.6 多CPU操作系統(tǒng) 27
1.4.7 分布式操作系統(tǒng) 29
1.4.8 嵌入式操作系統(tǒng) 31
1.5 操作系統(tǒng)安全性概述 32
1.5.1 操作系統(tǒng)安全的重要性 32
1.5.2 操作系統(tǒng)的安全觀點 33
1.5.3 實現(xiàn)操作系統(tǒng)安全性的基本技術(shù) 33
1.6 操作系統(tǒng)運行基礎(chǔ) 34
1.6.1 處理器及工作模式 34
1.6.2 中斷技術(shù) 38
1.6.3 系統(tǒng)調(diào)用 42
習(xí)題1 44
第2章 處理器管理 49
2.1 進(jìn)程的概念 49
2.1.1 程序的順序執(zhí)行 49
2.1.2 程序的并發(fā)執(zhí)行 50
2.1.3 進(jìn)程 52
2.2 進(jìn)程的狀態(tài)及轉(zhuǎn)換 55
2.2.1 兩狀態(tài)進(jìn)程模型 55
2.2.2 三狀態(tài)進(jìn)程模型 55
2.2.3 五狀態(tài)進(jìn)程模型 57
2.2.4 進(jìn)程的掛起 58
2.2.5 進(jìn)程控制塊 60
2.3 進(jìn)程控制 62
2.3.1 進(jìn)程切換 62
2.3.2 進(jìn)程控制原語 64
2.4 處理器調(diào)度 67
2.4.1 作業(yè)與進(jìn)程的關(guān)系 67
2.4.2 CPU的三級調(diào)度 69
2.4.3 處理器調(diào)度隊列模型 71
2.4.4 進(jìn)程調(diào)度的方式和時機 73
2.5 單處理器調(diào)度算法 75
2.5.1 調(diào)度原則 76
2.5.2 常用調(diào)度算法 77
2.5.3 實時調(diào)度 83
2.6 線程 84
2.6.1 線程的引入 85
2.6.2 線程的概念 86
2.6.3 線程與傳統(tǒng)進(jìn)程的比較 87
2.6.4 線程實現(xiàn)原理 88
習(xí)題2 89
第3章 進(jìn)程同步與通信 95
3.1 進(jìn)程同步的基本概念 95
3.1.1 并發(fā)進(jìn)程的關(guān)系 95
3.1.2 進(jìn)程的互斥與同步 96
3.1.3 臨界資源與臨界區(qū) 97
3.2 進(jìn)程互斥方法 99
3.2.1 實現(xiàn)進(jìn)程互斥的硬件方法 99
3.2.2 實現(xiàn)進(jìn)程互斥的軟件方法 101
3.3 信號量機制 103
3.3.1 信號量 103
3.3.2 使用信號量實現(xiàn)進(jìn)程互斥 107
3.3.3 使用信號量實現(xiàn)進(jìn)程同步 108
3.4 經(jīng)典互斥與同步問題 111
3.4.1 生產(chǎn)者?消費者問題 111
3.4.2 哲學(xué)家進(jìn)餐問題 114
3.4.3 讀者?寫者問題 117
3.4.4 睡眠理發(fā)師問題 120
3.5 經(jīng)典互斥與同步問題的應(yīng)用 122
3.5.1 緩沖區(qū)數(shù)據(jù)傳送問題 122
3.5.2 吃水果問題 123
3.5.3 汽車過橋問題 125
3.6 管程機制 126
3.6.1 條件變量與管程結(jié)構(gòu) 126
3.6.2 生產(chǎn)者-消費者問題的管程解決方法 131
3.6.3 哲學(xué)家進(jìn)餐問題的管程解決方法 133
3.6.4 讀者-寫者問題的管程解決方法 134
3.6.5 睡眠理發(fā)師問題的管程解決方法 136
3.6.6 吃水果問題的管程解決方法 137
3.7 進(jìn)程通信 139
3.7.1 進(jìn)程通信的概念 139
3.7.2 共享內(nèi)存通信方式 140
3.7.3 消息緩沖通信方式 141
3.7.4 信箱通信方式 144
3.7.5 管道通信方式 145
3.8 死鎖 147
3.8.1 產(chǎn)生死鎖的原因和必要條件 148
3.8.2 死鎖的預(yù)防 151
3.8.3 死鎖的避免 153
3.8.4 死鎖的檢測與解除 158
習(xí)題3 162
第4章 存儲管理 169
4.1 程序的鏈接和裝入 169
4.1.1 邏輯地址和物理地址 170
4.1.2 程序的鏈接 170
4.1.3 程序裝入與地址定位 171
4.2 存儲器及存儲管理的基本功能 174
4.2.1 多級存儲器體系 175
4.2.2 內(nèi)存的分配與回收以及地址轉(zhuǎn)換 175
4.2.3 內(nèi)存的共享、保護(hù)及擴充 177
4.3 分區(qū)存儲管理 179
4.3.1 單一連續(xù)分區(qū)存儲管理 179
4.3.2 固定分區(qū)存儲管理 181
4.3.3 可變分區(qū)存儲管理 183
4.3.4 覆蓋與交換技術(shù) 188
4.4 分頁存儲管理 190
4.4.1 分頁存儲管理的基本原理 190
4.4.2 分頁存儲管理的地址轉(zhuǎn)換與存儲保護(hù) 192
4.4.3 兩級頁表和多級頁表 195
4.4.4 內(nèi)存物理塊的分配與回收 198
4.5 分段存儲管理 198
4.5.1 分段存儲管理的基本原理 198
4.5.2 分段存儲管理的地址轉(zhuǎn)換與存儲保護(hù) 200
4.5.3 分段存儲管理的優(yōu)缺點 203
4.6 段頁式存儲管理 204
4.6.1 段頁式存儲管理的基本原理 204
4.6.2 段頁式存儲管理的地址轉(zhuǎn)換和優(yōu)缺點 205
4.7 虛擬存儲管理 207
4.7.1 虛擬存儲器的概念 207
4.7.2 請求分頁存儲管理 209
4.7.3 請求分段存儲管理 219
4.7.4 請求段頁式存儲管理 223
習(xí)題4 226
第5章 設(shè)備管理 233
5.1 設(shè)備管理概述 233
5.1.1 設(shè)備的分類 233
5.1.2 設(shè)備管理的目標(biāo)和功能 234
5.2 I/O設(shè)備管理系統(tǒng)的組成 236
5.2.1 I/O設(shè)備管理系統(tǒng)的硬件組織 236
5.2.2 I/O設(shè)備管理系統(tǒng)的軟件組織 241
5.3 I/O設(shè)備控制方式 247
5.3.1 程序直接I/O控制方式 247
5.3.2 中斷I/O控制方式 248
5.3.3 DMA I/O控制方式 249
5.3.4 通道I/O控制方式 251
5.3.5 4種I/O控制方式的對比 253
5.4 緩沖技術(shù)與虛擬設(shè)備技術(shù) 254
5.4.1 緩沖技術(shù) 254
5.4.2 虛擬設(shè)備技術(shù) 259
5.5 設(shè)備的分配與回收 261
5.5.1 用于設(shè)備分配的數(shù)據(jù)結(jié)構(gòu) 261
5.5.2 設(shè)備分配 263
5.5.3 設(shè)備回收 267
5.6 磁盤存儲器管理 268
5.6.1 存儲設(shè)備概述 268
5.6.2 磁盤調(diào)度 269
5.6.3 提高磁盤I/O速度的方法 273
5.6.4 磁盤陣列(RAID) 275
習(xí)題5 279
第6章 文件管理 283
6.1 文件系統(tǒng)的基本概念 283
6.1.1 文件系統(tǒng)的引入 283
6.1.2 文件與文件系統(tǒng) 284
6.2 文件的組織結(jié)構(gòu) 288
6.2.1 文件的邏輯結(jié)構(gòu) 288
6.2.2 文件的物理結(jié)構(gòu) 290
6.3 文件目錄與文件操作 296
6.3.1 文件控制塊與索引節(jié)點 297
6.3.2 目錄結(jié)構(gòu) 300
6.3.3 文件目錄查找 303
6.3.4 文件操作 303
6.4 文件存儲空間管理 306
6.4.1 空閑分區(qū)表法 306
6.4.2 空閑塊鏈法 307
6.4.3 位示圖法 309
6.5 文件共享與文件安全 309
6.5.1 早期的文件共享方法 310
6.5.2 目前常用的文件共享方法 311
6.5.3 文件系統(tǒng)的安全 313
6.5.4 文件系統(tǒng)的可靠性 314
6.5.5 文件保護(hù) 316
習(xí)題6 318
參考文獻(xiàn) 322