操作系統原理與實現(微課版)
梁洪亮 李文生 徐夢煒
- 出版商: 人民郵電
- 出版日期: 2024-12-01
- 定價: $359
- 售價: 8.5 折 $305
- 語言: 簡體中文
- 頁數: 262
- ISBN: 7115649111
- ISBN-13: 9787115649119
-
相關分類:
Operating-system
下單後立即進貨 (約4週~6週)
相關主題
商品描述
操作系統的發展日新月異。本書詳細講述了現代操作系統的基本概念、發展歷史和關鍵技術,內容包括導論、進程/線程管理、內存管理、文件系統和輸入/輸出、系統保護與安全、綜合案例(Contiki操作系統和鴻蒙操作系統)等。本書的主要特色是以方便讀者理解為核心,既突出重點,又刪繁就簡,將概念描述和實例講解相結合,並在每章最後給出習題,以增強讀者對理論知識的理解和實踐能力。
本書可作為新工科電腦類專業的教材,也可作為信息科技從業人員學習操作系統的參考書。
作者簡介
梁洪亮:
北京郵電大學副教授,博士生導師,主要從事智能系統與可信軟件方面的研究,主持國家自然科學基金、科技部重點研發項目及其他省部委項目20餘項,獲北京市科技進步獎一項;主編過《科技史與方法論》(2016年)等教材;主講操作系統、電腦導論與程序設計、科技史與方法論等本科生核心課程,教學經驗頗豐。
李文生:
北京郵電大學副教授,主講“操作系統”課程,曾獲國家級教學成果獎二等獎、北京市教學成果獎一等獎,獲評北京市師德先進個人;2021年5月獲評教育部課程思政教學名師,作為北郵“操作系統”課程思政建設負責人,通過設計課程思政教學方案與教學案例,率先開展專業課程的思政教學研究,教學效果良好。
目錄大綱
【章名目錄】
第 一篇 導論
第 1章 概述
第二篇 進程/線程管理
第 2章 進程/線程及調度
第3章 同步
第4章 死鎖
第三篇 內存管理
第5章 物理內存
第6章 虛擬存儲
第四篇 文件系統和輸入/輸出
第7章 文件系統
第8章 輸入/輸出系統
第五篇 系統保護與安全
第9章 系統安全接口
第 10章 系統內部保護機制
第六篇 綜合案例
第 11章 Contiki操作系統
第 12章 鴻蒙操作系統
【詳細目錄】
第 一篇 導論
第 1章 概述
1.1 電腦系統簡介 2
1.2 操作系統連接應用程序和硬件 4
1.2.1 操作系統是管理者 4
1.2.2 操作系統是擴展機 5
1.2.3 操作系統是虛擬機 6
1.3 操作系統的組織結構 6
1.3.1 設計目標 7
1.3.2 結構化組織 7
1.3.3 運行時組織結構 8
1.4 操作系統的外部接口 9
1.4.1 硬件接口 9
1.4.2 編程接口 10
1.4.3 用戶接口 12
1.5 操作系統的發展歷史 15
1.5.1 早期操作系統 15
1.5.2 多道編程系統 15
1.5.3 個人電腦系統 16
1.5.4 實時操作系統 17
1.5.5 分佈式操作系統 17
1.5.6 物聯網操作系統 18
1.5.7 國產操作系統的發展 19
1.6 習題 21
第二篇 進程/線程管理
第 2章 進程/線程及調度
2.1 進程 23
2.1.1 進程概念及地址空間 23
2.1.2 進程狀態及其轉換 25
2.2 進程的編程接口 27
2.3 進程的隔離 29
2.4 線程 29
2.5 進程間通信 31
2.5.1 信號 31
2.5.2 消息傳遞 35
2.5.3 共享內存 37
2.6 調度 38
2.6.1 上下文切換和搶占 38
2.6.2 調度策略 39
2.6.3 多處理器和分佈式調度 43
2.6.4 實時調度 44
2.7 習題 46
第3章 同步
3.1 互斥和競爭條件 49
3.2 避免競爭條件產生 50
3.3 信號量 54
3.4 管程和條件變量 56
3.4.1 管程 57
3.4.2 條件變量 58
3.4.3 管程設計的兩種語義 59
3.4.4 讀者和寫者問題 60
3.5 哲學家用餐問題 62
3.6 並發程序中的錯誤及修復 66
3.7 時鐘和時間機制 67
3.7.1 本地時鐘定時器 68
3.7.2 遞減定時器 68
3.8 使用管程實現中斷 69
3.9 習題 72
第4章 死鎖
4.1 系統模型 73
4.1.1 資源圖及其狀態轉換 73
4.1.2 死鎖狀態和安全狀態 75
4.2 死鎖檢測 77
4.2.1 資源圖的簡化 77
4.2.2 死鎖檢測的特殊情況 78
4.2.3 分佈式系統中的死鎖檢測 79
4.3 死鎖避免 81
4.3.1 需求圖 81
4.3.2 銀行家算法 82
4.3.3 銀行家算法的一種實現 84
4.4 死鎖預防 85
4.5 死鎖恢復 87
4.6 習題 88
第三篇 內存管理
第5章 物理內存
5.1 地址轉換 92
5.2 分段內存管理 95
5.3 空閑空間管理 96
5.3.1 使用鏈表管理可變分區 96
5.3.2 使用位圖管理可變分區 99
5.3.3 可變分區的分配策略 100
5.4 為內核動態分配可用空間 100
5.4.1 夥伴內存分配 101
5.4.2 slab分配 102
5.5 分頁內存管理 102
5.6 頁表 103
5.6.1 線性頁表 103
5.6.2 翻譯速查表 107
5.7 段頁式內存管理 109
5.8 習題 110
第6章 虛擬存儲
6.1 虛擬內存和缺頁錯誤 111
6.2 分頁性能 113
6.3 管理交換區域 114
6.4 頁面共享 115
6.5 內核與地址空間 116
6.6 頁面替換 118
6.6.1 頁面替換算法 119
6.6.2 局部替換與全局替換 123
6.7 習題 125
第四篇 文件系統和輸入/輸出
第7章 文件系統
7.1 文件管理的基本功能 127
7.2 文件系統的層次模型 128
7.3 文件的用戶視圖 130
7.3.1 文件名和文件類型 130
7.3.2 文件的邏輯組織 131
7.3.3 其他文件屬性 133
7.3.4 文件操作 133
7.4 文件目錄 134
7.4.1 目錄的層次組織結構 135
7.4.2 目錄操作 138
7.4.3 文件目錄的實現 140
7.5 基本文件系統 143
7.5.1 文件描述符 143
7.5.2 打開和關閉文件 145
7.6 文件的物理組織方法 147
7.6.1 連續組織 147
7.6.2 鏈接組織 148
7.6.3 索引組織 149
7.7 空閑存儲空間的管理 151
7.7.1 鏈接表組織 151
7.7.2 位圖組織 151
7.8 習題 151
第8章 輸入/輸出系統
8.1 設備管理的基本問題 153
8.2 輸入/輸出系統的層次模型 154
8.2.1 塊設備接口 155
8.2.2 流設備接口 156
8.2.3 網絡通信接口 157
8.3 輸入/輸出設備 158
8.3.1 顯示器、鍵盤和定位設備 158
8.3.2 打印機和掃描儀 160
8.3.3 輔助存儲設備 161
8.3.4 存儲盤的性能特性 164
8.3.5 網絡 165
8.4 設備驅動程序 166
8.4.1 設備尋址 167
8.4.2 基於輪詢的可編程輸入/輸出 168
8.4.3 基於中斷的可編程輸入/輸出 170
8.4.4 直接內存訪問 173
8.5 緩沖和高速緩存 174
8.5.1 單緩沖區 175
8.5.2 交換緩沖區 176
8.5.3 環形緩沖區 176
8.5.4 緩沖區隊列 177
8.5.5 緩沖區高速緩存 177
8.6 磁盤調度 179
8.6.1 先來先服務 180
8.6.2 最短尋道時間優先 181
8.6.3 電梯或者掃描算法 181
8.7 錯誤處理與數據備份 182
8.7.1 壞塊的檢測和處理 182
8.7.2 穩定存儲 183
8.7.3 獨立磁盤冗餘陣列 184
8.7.4 設備共享 185
8.8 習題 186
第五篇 系統保護與安全
第9章 系統安全接口
9.1 安全威脅 189
9.1.1 威脅類型 189
9.1.2 攻擊方式 190
9.2 安全保護措施 196
9.2.1 外部安全措施 197
9.2.2 用戶標識鑒別 197
9.2.3 通信安全措施 198
9.2.4 威脅監視 198
9.3 用戶鑒別 198
9.3.1 鑒別方法 198
9.3.2 口令保護 199
9.4 安全通信 202
9.4.1 加密原理 202
9.4.2 密鑰加密系統 203
9.4.3 公鑰加密系統 207
9.5 習題 210
第 10章 系統內部保護機制
10.1 訪問控制 212
10.2 指令級訪問控制 212
10.2.1 寄存器保護 213
10.2.2 內存保護 214
10.3 高層訪問控制 218
10.3.1 訪問矩陣模型 218
10.3.2 訪問列表和權能列表 219
10.3.3 實例:客戶端/服務器保護 225
10.4 信息流控制 226
10.4.1 禁閉問題 226
10.4.2 層次化的信息流 228
10.4.3 選擇禁閉問題 229
10.5 習題 231
第六篇 綜合案例
第 11章 Contiki操作系統
11.1 系統概述 235
11.2 內核架構 237
11.2.1 兩層調度策略 237
11.2.2 可加載程序 237
11.2.3 電量節省 238
11.3 服務 238
11.4 運行時庫 239
11.5 通信支持 239
11.6 搶占式多線程 240
11.7 無線編程 240
11.8 代碼大小和可移植性 241
11.9 從Contiki到Contiki-NG 241
11.10 Contiki-NG架構特點 242
11.11 Contiki-NG網絡支持 243
11.12 Contiki-NG應用示例 244
11.13 習題 246
第 12章 鴻蒙操作系統
12.1 設計目標與實現特色 247
12.1.1 設計目標 247
12.1.2 實現特色 248
12.2 系統架構及實現 249
12.2.1 系統架構 249
12.2.2 內核層 249
12.2.3 系統服務層 256
12.2.4 框架層 257
12.2.5 應用層 258
12.3 HarmonyOS生態 258
12.4 應用程序開發框架 259
12.5 開源社區 259
12.6 習題 260
參考文獻 261