作業系統原理與Linux實踐教程

作業系統原理與Linux實踐教程

《作業系統原理與Linux實踐教程》於2016年1月由電子工業出版社 出版,作者西安電子科技大學博士申豐山。

內容簡介

《作業系統原理與Linux實踐教程》是適用於卓越工程師計算機及相關專業作業系統課程教學的一本教材,理論和實踐並重,實踐與理論對應綜合為一體,本書有效配合師生順利完成作業系統理論和實踐學習任務。

本書全面、系統地闡述了作業系統的重要概念和原理,深入、細緻地剖析了作業系統的組成結構和運行機制,給出了相關概念、原理在Linux作業系統中的實現方法,提供了大量鮮活的套用實例,詳細說明了Linux實驗環境搭建方法,給出了完整可用的Linux C源程式及編譯和運行方法,方便讀者無障礙實驗學習和再創造,為培養具有紮實的專業理論知識和較強實踐能力的高級工程技術人才提供可理解、可實踐的內容和素材。全書共分8章,內容包括:作業系統概論、處理器管理、並發進程的同步、互斥與死鎖、存儲管理、設備管理、檔案管理、作業系統安全機制、多處理機與多計算機作業系統,涵蓋作業系統經典、核心內容及擴展內容。本書配套有圖文動畫PPT、相關原始碼、習題解答等。

本教材理論講授與實驗交替進行,防止學習形式的單調性,保持學生學習興趣。

圖書目錄

第1章 作業系統概論1
1.1 作業系統的資源管理功能和目標1
1.1.1 作業系統的定義1
1.1.2 作業系統在計算機系統中的位置2
1.1.3 作業系統的資源管理技術2
1.1.4 作業系統運行程式的服務3
實驗1 Linux作業系統實驗環境搭建5
1.1.5 作業系統的目標10
1.2 作業系統的功能10
1.3 作業系統的主要特性11
1.3.1 並發性11
1.3.2 共享性12
1.3.3 異步性12
1.3.4 虛擬性13
1.4 作業系統的發展和分類13
1.4.1 作業系統的發展13
1.4.2 作業系統的分類15
1.5 作業系統的用戶接口16
1.5.1 程式接口17
實驗2 Linux程式接口實驗19
1.5.2 操作接口20
實驗3 Linux操作接口實驗21
1.6 作業系統的結構設計25
1.6.1 作業系統的主要構件25
1.6.2 作業系統的結構26
1.6.3 作業系統運行模型27
習題128
第2章 處理器管理30
2.1 處理器30
2.1.1 暫存器30
2.1.2 指令系統、特權指令與非特權指令30
2.1.3 處理器狀態及切換31
2.1.4 程式狀態字暫存器32
2.2 中斷32
2.2.1 中斷概念32
2.2.2 中斷源分類33
2.2.3 中斷處理34
2.3 進程及其實現35
2.3.1 引入進程概念的必要性35
2.3.2 進程定義和屬性35
2.3.3 進程狀態與切換36
2.3.4 進程描述39
2.3.5 進程切換43
2.3.6 模式切換45
2.3.7 進程控制與管理45
實驗4 Linux進程控制實驗47
2.4 執行緒及其實現49
2.4.1 多執行緒的引入49
2.4.2 多執行緒環境中的進程與執行緒50
2.4.3 多執行緒實現方法52
實驗5 結果不**的多執行緒並發運行實例53
實驗6 多執行緒共享資源並發訪問控制54
2.5 處理器調度系統58
2.6 處理器調度算法63
2.6.1 低級調度的功能和類型63
2.6.2 作業調度和低級調度算法64
習題270
第3章 並發進程的同步、互斥與死鎖73
3.1 並發進程73
3.1.1 程式執行的順序性73
3.1.2 程式執行的並發性74
3.1.3 與時間有關的錯誤77
3.1.4 進程的互動79
3.2 臨界區管理79
3.2.1 臨界區調度原則79
3.2.2 實現臨界區管理的幾種錯誤算法80
3.2.3 實現臨界區管理的Peterson算法81
3.2.4 實現臨界區管理的硬體設施82
3.3 同步84
3.3.1 同步與同步機制84
3.3.2 信號量與PV操作85
3.3.3 利用信號量實現互斥87
3.3.4 利用信號量實現進程同步88
3.3.5 Linux系統中的同步互斥功能96
實驗7 使用信號量解決生產者-消費者問題97
3.4 管程100
3.4.1 管程的概念100
3.4.2 管程的實現103
3.4.3 管程的套用106
3.5 進程通信109
3.5.1 管道通信機制109
實驗8 Linux管道通信110
3.5.2 共享記憶體通信機制113
實驗9 Linux共享記憶體通信114
3.5.3 訊息傳遞通信機制118
實驗10 Linux訊息傳遞通信120
3.5.4 套接字通信機制122
實驗11 Linux套接字通信123
3.5.5 信號通信機制125
3.6 死鎖128
3.6.1 死鎖的概念和產生的必要條件128
3.6.2 死鎖防止130
3.6.3 死鎖避免130
3.6.4 死鎖檢測與解除133
習題3135
第4章 存儲管理138
4.1 存儲器層次138
4.2 地址重定位、存儲保護和存儲共享139
4.3 連續存儲管理141
4.3.1 固定分區存儲管理141
4.3.2 可變分區存儲管理143
4.3.3 夥伴系統145
4.3.4 主存不足的輔助存儲管理技術146
4.4 分頁存儲管理146
4.4.1 分頁存儲管理方案146
4.4.2 快表148
4.4.3 分頁存儲空間的分配和釋放149
4.4.4 分頁存儲空間頁面共享與保護150
4.4.5 多級頁表150
4.4.6 反置頁表151
4.5 分段存儲管理152
4.6 虛擬存儲管理155
4.6.1 虛擬存儲器原理155
4.6.2 請求分頁虛擬存儲管理156
習題4166
第5章 設備管理167
5.1 I/O硬體系統167
5.1.1 I/O設備167
5.1.2 I/O控制方式169
5.2 I/O軟體系統172
5.2.1 I/O軟體設計目標172
5.2.2 中斷處理程式173
5.2.3 設備驅動程式173
5.2.4 設備無關I/O軟體176
5.2.5 用戶空間的I/O軟體179
5.3 磁碟管理180
5.3.1 磁碟結構180
5.3.2 磁碟調度算法182
5.4 虛擬設備185
5.4.1 虛擬設備原理185
5.4.2 SPOOLing系統結構186
習題5188
第6章 檔案管理189
6.1 檔案189
6.1.1 檔案概念189
6.1.2 檔案類型和屬性190
6.1.3 檔案存取方法191
6.1.4 檔案操作193
實驗12 Linux檔案操作194
6.2 目錄196
6.2.1 目錄項信息和結構196
6.2.2 目錄層次198
6.2.3 目錄操作199
6.3 檔案結構200
6.3.1 檔案邏輯結構200
6.3.2 檔案物理結構200
6.4 檔案系統功能及實現201
6.4.1 磁碟信息分區201
6.4.2 檔案作業系統調用功能實現202
6.4.3 檔案共享205
6.5 檔案空間管理208
6.5.1 檔案空間分配方法208
6.5.2 檔案外存空間管理212
6.6 記憶體映射檔案216
實驗13 Linux記憶體映射檔案217
6.7 虛擬檔案系統220
習題6222
第7章 作業系統安全224
7.1 作業系統安全概念224
7.1.1 信息安全及威脅224
7.1.2 信息保護226
7.2 信息安全保護機制227
習題7230
第8章 多處理機與多計算機作業系統231
8.1 多處理機作業系統231
8.2 多計算機作業系統232
習題8235
參考文獻236

相關詞條

熱門詞條

聯絡我們