計算機作業系統教程(第3版)

計算機作業系統教程(第3版)

《計算機作業系統教程(第3版)》是2006年10月清華大學出版社出版的圖書,作者是張堯學、史美林、張高。

內容簡介

作業系統是現代計算機系統中必不可少的基本系統軟體,也是計算機專業的必修課程和從事計算機套用人員必不可少的知識。 本書是編著者在清華大學計算機系多年教學和科研的基礎上對其第2版改編而成的。主要內容包括作業系統用戶界面、進程與執行緒管理、處理機管理、記憶體管理、檔案系統與設備管理等基本原理及Linux和Windows兩個主流作業系統的核心介紹。與第2版相比,本書進一步深入淺出地對作業系統基本原理進行了描述,而且,本書更進一步強調了學生對當前主流作業系統的了解。因此,本書去掉了第2版中的作業系統示例UNIX System V,換之為Linux 2.4和Windows NT。 全書共11章。

圖書目錄

第1章緒論/1

1.1作業系統概念/1

1.2作業系統的歷史/2

1.2.1手工操作階段/3

1.2.2早期批處理/3

1.2.3多道程式系統/6

1.2.4分時作業系統/6

1.2.5實時作業系統/7

1.2.6通用作業系統/7

1.2.7作業系統的進一步發展/8

1.3作業系統的基本類型/8

1.3.1批處理作業系統/8

1.3.2分時系統/9

1.3.3實時系統/10

1.3.4通用作業系統/10

1.3.5個人計算機上的作業系統/10

1.3.6網路作業系統/11

1.3.7分散式作業系統/11

1.4作業系統功能/12

1.4.1處理機管理/12

1.4.2存儲管理/13

1.4.3設備管理/13

1.4.4信息管理(檔案系統管理)/13

1.4.5用戶接口/14

1.5計算機硬體簡介/14

1.5.1計算機的基本硬體元素/14

1.5.2與作業系統相關的幾種主要暫存器/15

1.5.3存儲器的訪問速度/16

1.5.4指令的執行與中斷/17

1.5.5作業系統的啟動/18

1.6算法的描述/18

1.7研究作業系統的幾種觀點/19

1.7.1作業系統是計算機資源的管理者/20

1.7.2用戶界面的觀點/20

1.7.3進程管理的觀點/20

習題/21

第2章作業系統用戶界面/22

2.1簡介/22

2.2一般用戶的輸入輸出界面/23

2.2.1作業的定義/23

2.2.2作業組織/24

2.2.3一般用戶的輸入輸出方式/24

2.3命令控制界面/26

2.4Linux與Windows的命令控制界面/28

2.4.1Linux的命令控制界面/28

2.4.2Windows的命令控制界面/29

2.5系統調用/32

2.6Linux和Windows的系統調用/33

2.6.1Linux系統調用/33

2.6.2Windows系統調用/34

本章小結/36

習題/36

第3章進程管理/38

3.1進程的概念/38

3.1.1程式的並發執行/38

3.1.2進程的定義/42

3.2進程的描述/43

3.2.1進程控制塊PCB/43

3.2.2進程上下文/45

3.2.3進程上下文切換/46

3.2.4進程空間與大小/47

3.3進程狀態及其轉換/47

3.3.1進程狀態/47

3.3.2進程狀態轉換/48

3.4進程控制/48

3.4.1進程創建與撤銷/49

3.4.2進程的阻塞與喚醒/50

3.5進程互斥/51

3.5.1資源共享所引起的制約/51

3.5.2互斥的加鎖實現/54

3.5.3信號量和P,V原語/55

3.5.4用P,V原語實現進程互斥/58

3.6進程同步/59

3.6.1同步的概念/59

3.6.2私用信號量/61

3.6.3用P,V原語操作實現同步/61

3.6.4生產者消費者問題/62

3.7進程通信/63

3.7.1進程的通信方式/63

3.7.2訊息緩衝機制/65

3.7.3信箱通信/66

3.7.4進程通信的實例——和控制台的

通信/67

3.7.5進程通信的實例——管道/70

3.8死鎖問題/73

3.8.1死鎖的概念/73

3.8.2死鎖的排除方法/74

3.9執行緒的概念/76

3.9.1為什麼要引入執行緒/76

3.9.2執行緒的基本概念/77

3.9.3執行緒與進程的區別/78

3.9.4執行緒的適用範圍/78

3.10執行緒分類與執行/80

3.10.1執行緒的分類/80

3.10.2執行緒的執行特性/81

本章小結/82

習題/83

第4章處理機調度/85

4.1分級調度/86

4.1.1作業的狀態及其轉換/86

4.1.2調度的層次/87

4.1.3作業與進程的關係/87

4.2作業調度/88

4.2.1作業調度功能/88

4.2.2作業調度目標與性能衡量/89

4.3進程調度/91

4.3.1進程調度的功能/91

4.3.2進程調度的時機/92

4.3.3進程調度性能評價/92

4.4調度算法/93

4.5算法評價/97

4.5.1FCFS方式的調度性能分析/97

4.5.2輪轉法調度性能評價/101

4.5.3線性優先權法的調度性能/101

4.6實時系統調度方法/103

4.6.1實時系統的特點/103

4.6.2實時調度算法的分類/104

4.6.3時限調度算法與頻率單調調度

算法/105

本章小結/107

習題/108

第5章存儲管理/109

5.1存儲管理的功能/109

5.1.1虛擬存儲器/109

5.1.2地址變換/110

5.1.3內外存數據傳輸的控制/112

5.1.4記憶體的分配與回收/113

5.1.5記憶體信息的共享與保護/113

5.2分區存儲管理/114

5.2.1分區管理基本原理/114

5.2.2分區的分配與回收/117

5.2.3有關分區管理其他問題的討論/120

5.3覆蓋與交換技術/121

5.3.1覆蓋技術/121

5.3.2交換技術/122

5.4頁式管理/123

5.4.1頁式管理的基本原理/123

5.4.2靜態頁面管理/124

5.4.3動態頁式管理/127

5.4.4請求頁式管理中的置換算法/129

5.4.5存儲保護/132

5.4.6頁式管理的優缺點/132

5.5段式與段頁式管理/133

5.5.1段式管理的基本思想/133

5.5.2段式管理的實現原理/133

5.5.3段式管理的優缺點/138

5.5.4段頁式管理的基本思想/138

5.5.5段頁式管理的實現原理/138

5.6局部性原理和抖動問題/140

本章小結/143

習題/144

第6章進程與存儲管理示例/145

6.1Linux進程和存儲管理簡介/145

6.2Linux進程結構/148

6.2.1進程的概念/148

6.2.2進程的虛擬地址結構/149

6.2.3進程上下文/150

6.2.4進程的狀態和狀態轉換/152

6.2.5小結/154

6.3進程控制/154

6.3.1Linux啟動及進程樹的形成/154

6.3.2進程控制/156

6.4Linux進程調度/159

6.5進程通信/161

6.5.1Linux的低級通信/161

6.5.2進程間通信IPC/163

6.6Linux存儲管理/171

6.6.1虛存空間和管理/171

6.6.2請求調頁技術/173

本章小結/175

習題/176

第7章Windows的進程與記憶體管理/177

7.1WindowsNT的特點及相關的概念/177

7.1.1WindowsNT體系結構的特點/177

7.1.2Windows的管理機制/177

7.2Windows進程和執行緒/180

7.2.1Windows的進程和執行緒的定義/180

7.2.2進程和執行緒的關聯/180

7.2.3Windows進程的結構/181

7.2.4Windows執行緒的結構/182

7.2.5Windows進程和執行緒的創建/183

7.3Windows處理器調度機制/184

7.3.1調度優先權/184

7.3.2執行緒狀態/185

7.3.3執行緒調度機制/186

7.4Windows的記憶體管理/187

7.4.1記憶體管理器/188

7.4.2記憶體管理的機制/188

7.5虛擬地址空間/189

7.5.1虛擬地址空間布局/189

7.5.2虛擬地址轉換/191

7.6頁面調度/193

7.6.1缺頁處理/193

7.6.2工作集及頁面調度策略/193

7.6.3頁框號和物理記憶體管理/194

本章小結/195

習題/195

第8章檔案系統/197

8.1檔案系統的概念/197

8.2檔案的邏輯結構與存取方法/200

8.2.1邏輯結構/200

8.2.2存取方法/202

8.3檔案的物理結構與存儲設備/204

8.3.1檔案的物理結構/205

8.3.2檔案存儲設備/207

8.4檔案存儲空間管理/208

8.5檔案目錄管理/210

8.5.1檔案的組成/211

8.5.2檔案目錄/211

8.5.3便於共享的檔案目錄/213

8.5.4目錄管理/215

8.6檔案存取控制/216

8.7檔案的使用/218

8.8檔案系統的層次模型/219

本章小結/220

習題/221

第9章設備管理/223

9.1引言/223

9.1.1設備的類別/223

9.1.2設備管理的功能和任務/224

9.2數據傳送控制方式/225

9.2.1程式直接控制方式/225

9.2.2中斷方式/227

9.2.3DMA方式/228

9.2.4通道控制方式/230

9.3中斷技術/232

9.3.1中斷的基本概念/232

9.3.2中斷的分類與優先權/233

9.3.3軟中斷/234

9.3.4中斷處理過程/234

9.4緩衝技術/235

9.4.1緩衝的引入/235

9.4.2緩衝的種類/236

9.4.3緩衝池的管理/237

9.5設備分配/239

9.5.1設備分配用數據結構/239

9.5.2設備分配的原則/241

9.5.3設備分配算法/242

9.6I/O進程控制/242

9.6.1I/O控制的引入/242

9.6.2I/O控制的功能/243

9.6.3I/O控制的實現/243

9.7設備驅動程式/244

本章小結/244

習題/245

第10章Linux檔案系統/247

10.1Linux檔案系統的特點與檔案類別/247

10.1.1特點/247

10.1.2檔案類型/248

10.2Linux的虛擬檔案系統/249

10.2.1虛擬檔案系統VFS框架/249

10.2.2Linux虛擬檔案系統的數據

結構/250

10.2.3VFS的系統調用/256

10.3檔案系統的註冊和掛裝/257

10.3.1檔案系統註冊/257

10.3.2已掛裝檔案系統描述符鍊表/258

10.3.3掛裝根檔案系統/259

10.3.4掛裝一般檔案系統/260

10.3.5卸載檔案系統/260

10.4進程與檔案系統的聯繫/261

10.4.1系統打開檔案表/261

10.4.2用戶打開檔案表/261

10.4.3進程的當前目錄和根目錄/262

10.5ext2檔案系統/262

10.5.1ext2檔案系統的存儲結構/262

10.5.2ext2檔案系統主要的磁碟數據

結構/263

10.5.3ext2檔案系統的記憶體數據結構/266

10.5.4數據塊定址/267

10.6塊設備驅動/268

10.6.1設備配置/269

10.6.2設備驅動程式的接口/269

10.7字元設備驅動/271

習題/271

第11章Windows的設備管理和檔案系統/272

11.1WindowsI/O系統的結構/272

11.1.1設計目標/272

11.1.2設備管理服務/273

11.2設備驅動程式和I/O處理/274

11.2.1設備驅動類型和結構/274

11.2.2Windows的I/O處理/275

11.3Windows的檔案系統/277

11.3.1Windows磁碟管理/277

11.3.2Windows檔案系統格式/277

11.3.3Windows檔案系統驅動/278

11.4NTFS檔案系統/279

11.4.1NTFS的特點/279

11.4.2NTFS的磁碟結構/279

11.4.3NTFS的檔案系統恢復/281

本章小結/281

習題/282

參考文獻/284

相關詞條

熱門詞條

聯絡我們