操作系統(tǒng)主要涉及對計算機軟、硬件資源的控制和管理。本書對操作系統(tǒng)的實現(xiàn)原理進行了詳細和深入的分析,力求做到對操作系統(tǒng)闡述的全面性、系統(tǒng)性、準確性和通俗性,以便透徹理解操作系統(tǒng)的設計思想,深化對基本概念的掌握。全書共分6章,主要包括:操作系統(tǒng)引論、處理器管理、進程同步與通信、存儲器管理、設備管理和文件管理。另外,本書結(jié)構(gòu)清晰、內(nèi)容豐富、取材新穎,既強調(diào)知識的實用性,也注重理論的完整性。
胡元義,男,副教授。1978年—1982年,就讀于陜西工商學院計算機軟件專業(yè);1982年—至今,就職于西安理工大學,歷任工程師、高級工程師。主要從事的研究方向有編譯原理、操作系統(tǒng)及數(shù)據(jù)結(jié)構(gòu)等。先后主持《信息學科計算機人才培養(yǎng)模式研究》(2010年校教學研究項目),以及《三本院校人才培養(yǎng)實踐教學模式研究》(2009年陜西省教育廳教學研究項目)。編寫教材共6部,編寫系列教輔書共11部。
目 錄
第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)的運行模型 11
1.3 操作系統(tǒng)的形成與發(fā)展 12
1.3.1 操作系統(tǒng)的形成時期 12
1.3.2 操作系統(tǒng)的成熟時期 15
1.3.3 操作系統(tǒng)的進一步發(fā)展時期 17
1.4 主要操作系統(tǒng)的類型 19
1.4.1 批處理操作系統(tǒng) 19
1.4.2 分時操作系統(tǒng) 20
1.4.3 實時操作系統(tǒng) 21
1.4.4 微機操作系統(tǒng) 23
1.4.5 網(wǎng)絡操作系統(tǒng) 24
1.4.6 多CPU操作系統(tǒng) 25
1.4.7 分布式操作系統(tǒng) 27
1.4.8 嵌入式操作系統(tǒng) 29
1.5 操作系統(tǒng)安全性概述 30
1.5.1 操作系統(tǒng)安全的重要性 30
1.5.2 操作系統(tǒng)的安全觀點 31
1.5.3 實現(xiàn)操作系統(tǒng)安全性的基本技術(shù) 31
1.6 操作系統(tǒng)運行基礎(chǔ) 32
1.6.1 處理器及工作模式 32
1.6.2 中斷技術(shù) 36
1.6.3 系統(tǒng)調(diào)用 40
習題1 42
第2章 處理器管理 47
2.1 進程的概念 47
2.1.1 程序的順序執(zhí)行 47
2.1.2 程序的并發(fā)執(zhí)行 48
2.1.3 進程 50
2.2 進程的狀態(tài)及轉(zhuǎn)換 53
2.2.1 兩狀態(tài)進程模型 53
2.2.2 進程的三態(tài)模型 53
2.2.3 進程的五態(tài)模型 55
2.2.4 進程的掛起 56
2.2.5 進程控制塊 58
2.3 進程控制 60
2.3.1 進程切換 60
2.3.2 進程控制原語 62
2.4 處理器調(diào)度 65
2.4.1 作業(yè)與進程的關(guān)系 66
2.4.2 CPU的三級調(diào)度 67
2.4.3 處理器調(diào)度隊列模型 69
2.4.4 進程調(diào)度的方式和時機 71
2.5 單處理器調(diào)度算法 73
2.5.1 調(diào)度原則 73
2.5.2 常用調(diào)度算法 75
2.5.3 實時調(diào)度 80
2.6 線程 82
2.6.1 線程的引入 82
2.6.2 線程的概念 83
2.6.3 線程與傳統(tǒng)進程的比較 84
2.6.4 線程實現(xiàn)原理 85
習題2 86
第3章 進程同步與通信 93
3.1 進程同步的基本概念 93
3.1.1 并發(fā)進程的關(guān)系 93
3.1.2 進程的互斥與同步 94
3.1.3 臨界資源與臨界區(qū) 95
3.2 進程互斥方法 97
3.2.1 實現(xiàn)進程互斥的硬件方法 97
3.2.2 實現(xiàn)進程互斥的軟件方法 99
3.3 信號量機制 101
3.3.1 信號量 101
3.3.2 使用信號量實現(xiàn)進程互斥 103
3.3.3 使用信號量實現(xiàn)進程同步 105
3.4 經(jīng)典互斥與同步問題 108
3.4.1 生產(chǎn)者?消費者問題 108
3.4.2 哲學家進餐問題 111
3.4.3 讀者-寫者問題 114
3.4.4 睡眠理發(fā)師問題 117
3.5 經(jīng)典互斥與同步問題的應用 119
3.5.1 緩沖區(qū)數(shù)據(jù)傳送問題 119
3.5.2 吃水果問題 120
3.5.3 汽車過橋問題 122
3.6 管程機制 123
3.6.1 條件變量與管程結(jié)構(gòu) 123
3.6.2 生產(chǎn)者-消費者問題的管程解決方法 125
3.6.3 哲學家進餐問題的管程解決方法 127
3.6.4 讀者-寫者問題的管程解決方法 128
3.6.5 睡眠理發(fā)師問題的管程解決方法 129
3.6.6 吃水果問題的管程解決方法 131
3.7 進程通信 132
3.7.1 進程通信的概念 132
3.7.2 共享內(nèi)存通信方式 133
3.7.3 消息緩沖通信方式 134
3.7.4 信箱通信方式 137
3.7.5 管道通信方式 139
3.8 死鎖 140
3.8.1 產(chǎn)生死鎖的原因和必要條件 141
3.8.2 死鎖的預防 145
3.8.3 死鎖的避免 146
3.8.4 死鎖的檢測與解除 152
習題3 155
第4章 存儲管理 163
4.1 程序的鏈接和裝入 163
4.1.1 邏輯地址和物理地址 164
4.1.2 程序鏈接 164
4.1.3 程序裝入 165
4.2 存儲器及存儲管理的基本功能 168
4.2.1 多級存儲器體系 169
4.2.2 內(nèi)存的分配與回收以及地址轉(zhuǎn)換 170
4.2.3 內(nèi)存的共享、保護及擴充 171
4.3 分區(qū)式存儲管理 173
4.3.1 單一連續(xù)分區(qū)存儲管理 173
4.3.2 固定分區(qū)存儲管理 175
4.3.3 可變分區(qū)存儲管理 177
4.3.4 覆蓋與交換技術(shù) 182
4.4 分頁存儲管理 184
4.4.1 分頁存儲管理的基本原理 184
4.4.2 分頁存儲管理的地址轉(zhuǎn)換與存儲保護 186
4.4.3 兩級頁表和多級頁表 189
4.4.4 內(nèi)存物理塊的分配與回收 191
4.5 分段存儲管理 192
4.5.1 分段存儲管理的基本原理 192
4.5.2 分段存儲管理的地址轉(zhuǎn)換與存儲保護 194
4.5.3 分段存儲管理的優(yōu)缺點 197
4.6 段頁式存儲管理 198
4.6.1 段頁式存儲管理的基本原理 198
4.6.2 段頁式存儲管理的地址轉(zhuǎn)換與特點 199
4.7 虛擬存儲管理 201
4.7.1 虛擬存儲器的概念 201
4.7.2 請求分頁存儲管理 203
4.7.3 請求分段存儲管理 212
4.7.4 請求段頁式存儲管理 216
習題4 218
第5章 設備管理 225
5.1 設備管理概述 225
5.1.1 設備的分類 225
5.1.2 設備管理的目標和功能 226
5.2 I/O設備管理系統(tǒng)的組成 228
5.2.1 I/O系統(tǒng)的硬件組織 228
5.2.2 I/O系統(tǒng)的軟件組織 233
5.3 I/O設備控制方式 238
5.3.1 程序直接I/O控制方式 238
5.3.2 程序中斷I/O控制方式 239
5.3.3 直接存儲器存取I/O控制方式 240
5.3.4 I/O通道控制方式 242
5.3.5 四種I/O控制方式的對比 245
5.4 緩沖技術(shù)與虛擬設備技術(shù) 246
5.4.1 緩沖技術(shù) 246
5.4.2 虛擬設備技術(shù) 250
5.5 設備的分配與回收 252
5.5.1 用于設備分配的數(shù)據(jù)結(jié)構(gòu) 252
5.5.2 設備分配 254
5.5.3 設備回收 258
5.6 磁盤存儲器管理 259
5.6.1 存儲設備概述 259
5.6.2 磁盤調(diào)度 260
5.6.3 提高磁盤I/O速度的方法 264
5.6.4 磁盤陣列(RAID) 266
習題5 270
第6章 文件管理 274
6.1 文件系統(tǒng)基本概念 274
6.1.1 文件系統(tǒng)的引入 274
6.1.2 文件與文件系統(tǒng) 275
6.1.3 文件操作 278
6.2 文件的組織結(jié)構(gòu) 280
6.2.1 文件的邏輯結(jié)構(gòu) 280
6.2.2 文件的物理結(jié)構(gòu) 282
6.3 文件目錄 288
6.3.1 文件控制塊與索引節(jié)點 289
6.3.2 目錄結(jié)構(gòu) 290
6.3.3 文件目錄查找 292
6.4 文件存儲空間管理 293
6.4.1 空閑分區(qū)表法 294
6.4.2 空閑塊鏈法 294
6.4.3 位示圖法 296
6.5 文件共享與文件安全 296
6.5.1 早期的文件共享方法 297
6.5.2 目前常用的文件共享方法 298
6.5.3 文件系統(tǒng)的安全 300
6.5.4 文件系統(tǒng)的可靠性 301
6.5.5 文件保護 303
習題6 305
參考文獻 309