基本信息
作業系統原理與Linux實例設計(第2版)
叢書名 :軟體工程系列規劃教材
作 譯 者:蒲曉蓉,周瑞,李玉軍 等
出版時間:2014-06
千 字 數:455
版 次:01-01
頁 數:284
開 本:16(185*260)
I S B N :9787121232046
內容簡介
本書從原理性和實用性出發,以現代作業系統原理為基礎,較深入地介紹Linux作業系統中的部分功能實現與套用編程技術。全書共6章,主要內容包括:概述、進程的並發控制、存儲管理、設備管理、檔案管理系統及嵌入式作業系統。本書提供多媒體電子課件和習題解答。
目錄信息
第1章 概述 1
1.1 計算機系統資源與作業系統 1
1.2 作業系統的發展 4
1.2.1 推動作業系統發展的關鍵因素 4
1.2.2 作業系統發展的幾個典型轉變 5
1.2.3 作業系統的進一步發展 7
1.3 現代作業系統的設計概述 8
1.3.1 作業系統的功能性需求 8
1.3.2 作業系統的非功能性需求 12
1.3.3 作業系統依賴的硬體平台 13
1.3.4 作業系統的體系結構 14
1.3.5 作業系統中的關鍵數據結構 17
1.4 Linux作業系統簡介 18
1.4.1 Linux的起源及特性 18
1.4.2 Linux系統運行的基本硬體平台 19
1.4.3 主流Linux作業系統版本簡介 19
1.5 Linux的系統調用分析 21
1.5.1 系統調用的含義 21
1.5.2 系統調用的作用 21
1.5.3 系統調用的工作原理 22
1.5.4 Linux系統調用的相關數據結構 22
1.5.5 Linux新型快速系統調用機制簡析 23
1.6 Linux的系統調用設計 24
1.6.1 添加一個系統調用 24
1.6.2 系統調用測試 26
1.6.3 系統調用過程分析 26
習題 29
第2章 進程的並發控制 30
2.1 並發、程式與進程 30
2.1.1 並發概述 30
2.1.2 程式的順序執行與並發執行 31
2.1.3 進程及其運行環境 33
2.2 進程的狀態轉換 35
2.2.1 五狀態進程模型 35
2.2.2 進程的掛起狀態與七狀態進程模型 37
2.2.3 Linux的進程及其狀態轉換 39
2.3 作業系統對進程的控制 41
2.3.1 作業系統核心 41
2.3.2 進程的構成及進程的組織 43
2.3.3 進程控制塊 44
2.3.4 作業系統對進程的控制 47
2.3.5 Linux對進程的控制 50
2.3.6 Linux的核心機制 52
2.4 執行緒——另一種並發實體 55
2.4.1 進程與執行緒 55
2.4.2 多執行緒並發 56
2.4.3 執行緒的類型 57
2.4.4 Linux的進程與執行緒管理 58
2.5 進程調度 59
2.5.1 調度的目標、原則和方式 60
2.5.2 調度的類型 61
2.5.3 進程調度算法 63
2.5.4 實時系統與實時任務調度 66
2.5.5 Linux的進程調度分析 69
2.5.6 Linux下時鐘中斷與進程調度的關係 75
2.6 進程並發控制:互斥與同步 77
2.6.1 並發控制 77
2.6.2 互斥與同步的解決策略 80
2.6.3 互斥/同步問題:生產者/消費者問題 89
2.6.4 互斥/同步問題:讀者/寫者問題 92
2.6.5 Linux通信實例 94
2.6.6 Linux信號量分析 97
2.7 進程死鎖 99
2.7.1 進程死鎖的原因 100
2.7.2 解決死鎖的方法 101
2.7.3 預防死鎖 102
2.7.4 避免死鎖 103
2.7.5 檢測並解除死鎖 107
2.8 死鎖問題:哲學家進餐問題 108
習題 110
第3章 存儲管理 113
3.1 存儲管理子系統概述 113
3.1.1 存儲分配 113
3.1.2 地址映射 114
3.1.3 存儲保護 116
3.1.4 存儲共享 116
3.1.5 存儲擴充 117
3.2 簡單存儲管理技術 117
3.2.1 簡單存儲分區技術 117
3.2.2 簡單存儲分頁技術 121
3.2.3 簡單存儲分段技術 125
3.2.4 簡單存儲段頁式技術 127
3.3 虛擬存儲管理技術 129
3.3.1 虛擬存儲技術概述 129
3.3.2 虛擬存儲分頁技術 131
3.3.3 虛擬存儲分段技術 132
3.3.4 虛擬存儲段頁式技術 133
3.3.5 虛擬存儲系統的軟體策略 134
3.4 Linux的虛擬記憶體管理 143
3.4.1 80386分段機制在Linux系統中的實現 144
3.4.2 80386的分頁機制在Linux系統中的實現 148
3.4.3 Linux虛擬記憶體管理的實現 152
3.5 Linux存儲器管理案例分析 157
3.5.1 共享存儲分析 157
3.5.2 共享存儲的修改與測試 172
習題 175
第4章 設備管理 177
4.1 設備管理子系統概述 177
4.1.1 設備管理的主要功能 177
4.1.2 設備管理分層模型 178
4.1.3 I/O控制方式 179
4.2 設備分配 180
4.2.1 相關的數據結構 180
4.2.2 設備分配算法 182
4.3 I/O緩衝技術 184
4.4 虛擬設備 186
4.5 磁碟設備的管理 189
4.6 Linux的設備管理 193
4.6.1 Linux驅動程式的設計框架 194
4.6.2 Linux核心模組驅動程式設計 198
4.6.3 驅動程式測試 203
習題 204
第5章 檔案管理系統 205
5.1 檔案管理子系統概述 205
5.2 檔案目錄 206
5.3 檔案的邏輯組織與訪問 208
5.4 檔案的物理組織 211
5.4.1 檔案存儲空間的分配技術 213
5.4.2 空閒空間的管理 217
5.5 Linux的虛擬檔案系統 219
5.5.1 VFS檔案系統的作用 220
5.5.2 VFS檔案系統中的數據結構 220
5.5.3 主要數據結構間的關係 229
5.6 檔案系統分析與設計 229
5.6.1 檔案系統的操作集 230
5.6.2 物理檔案系統的註冊 235
5.6.3 檔案系統的安裝 238
5.6.4 檔案系統的設計與測試 241
習題 245
第6章 嵌入式作業系統 246
6.1 嵌入式作業系統概述 246
6.1.1 無處不在的嵌入式系統 246
6.1.2 嵌入式軟體系統 247
6.1.3 嵌入式作業系統及其特點 248
6.1.4 嵌入式作業系統的結構 249
6.1.5 嵌入式實時核心和擴展組件 251
6.2 任務管理與調度 251
6.2.1 任務及其管理 251
6.2.2 任務調度 252
6.3 任務間的同步、互斥與通信 254
6.3.1 信號量 254
6.3.2 事件 256
6.3.3 異步信號 256
6.3.4 訊息佇列 256
6.3.5 管道 257
6.4 中斷管理 258
6.4.1 中斷處理過程 258
6.4.2 中斷嵌套 259
6.5 時鐘管理 260
6.5.1 實時時鐘和系統時鐘 260
6.5.2 時間管理 260
6.6 記憶體與設備管理 261
6.6.1 記憶體管理 261
6.6.2 設備管理 263
6.7 嵌入式檔案系統 264
6.8 嵌入式作業系統與通用作業系統的比較 265
6.9 代表性嵌入式作業系統 265
6.9.1 VxWorks 266
6.9.2 Windows Phone 267
6.9.3 Embedded Linux 267
6.9.4 Symbian 267
6.9.5 iOS系統 268
6.9.6 Android系統 268
習題 275
參考文獻 276