作業系統實用教程(第三版)

作業系統實用教程(第三版)

《作業系統實用教程(第三版)》是2015年出版的圖書,作者是任愛華、王雷、羅曉峰、阮利。

基本介紹

  • 中文名:作業系統實用教程(第三版)
  • 外文名:Operating system practical tutorial (third edition)
  • 出版日期:2012年12月1日
  • 出版社:清華出版社
  • 定價:43元
  • 印刷日期:2015年1月7日
  • 作者:任愛華、王雷、羅曉峰、阮利
  • 章節:全書分9個章節
  • 印次:3-3
  • 裝幀:平裝
  • ISBN:9787302243601
內容簡介,目錄,

內容簡介

本書著重講述作業系統的概念和設計原理,旨在說明為什麼要有作業系統,作業系統是如何構成的,以及作業系統是如何設計的。
全書共分9章。第1章概論,介紹作業系統的定義、發展、現狀以及它在計算機系統中的重要作用。第2章介紹作業系統用戶接口,即用戶使用作業系統的界面。第3章至第7章主要討論作業系統的使用。第8章至第9章介紹作業系統的安全

目錄

第1章概論 1
1.1計算機與作業系統 1
1.1.1計算機發展簡介 1
1.1.2作業系統的發展 5
1.1.3存儲程式式計算機的結構和特點 20
1.2作業系統的基本概念 22
1.2.1作業系統的定義及其在計算機系統中的地位 22
1.2.2作業系統的功能 24
1.2.3作業系統的特性及其應解決的基本問題 26
1.3作業系統的總體框架 29
1.3.1計算機系統的層次劃分 29
1.3.2作業系統提供的抽象計算環境 31
1.3.3作業系統的總體結構 32
1.3.4支撐作業系統的知識框架 43
1.4從不同角度刻畫作業系統 43
1.4.1用戶觀點 43
1.4.2資源管理觀點 44
1.4.3進程觀點 45
1.4.4模組分層觀點 46
1.5安全作業系統 47
1.5.1主要的安全評價準則 47
1.5.2可信計算機系統安全評價準則TCSEC 49
1.5.3安全標準套用分析 51
1.6小結 52
1.7習題 53
第2章作業系統接口 55
2.1概述 55
2.1.1系統調用 55
2.1.2shell命令及其解釋程式 60
2.2Linux的安裝 70
2.2.1安裝前的準備 70
2.2.2建立硬碟分區 71
2.2.3安裝類型 72
2.2.4安裝過程 73
2.2.5作業系統的安裝概念 73
2.3Linux的使用 74
2.3.1使用常識 74
2.3.2檔案操作命令 75
2.3.3文本編輯命令 83
2.3.4shell的特殊字元 86
2.3.5進程控制命令 90
2.3.6網路配置和網路套用工具 92
2.3.7在線上幫助 96
2.4系統管理 96
2.4.1超級用戶 97
2.4.2用戶和用戶組管理 97
2.4.3檔案系統管理 100
2.4.4Linux原始碼檔案安置的目錄結構 104
2.5小結 104
2.6習題 104
第3章進程機制與並發程式設計 106
3.1概述 106
3.2進程的基本概念 107
3.2.1計算機執行程式的最基本方式——單道程式的執行 107
3.2.2多個程式駐留記憶體——多個程式依次順序執行 107
3.2.3進程的概念和結構——多個程式並發執行 107
3.2.4進程的定義 110
3.3進程的狀態和進程控制塊 112
3.3.1進程的狀態及狀態轉化 112
3.3.2進程控制塊 114
3.4進程控制 115
3.4.1原語 115
3.4.2進程控制原語 116
3.5執行緒的基本概念 116
3.5.1執行緒的引入 117
3.5.2執行緒與進程的比較 117
3.6進程調度 118
3.6.1進程調度的職能 118
3.6.2進程調度算法 119
3.6.3調度時的進程狀態圖 122
3.7進程通信 123
3.7.1臨界資源和臨界區 123
3.7.2進程的通信方式之一——同步與互斥 123
3.7.3兩個經典的同步/互斥問題 126
3.7.4結構化的同步/互斥機制——管程 129
3.7.5進程的通信方式之二——訊息緩衝 131
3.8死鎖 133
3.8.1死鎖的原因和必要條件 133
3.8.2預防死鎖 135
3.8.3發現死鎖 138
3.8.4解除死鎖 139
3.9Linux中的進程 141
3.9.1Linux進程控制塊PCB簡介 141
3.9.2進程的創建 147
3.9.3進程調度 149
3.9.4進程的退出與消亡 151
3.9.5相關的系統調用 151
3.9.6信號 153
3.9.7信號量與PV操作 155
3.9.8等待佇列 156
3.9.9管道 157
3.9.10Linux核心體系結構 158
3.10並發程式設計實例 159
3.11小結 161
3.12習題 161
第4章存儲管理 162
4.1概述 162
4.2存儲體系 162
4.3存儲管理的功能 163
4.4分區存儲管理 167
4.4.1固定式分區 167
4.4.2可變式分區 168
4.4.3分區管理方案的優缺點 173
4.5頁式存儲管理 173
4.5.1基本思想 173
4.5.2地址轉換 174
4.5.3頁式存儲管理的優缺點 178
4.6段式存儲管理 179
4.6.1段式存儲管理技術的提出 179
4.6.2段式地址轉換 179
4.7段頁式存儲管理 180
4.8覆蓋與交換技術 182
4.8.1覆蓋技術 182
4.8.2交換技術 183
4.9虛擬存儲管理 184
4.9.1局部性原理 184
4.9.2虛擬頁式存儲管理 186
4.10用戶編程中的記憶體管理實例分析 192
4.11Linux記憶體管理概述 196
4.11.1基本思想 196
4.11.2Linux中的頁表 196
4.11.3記憶體的分配和釋放 198
4.11.4記憶體映射和需求分頁 199
4.11.5記憶體交換 201
4.11.6頁目錄和頁表的數據結構表示 201
4.12小結 202
4.13習題 203
第5章輸入/輸出系統 204
5.1概述 204
5.2I/O硬體 204
5.2.1循環等待(忙等待) 206
5.2.2中斷 207
5.2.3直接記憶體訪問 211
5.2.4通道 214
5.2.5I/O硬體小結 215
5.3I/O軟體 216
5.3.1應用程式的I/O接口 216
5.3.2核心I/O子系統 221
5.3.3把I/O請求轉換為硬體操作 227
5.3.4流 229
5.3.5性能 230
5.3.6設備分配 233
5.3.7I/O進程控制 236
5.4Linux輸入/輸出系統概述 238
5.4.1簡介 238
5.4.2Linux輸入/輸出的過程 238
5.4.3Linux設備管理基礎 239
5.4.4Linux的中斷處理 243
5.4.5設備驅動程式的框架 244
5.4.6並口列印設備驅動程式 247
5.4.7Linux輸入/輸出實現層次及數據結構 250
5.5小結 251
5.6習題 253
第6章檔案系統 255
6.1概述 255
6.2檔案系統的概念 255
6.2.1檔案 255
6.2.2目錄 258
6.2.3檔案系統 260
6.3實現檔案 262
6.3.1檔案的結構 262
6.3.2檔案的組成和檔案控制塊 265
6.3.3檔案共享機制 267
6.3.4活動檔案表和活動符號名表 268
6.3.5檔案的存取方法 270
6.3.6檔案的使用與控制 270
6.4實現目錄 272
6.4.1單級目錄結構 272
6.4.2兩級目錄結構 273
6.4.3多級目錄結構 273
6.5磁碟空間管理 276
6.5.1空閒盤區鏈 276
6.5.2空閒盤區目錄 276
6.5.3位示圖 276
6.6檔案系統的結構和工作流程 277
6.6.1檔案系統的層次結構 277
6.6.2檔案系統的工作流程 280
6.7檔案系統的安全性和保護機制 281
6.7.1檔案存取控制矩陣 282
6.7.2檔案存取控制表 282
6.7.3用戶許可權表 283
6.7.4檔案口令 283
6.7.5檔案加密 283
6.8Linux檔案系統 284
6.8.1虛擬檔案系統 284
6.8.2ext2檔案系統 290
6.8.3Linux檔案系統管理 294
6.8.4Linux系統調用 297
6.8.5Linux檔案系統的數據結構 304
6.9小結 306
6.10習題 307
第7章磁碟存儲管理 308
7.1概述 308
7.2磁碟結構 308
7.2.1磁碟 308
7.2.2磁碟種類 309
7.2.3磁碟訪問時間 309
7.3磁碟調度 310
7.3.1先來先服務(FCFS) 311
7.3.2最短尋道時間優先(SSTF) 311
7.3.3各種掃描算法 311
7.3.4磁碟調度算法的選擇 313
7.4磁碟格式化 313
7.5廉價冗餘磁碟陣列 314
7.5.1利用冗餘技術提高可靠性 314
7.5.2利用並行提高性能 315
7.5.3RAID層次 316
7.6高速快取管理 320
7.6.1磁碟高速快取的形式 320
7.6.2數據交付 321
7.6.3置換算法 321
7.6.4周期性寫回磁碟 322
7.6.5提高磁碟I/O速度的其他方法 322
7.7存儲可靠性的實現 323
7.8小結 324
7.9習題 324
第8章系統安全 325
8.1概述 325
8.2安全問題 325
8.2.1程式威脅 327
8.2.2系統和網路威脅 335
8.3保護機制 339
8.3.1保護的原則 339
8.3.2保護域 340
8.3.3訪問矩陣 343
8.3.4訪問矩陣的實現 346
8.3.5訪問控制 348
8.3.6訪問權的撤銷 348
8.3.7基於能力的系統 350
8.3.8基於語言的保護 351
8.4加密技術 355
8.4.1加密 356
8.4.2加密技術的實現 361
8.4.3SSL的加密機制 363
8.5用戶認證 364
8.5.1密碼 364
8.5.2密碼的缺點 365
8.5.3加密的密碼 366
8.5.4一次性密碼 366
8.5.5生物計量方法 367
8.6安全防禦 368
8.6.1安全策略 368
8.6.2漏洞評估 368
8.6.3入侵檢測 369
8.6.4病毒防護 371
8.6.5防火牆 372
8.6.6審查、記賬和記錄 373
8.7計算機安全分類 374
8.8WindowsXP的安全特性 375
8.9小結 376
8.10習題 377
第9章其他類型作業系統 379
9.1多媒體系統 379
9.1.1BeOS作業系統 379
9.1.2WindowsXPMediaCenterEdition 381
9.2多處理機系統 383
9.2.1多處理機 383
9.2.2集群系統 388
9.2.3分散式系統 392
9.3實時作業系統 396
9.3.1實時系統簡介 396
9.3.2實時作業系統簡介 397
9.3.3實例介紹 400
9.4小結 402
9.5習題 403
附錄 404
附錄ALinux常用命令 404
A.1常用檔案和目錄操作命令 404
A.2檔案壓縮和文檔命令 409
A.3檔案系統命令 410
A.4DOS兼容命令 411
A.5系統狀態命令 412
A.6用戶管理命令 413
A.7網路服務的用戶命令 414
A.8網路管理員命令 415
A.9進程管理命令 416
A.10自動任務命令 417
A.11高效命令 418
A.12shell命令 418
A.13列印命令 419
附錄B作業系統實例 419
B.1實時作業系統RTLinux 419
B.1.1簡介 419
B.1.2RTLinux安裝 423
B.1.3編寫RTLinux程式 425
B.2集群及PVM 428
B.2.1集群的概念 428
B.2.2PVM的產生和發展 428
B.2.3PVM的特點 428
B.2.4PVM的系統組成 429
B.2.5PVM的安裝和使用 430
附錄C雲計算與GoogleAppEngine 431
C.1格線計算與雲計算 431
C.2GoogleAppEngine 433
C.2.1GoogleAppEngine引言 433
C.2.2GoogleAppEngine的使用 433
C.3GoogleAppEngine開發環境的安裝 434
C.3.1安裝SDK 434
C.3.2創建一個GAE賬戶 439
C.4使用GoogleAppEngine的開發實例 441
參考文獻 447

相關詞條

熱門詞條

聯絡我們