操作系統原理與實現(微課版)

梁洪亮 李文生 徐夢煒

  • 出版商: 人民郵電
  • 出版日期: 2024-12-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 262
  • ISBN: 7115649111
  • ISBN-13: 9787115649119
  • 相關分類: Operating-system
  • 下單後立即進貨 (約4週~6週)

  • 操作系統原理與實現(微課版)-preview-1
  • 操作系統原理與實現(微課版)-preview-2
操作系統原理與實現(微課版)-preview-1

相關主題

商品描述

操作系統的發展日新月異。本書詳細講述了現代操作系統的基本概念、發展歷史和關鍵技術,內容包括導論、進程/線程管理、內存管理、文件系統和輸入/輸出、系統保護與安全、綜合案例(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