實用操作系統教程(第3版)

李建偉 吳江紅 馬梁 劉依 蘇靜 劉明

  • 出版商: 清華大學
  • 出版日期: 2026-08-01
  • 售價: $414
  • 語言: 簡體中文
  • ISBN: 7302723788
  • ISBN-13: 9787302723783
  • 相關分類: Operating-system
  • 下單後立即進貨 (約4週~6週)

  • 實用操作系統教程(第3版)-preview-1
  • 實用操作系統教程(第3版)-preview-2
  • 實用操作系統教程(第3版)-preview-3
實用操作系統教程(第3版)-preview-1

商品描述

操作系統是計算機系統中的核心系統軟件,操作系統課程是計算機專業的一門必修課程。本書深入淺出地闡述了操作系統的基本原理、基本結構、實現技術和運行機制。全書共分9章,依次介紹了操作系統的基本概念、進程(線程)管理、內存管理、I/O設備管理、文件管理及Linux操作系統的相關實現技術。這些知識可為讀者理解、分析和應用操作系統打下堅實的專業基礎。 本書內容講解重點突出、通俗易懂,符合計算機專業“操作系統”課程教學大綱的要求,並涵蓋了全國碩士研究生入學考試計算機學科專業基礎綜合考試大綱中操作系統部分的全部內容,每章後精選了大量典型習題和歷年全國統考真題供讀者練習。

作者簡介

李建偉,工學博士,河北工業大學計算機科學與軟件學院副教授,碩士生導師。本人長期在一線從事計算機專業基礎課程教學工作,具有豐富的教學經驗,是本校操作系統課程負責人,所教授的操作系統課程廣受學生好評,近五年連續獲得學生網上評定的河北工業大學課堂教學優秀教師。2010年獲得河北工業大學第十屆青年教師教學基本功競賽一等獎和天津市高校第十屆青年教師教學基本功競賽三等獎。本人熱愛教學,對教材建設非常重視,使用和閱讀過大量國內外優秀操作系統教材,積累了豐富的教學經驗和學科知識。2011年5月由我主編的《實用操作系統教程》一書在清華大學出版社出版,並入選普通高等教育“十一五”國家級規劃教材。該教材語言通俗易懂,大量運用學生熟知的日常生活管理實例作類比,生動而深刻的表述了操作系統的基本概念和基本原理。同時結合自己的教學體會,突出重點、難點知識的講解,對學生容易忽略的疑點進行詳細闡述,幫助學生少走彎路,節省寶貴的學習時間。該教材由於其實用性強、講解通俗易懂,受到了廣大學生的歡迎,現已被天津科技大學、天津理工大學、合肥工業大學、浙江海洋學院、廣東海洋大學、唐山學院等多所學校選為教材,四年來多次被重印。

目錄大綱

目錄

第1章操作系統概述1

1.1操作系統的概念1

1.1.1計算機系統資源1

1.1.2操作系統的地位3

1.1.3操作系統的定義4

1.1.4操作系統的設計目標5

1.2操作系統的發展歷史與分類7

1.2.1操作系統的發展歷史7

1.2.2操作系統分類10

1.3操作系統的主要功能21

1.4操作系統的主要特征24

1.5操作系統的結構設計27

1.5.1無結構操作系統27

1.5.2模塊化結構操作系統27

1.5.3分層式結構操作系統27

1.5.4虛擬機結構操作系統28

1.5.5微內核結構操作系統29

1.6操作系統的運行環境30

1.6.1操作系統硬件運行環境31

1.6.2操作系統與其他系統軟件關系36

1.7初識Linux操作系統37

1.7.1Linux概述37

1.7.2Linux的內核設計39

1.7.3Linux的引導過程40

1.7.4Linux的系統調用41

習題142

第2章進程與線程管理47

2.1進程的基本概念47

2.1.1程序的執行過程47

2.1.2進程的定義和特征51

2.1.3進程的狀態及狀態轉換54

2.1.4進程控制塊及其組織方式57

2.2進程控制61

2.2.1進程的創建61

2.2.2進程的執行與進程切換63

2.2.3進程的阻塞與喚醒64

2.2.4進程的掛起與激活64

2.2.5進程的撤銷65

2.3線程65

2.3.1進程的局限性66

2.3.2線程及其屬性66

2.3.3線程的狀態與控制70

2.3.4線程之間的同步和通信70

2.3.5線程的實現71

2.3.6多線程模型73

2.4Linux進程管理概述74

2.4.1Linux中的進程及其進程控制塊74

2.4.2Linux中的進程控制79

2.4.3Linux中的線程80

習題280

第3章進程同步與進程間通信83

3.1進程同步和進程互斥83

3.1.1進程同步和進程互斥的基本概念83

3.1.2信號量機制91

3.1.3利用信號量解決進程互斥問題93

3.1.4利用信號量解決進程同步問題94

3.2典型進程同步問題詳解97

3.2.1生產者消費者問題97

3.2.2哲學家就餐問題101

3.2.3讀者寫者問題104

3.3管程機制107

3.3.1為何引入管程107

3.3.2管程的定義108

3.3.3條件變量109

3.3.4管程解決生產者消費者問題109

3.4進程間通信110

3.4.1高級通信的分類111

3.4.2消息傳遞系統112

3.5Linux的進程間通信115

3.5.1管道115

3.5.2信號116

3.5.3消息隊列117

3.5.4信號量117

3.5.5共享內存117

習題3118

第4章處理機調度123

4.1三級調度體系123

4.1.1高級調度124

4.1.2中級調度126

4.1.3低級調度126

4.1.4三級調度的關系127

4.2進程調度的目標和方式128

4.2.1進程調度的目標128

4.2.2進程調度的方式129

4.3調度算法的評價準則130

4.3.1面向用戶的評價準則130

4.3.2面向系統的評價準則131

4.4典型的進程調度算法132

4.4.1先來先服務調度算法132

4.4.2短作業(進程)優先調度算法134

4.4.3最短剩余時間優先調度算法135

4.4.4時間片輪轉調度算法135

4.4.5優先級調度算法137

4.4.6高響應比優先調度算法138

4.4.7多級反饋隊列調度算法139

4.5線程調度算法141

4.5.1用戶級線程調度算法141

4.5.2核心級線程調度算法142

4.6實時調度算法143

4.6.1實時調度算法的目標和所需的必要信息143

4.6.2搶占調度和快速切換機制144

4.6.3典型的實時調度算法144

4.7Linux的進程調度145

習題4147

第5章死鎖152

5.1死鎖的基本概念和產生原因152

5.1.1死鎖的基本概念152

5.1.2產生死鎖的原因154

5.2死鎖的必要條件158

5.3死鎖的處理159

5.3.1死鎖的處理方法159

5.3.2資源分配圖160

5.4死鎖的靜態預防160

5.4.1破壞互斥條件161

5.4.2破壞請求和保持條件161

5.4.3破壞不剝奪條件162

5.4.4破壞環路等待條件162

5.5死鎖的動態避免163

5.5.1系統的安全狀態163

5.5.2銀行家算法164

5.6死鎖的檢測和解除167

5.6.1單體資源類死鎖的檢測算法168

5.6.2多體資源類死鎖的檢測算法168

5.6.3死鎖的解除方法170

5.6.4鴕鳥算法171

5.7線程死鎖171

習題5171

第6章內存管理175

6.1內存管理概述175

6.1.1存儲器的層次結構175

6.1.2內存管理的功能176

6.1.3內存管理的目標177

6.2程序的鏈接和裝入178

6.2.1幾個基本概念178

6.2.2程序的鏈接180

6.2.3程序的裝入181

6.3連續分配存儲管理方式183

6.3.1單一連續分配183

6.3.2固定分區分配183

6.3.3可變分區分配185

6.3.4動態重定位分區分配190

6.4基本分頁存儲管理方式192

6.4.1分頁存儲管理的基本概念193

6.4.2基本分頁管理的地址變換機構194

6.4.3多級頁表196

6.4.4頁面的共享與保護198

6.4.5基本分頁存儲管理優缺點199

6.5基本分段存儲管理方式200

6.5.1分段存儲管理的引入200

6.5.2基本分段管理的地址結構200

6.5.3基本分段管理的地址變換機構201

6.5.4分段的共享與分段保護202

6.5.5基本分段存儲管理的優缺點203

6.5.6分頁存儲管理和分段存儲管理的主要區別203

6.6基本段頁式存儲管理方式203

6.6.1段頁式存儲管理的基本原理與地址變換機構203

6.6.2Intel 80386的段頁式存儲管理機制205

習題6207

第7章虛擬存儲管理211

7.1覆蓋與交換技術211

7.1.1覆蓋技術211

7.1.2交換技術212

7.2虛擬存儲管理214

7.2.1程序局部性原理214

7.2.2虛擬存儲器及其特征215

7.3請求分頁存儲管理方式216

7.3.1請求分頁的硬件支持216

7.3.2請求分頁的軟件支持218

7.3.3頁面替換算法219

7.3.4頁面調度性能223

7.3.5影響缺頁率因素225

7.3.6Belady現象225

7.3.7請求分頁存儲管理的優缺點226

7.4請求分段存儲管理方式227

7.4.1請求分段存儲管理的基本概念227

7.4.2請求分段存儲管理的優缺點229

7.5請求段頁式存儲管理方式230

7.6存儲管理方式總結231

7.7Linux的存儲管理概述231

7.7.1Linux的虛擬內存管理231

7.7.2Linux的物理內存管理236

7.7.3頁面緩存與Swap交換空間239

習題7240

第8章I/O設備管理246

8.1I/O設備管理概述246

8.1.1I/O設備的分類246

8.1.2I/O設備的差異性247

8.1.3I/O設備管理的任務和功能248

8.2I/O的系統249

8.2.1I/O系統的結構249

8.2.2設備控制器251

8.2.3I/O控制方式253

8.3I/O軟件260

8.3.1I/O軟件的設計目標261

8.3.2I/O軟件的層次261

8.3.3各層I/O軟件之間的協同工作機制266

8.4設備分配與回收268

8.4.1設備管理使用的數據結構268

8.4.2設備的分配269

8.4.3設備的回收270

8.4.4SPOOLing系統271

8.5緩沖管理273

8.5.1緩沖的引入273

8.5.2單緩沖274

8.5.3雙緩沖275

8.5.4循環緩沖276

8.5.5緩沖池278

8.6磁盤存儲器的管理279

8.6.1磁盤及其訪問279

8.6.2磁盤調度算法281

8.6.3磁盤高速緩存285

8.7I/O控制287

8.7.1I/O控制的引入287

8.7.2I/O控制的過程287

8.7.3I/O控制的實現288

8.8Linux設備管理288

8.8.1Linux設備管理概述288

8.8.2Linux設備管理中的數據結構290

8.8.3Linux的設備文件291

8.8.4Linux的設備驅動程序293

習題8300

第9章文件系統305

9.1文件的基本概念305

9.1.1文件的概念305

9.1.2文件的屬性及其分類306

9.2文件系統307

9.2.1文件系統的概念307

9.2.2文件系統的組成308

9.3文件的結構311

9.3.1文件的邏輯結構311

9.3.2文件的物理結構314

9.4文件目錄和目錄查詢321

9.4.1文件目錄的概念321

9.4.2文件目錄的結構323

9.4.3目錄查詢技術326

9.5文件存儲空間的管理327

9.5.1文件存儲空間的劃分328

9.5.2文件存儲空間的分配技術328

9.5.3空閑文件存儲器空間的管理方法328

9.6文件的共享與保護332

9.6.1文件的共享332

9.6.2文件的保護333

9.7文件系統的可靠性335

9.7.1文件的可靠性335

9.7.2文件的保密性336

9.8Linux的文件管理337

9.8.1Linux的虛擬文件系統337

9.8.2Linux文件系統的裝卸340

9.8.3常見的Linux文件系統調用341

9.9EXT2文件系統344

習題9346

參考文獻351