作業系統原理[Bic, Shaw編著]

作業系統原理[Bic, Shaw編著]

《作業系統原理》本書詳細講述了從單處理機到分散式和並行計算機系統的基本思想、原則及概念,內容包括進程管理與協作、記憶體管理、檔案系統與輸入輸出、系統保護與安全等。本書不僅從商用作業系統和研究型作業系統中選用了大量的例子來闡述有關的概念,而且針對各部分內容,給出了相應的編程實驗練習,以增強讀者的實際動手能力。本書可用作計算機科學或計算機工程等相關專業的“作業系統”教科書,也可作為從事計算機工作的科技人員學習計算機作業系統的參考書。

基本信息

書籍信息

印次:1-1

ISBN:9787302077244

印刷日期:2003.12.26

圖書目錄

第1章概述1

1.1作業系統的作用1

1.1.1彌補硬體和套用間的差距1

1.1.2作業系統的三種視圖4

1.2作業系統的組織結構8

1.2.1結構化組織9

1.2.2硬體接口10

1.2.3編程接口11

1.2.4用戶接口13

1.2.5運行時組織結構19

1.3作業系統的發展和概念20

1.3.1早期的系統20

1.3.2批處理作業系統21

1.3.3多道程式設計系統22

1.3.4互動式作業系統24

1.3.5個人計算機和工作站作業系統25

1.3.6實時作業系統26

1.3.7分散式作業系統27第1部分進程管理和同步

第2章基本概念:進程及其互動31

2.1進程的概念31

2.2進程定義及實例化32

2.2.1進程間的次序關係33

2.2.2進程的隱式創建35

2.2.3用fork和join顯式地創建進程38

2.2.4進程聲明與類集41

2.3基本的進程互動42

2.3.1競爭:臨界區問題42

2.3.2協作48

2.4信號量49

2.4.1信號量操作與數據49

2.4.2使用信號量實現互斥50

2.4.3生產者/消費者情形中的信號量52

2.5事件同步53第3章高級同步與通信59

3.1共享記憶體的方法59

3.1.1管程60

3.1.2受保護類型64

3.2分散式同步與通信65

3.2.1基於訊息的通信66

3.2.2基於過程的通信70

3.2.3分散式互斥74

3.3其他經典同步問題76

3.3.1讀者/寫者問題76

3.3.2哲學家進餐問題78

3.3.3電梯(調度)算法80

3.3.4使用邏輯時鐘對事件排序82第4章作業系統核心:進程和執行緒的實現90

4.1核心定義與目標90

4.2佇列結構92

4.2.1作業系統中的資源佇列92

4.2.2佇列的實現93

4.3執行緒95

4.4進程與執行緒的實現97

4.4.1進程和執行緒描述符97

4.4.2進程操作的實現102

4.4.3執行緒的操作105

4.5同步與通信機制的實現105

4.5.1信號量和鎖106

4.5.2管程原語109

4.5.3時鐘和時間管理111

4.5.4通信原語116

4.6中斷處理119第5章進程和執行緒調度126

5.1調度器的組織方式126

5.1.1嵌入的和自治的調度器126

5.1.2優先權調度128

5.2調度方法129

5.2.1調度框架129

5.2.2常用調度算法132

5.2.3方法對比137

5.3優先權倒置144

5.4多處理器和分散式調度146第6章死鎖152

6.1可重用資源、可消耗資源上的死鎖152

6.1.1可重用資源和可消耗資源153

6.1.2計算機系統中的死鎖153

6.2處理死鎖問題的方法155

6.3一個系統模型156

6.3.1資源圖156

6.3.2狀態轉換157

6.3.3死鎖狀態和安全狀態158

6.4死鎖檢測160

6.4.1資源圖的簡化160

6.4.2死鎖檢測的特殊情況161

6.4.3分散式系統中的死鎖檢測162

6.5死鎖恢復165

6.5.1進程終止165

6.5.2資源搶占166

6.6動態死鎖避免166

6.6.1需求圖166

6.6.2銀行家算法167

6.7死鎖預防169

6.7.1破壞互斥使用條件170

6.7.2破壞占有並等待條件170

6.7.3破壞循環等待條件171第2部分記憶體管理

第7章物理記憶體177

7.1使程式準備執行177

7.1.1程式轉換177

7.1.2邏輯地址到物理地址的綁定178

7.2記憶體劃分模式182

7.2.1固定分區182

7.2.2可變分區183

7.2.3夥伴系統186

7.3可變分區的分配策略188

記憶體利用率的衡量189

7.4記憶體不足時的管理191

7.4.1記憶體緊湊191

7.4.2交換192

7.4.3覆蓋194第8章虛擬存儲199

8.1虛擬存儲的原理199

8.2虛擬存儲的實現201

8.2.1分頁機制201

8.2.2分段機制206

8.2.3段頁機制208

8.2.4系統表的分頁209

8.2.5變換索引緩衝區211

8.3分頁系統的存儲分配212

8.3.1全局頁面置換算法214

8.3.2局部頁面置換算法220

8.3.3裝載控制和抖動225

8.3.4分頁的評價228第9章主存中數據和代碼的共享236

9.1單一副本的共享236

9.1.1共享的原因236

9.1.2共享的需求237

9.1.3連結與共享239

9.2無虛擬存儲的系統中的共享239

9.3分頁系統中的共享241

9.3.1數據的共享241

9.3.2代碼的共享242

9.4分段系統中的共享244

9.4.1代碼和數據的共享244

9.4.2無限制的動態連結245

9.5分散式共享存儲的原理247

分散式共享存儲的用戶視圖248

9.6分散式共享存儲的實現250

9.6.1實現非結構化的分散式共享存儲250

9.6.2實現結構化的分散式共享存儲255第3部分檔案系統和輸入/輸出

第10章檔案系統261

10.1檔案管理的基本功能261

10.2檔案系統的層次模型262

10.3檔案的用戶視圖264

10.3.1檔案名稱和類型265

10.3.2邏輯檔案的組織結構266

10.3.3其他的檔案屬性269

10.3.4檔案操作269

10.4檔案目錄270

10.4.1層次目錄組織結構271

10.4.2目錄操作276

10.4.3檔案目錄的實現279

10.5基本檔案系統282

10.5.1檔案描述符282

10.5.2打開和關閉檔案283

10.6設備的組織方法286

10.6.1連續組織286

10.6.2連結組織287

10.6.3索引組織288

10.6.4空閒存儲空間的管理289

10.7分散式檔案系統的基本原理291

10.7.1目錄結構和共享291

10.7.2檔案共享的語義294

10.8實現分散式檔案系統295

10.8.1基本結構295

10.8.2高速快取296

10.8.3無狀態的伺服器與有狀態的伺服器297

10.8.4檔案複製300第11章輸入/輸出系統307

11.1設備管理中的基本問題307

11.2輸入/輸出系統的一種層次模型309

輸入/輸出系統接口310

11.3輸入/輸出設備312

11.3.1用戶終端312

11.3.2印表機和掃瞄器314

11.3.3輔助存儲設備315

11.3.4盤的性能特性318

11.3.5網路320

11.4設備驅動程式321

11.4.1記憶體映像與明確的設備接口322

11.4.2使用輪詢的可程式輸入/輸出323

11.4.3使用中斷的可程式輸入/輸出326

11.4.4直接記憶體訪問329

11.5設備管理331

11.5.1緩衝和高速快取331

11.5.2錯誤處理337

11.5.3磁碟調度341

11.5.4設備共享343第4部分保護和安全

第12章保護和安全接口349

12.1安全威脅349

12.1.1危害種類350

12.1.2易受攻擊/傷害的資源351

12.1.3攻擊類型351

12.2保護系統應有的功能358

12.2.1外部安全措施358

12.2.2用戶標識鑑別358

12.2.3通信安全措施359

12.2.4威脅監視360

12.3用戶鑑別360

12.3.1鑑別方法360

12.3.2口令361

12.4安全通信365

12.4.1加密原理365

12.4.2密鑰加密366

12.4.3公鑰加密系統370第13章內部保護機制378

13.1訪問控制環境378

13.2指令級訪問控制379

13.2.1暫存器和輸入/輸出保護379

13.2.2主存保護380

13.3高層訪問控制385

13.3.1訪問矩陣模型385

13.3.2訪問列表和權能列表386

13.3.3一個綜合實例:客戶端/伺服器保護393

13.3.4組合使用訪問列表和權能列表395

13.4信息流控制396

13.4.1禁閉問題396

13.4.2層次化的信息流398

13.4.3選擇禁閉問題399第5部分程式設計項目

I進程/執行緒的同步407

1項目概述407

2創建競爭條件407

3臨界區問題的解決方法408

3.1使用互斥鎖的解決方法409

3.2軟體解決方法409

4實現一般信號量409

4.1使用互斥鎖和條件變數的解決方法409

4.2軟體解決方法410

5有界緩衝區410

6具體任務總結410

7附加任務的建議411II進程和資源管理412

1項目概述412

2進程和資源的基本管理器412

2.1進程狀態412

2.2進程的表示413

2.3資源的表示413

2.4對進程和資源的操作414

2.5調度函式415

2.6演示shell程式416

3擴充的進程和資源管理器417

3.1逾時中斷417

3.2輸入/輸出處理418

3.3擴充的shell419

4具體任務總結419

5附加任務的建議420III記憶體管理421

1項目概述421

2記憶體管理器421

2.1記憶體421

2.2用戶接口422

3模擬試驗422

3.1產生請求的大小423

3.2收集有關性能的數據424

3.3選擇要釋放的記憶體塊424

4具體任務總結424

5附加任務的建議424IV頁面置換算法426

1項目概述426

2全局頁面置換算法426

3局部頁面置換算法427

4產生引用串428

5性能評價429

6具體任務總結430

7附加任務的建議430V檔案系統431

1項目概述431

2輸入/輸出系統431

3檔案系統432

3.1用戶和檔案系統之間的接口432

3.2檔案系統的組織433

3.3目錄433

3.4創建和刪除檔案433

3.5打開和關閉檔案434

3.6在檔案中讀、寫和搜尋434

3.7列出目錄435

4演示 shell程式435

5具體任務總結436

6附加任務的建議436VI其他編程項目437

1定時器工具437

2進程調度437

3銀行家算法438

4磁碟調度算法438

5穩定存儲439術語表440

相關詞條

熱門詞條

聯絡我們