操作系統教程

linux版

《操作系統教程(Linux版)》是2013年9月清華大學出版社出版的圖書,作者是毛玉萃、牛玉軍、趙宏偉

內容簡介


本書以操作系統的基本功能(處理機管理、存儲管理、文件系統、設備管理和用戶介面)為主線介紹操作系統的相關概念、基本原理和基本方法,對進程管理的相關問題:進程的概念、描述、狀態機器轉換、進程式控制制、互斥、同步、通信和死鎖做了詳細闡述。簡單介紹了其他幾種類型的操作系統,並對Linux操作系統進行了剖析。本書注重理論與實踐相結合,每章都配有相關習題,最後一章安排了6個實驗。

圖書目錄


第1章操作系統概述 /1
1.1操作系統的基本概念/1
1.2操作系統的基本功能/2
1.2.1處理機管理/2
1.2.2存儲管理/2
1.2.3文件系統/3
1.2.4設備管理/4
1.2.5用戶介面/4
1.3操作系統的發展/5
1.3.1手工階段/5
1.3.2早期批處理/5
1.3.3多道程序系統/6
1.3.4分時系統/6
1.3.5實時系統/7
1.3.6通用操作系統/7
1.3.7多種操作系統並存/7
1.4操作系統的類型/8
1.4.1批處理操作系統/8
1.4.2分時操作系統/8
1.4.3實時操作系統/9
1.4.4通用操作系統/9
1.4.5個人計算機操作系統/9
1.4.6嵌入式操作系統/9
1.4.7網路操作系統/10
1.4.8并行操作系統/10
1.4.9分散式操作系統/10
1.4.10多媒體操作系統/11
1.5操作系統的基本特徵/11
1.5.1併發性/11
1.5.2共享性/12
1.5.3虛擬性/12
1.5.4不確定性/12
1.6操作系統的組成結構/12
1.6.1無結構的操作系統/13
1.6.2模塊化結構的操作系統/13
1.6.3分層結構的操作系統/13
1.6.4微內核結構的操作系統/14
1.7研究操作系統的幾種觀點/14
1.7.1資源管理的觀點/15
1.7.2用戶界面的觀點/15
1.7.3進程管理的觀點/15
1.8典型操作系統簡介/16
1.8.1Windows系列操作系統/16
1.8.2UNIX操作系統/16
1.8.3Linux操作系統/18
1.9本章小結/21
習題/21
〖〗〖〗〖〗第2章用戶介面/23
2.1作業/23
2.1.1作業的概念/23
2.1.2作業控制塊/25
2.1.3作業的狀態及其轉換/25
2.1.4作業的輸入輸出方式/26
2.2命令介面/27
2.2.1聯機用戶介面/27
2.2.2離線用戶介面/29
2.3編程介面/29
2.3.1系統調用的類型/29
2.3.2系統調用的實現/30
2.4圖形介面/31
2.4.1窗口/31
2.4.2圖標/32
2.4.3菜單/32
2.4.4對話框/32
2.5Linux的用戶介面/33
2.5.1Linux命令介面/33
2.5.2Linux編程介面/36
2.5.3Linux的圖形介面/37
2.6本章小結/39
習題/39
第3章進程管理/41
3.1進程的基本概念/41
3.1.1程序的順序與併發執行/41
3.1.2進程的定義及特徵/44
3.2進程的描述/46
3.2.1進程的組成/46
3.2.2進程式控制制塊/46
3.2.3進程上下文與進程上下文切換/48
3.2.4進程空間/50
3.3進程的狀態及其轉換/51
3.4進程式控制制/53
3.4.1原語/53
3.4.2進程的創建與撤銷/53
3.4.3進程的阻塞與喚醒/55
3.4.4進程的掛起與激活/57
3.5線程/58
3.5.1線程的基本概念及分類/58
3.5.2線程的狀態及轉換/59
3.5.3線程的應用/60
3.6Linux的進程模型/61
3.6.1Linux的進程式控制制塊/61
3.6.2Linux進程的創建和撤銷/62
3.6.3Linux進程的狀態及其轉換/63
3.7Linux系統的線程機制/64
3.8本章小結/64
習題/65
第4章處理機管理/67
4.1分級調度/67
4.1.1作業調度/68
4.1.2交換調度/68
4.1.3進程調度/68
4.1.4線程調度/68
4.2作業調度和進程調度/69
4.2.1作業調度/69
4.2.2進程調度/70
4.3調度演演算法/72
4.3.1先來先服務調度演演算法/72
4.3.2優先順序調度演演算法/72
4.3.3輪轉調度演演算法/73
4.3.4分級輪轉調度演演算法/75
4.3.5分級反饋輪轉調度演演算法/76
4.3.6最短作業優先調度演演算法/77
4.3.7響應比高者優先調度演演算法/78
4.4選擇調度方式和評價調度演演算法的若干準則/79
4.5實時調度演演算法/82
4.5.1實時系統的特點/82
4.5.2實現實時調度的基本條件/83
4.5.3實時調度演演算法的分類/83
4.5.4常用的幾種實時調度演演算法/85
4.6Linux的進程調度/86
4.6.1調度的時機/87
4.6.2進程調度演演算法/87
4.7本章小結/89
習題/89
第5章存儲管理/92
5.1存儲管理的功能/92
5.1.1內存的分配與回收/92
5.1.2地址轉換/93
5.1.3內存信息的共享與保護/94
5.1.4內存的擴充/94
5.2覆蓋和交換技術/95
5.2.1覆蓋技術/95
5.2.2交換技術/96
5.3分區存儲管理/96
5.3.1單分區存儲管理/97
5.3.2多分區存儲管理/98
5.3.3分區存儲管理的評價/105
5.4頁式存儲管理/105
5.4.1頁式存儲管理的基本原理 /106
5.4.2靜態頁式存儲管理/107
5.4.3動態頁式存儲管理/109
5.4.4頁式存儲管理的優缺點/116
5.5段式和段頁式存儲管理/117
5.5.1段式存儲管理/117
5.5.2段頁式存儲管理/120
5.6Linux的存儲管理/121
5.6.1物理內存的管理/122
5.6.2進程空間的管理/124
5.6.3Linux虛存的保護/126
5.7本章小結/126
習題/127
第6章文件管理/130
6.1文件和文件系統/130
6.1.1文件/130
6.1.2文件的分類/131
6.1.3文件系統/131
6.2文件的邏輯組織/132
6.2.1流式文件/132
6.2.2記錄式文件/132
6.2.3存取方法/134
6.3文件的物理組織/135
6.3.1磁帶文件的組織/135
6.3.2磁碟文件的組織/136
6.3.3記錄的成組與分解/141
6.4文件目錄/143
6.4.1一級目錄結構(單級目錄結構)/143
6.4.2二級目錄結構/143
6.4.3樹形目錄結構/144
6.4.4文件目錄管理/145
6.5磁碟存儲空間的管理/146
6.5.1位示圖/146
6.5.2空閑塊表/146
6.5.3空閑塊鏈/147
6.6磁碟容錯技術/148
6.6.1第一級容錯技術/148
6.6.2第二級容錯技術/149
6.6.3廉價磁碟冗餘陣列/150
6.6.4後備系統/151
6.7文件的使用/153
6.7.1文件的操作/153
6.7.2文件的使用/154
6.8文件的共享、保護和保密/155
6.8.1文件的共享/155
6.8.2文件的保護/157
6.8.3文件的保密/158
6.9文件的層次模型/158
6.10Linux的文件管理/160
6.10.1虛擬文件系統(VFS)/160
6.10.2EXT2文件系統/164
6.11本章小結/166
習題/167第7章設備管理/170
7.1設備管理概述/170
7.1.1設備的類別/170
7.1.2設備管理的功能和任務/171
7.1.3數據傳送控制方式/172
7.2磁碟的驅動調度/173
7.2.1磁碟的結構/174
7.2.2磁碟的驅動調度/175
7.3中斷技術/179
7.3.1中斷及其基本概念/180
7.3.2中斷處理過程/180
7.3.3中斷優先順序與多重中斷/181
7.4通道技術/182
7.4.1通道的引入/182
7.4.2通道類型/183
7.4.3通道指令和通道程序/185
7.4.4通道的工作過程/186
7.5緩衝技術/187
7.5.1緩衝的引入/187
7.5.2緩衝的種類/188
7.5.3緩衝池的管理/188
7.6設備分配/190
7.6.1設備的獨立性/190
7.6.2設備分配的原則/191
7.6.3設備分配策略/191
7.6.4設備分配所使用的數據結構和分配演演算法/191
7.7虛擬設備/193
7.7.1虛擬設備的引入/194
7.7.2虛擬設備的實現/194
7.8I/O進程式控制制/197
7.8.1I/O控制/197
7.8.2I/O控制的功能/197
7.8.3I/O控制的實現/198
7.9設備驅動程序/198
7.9.1設備驅動程序的功能和特點/199
7.9.2設備驅動程序的處理過程/199
7.9.3設備驅動程序的管理/200
7.10Linux的設備管理/200
7.10.1設備文件的概念/201
7.10.2相關數據結構/201
7.10.3中斷和異常/202
7.10.4Linux的設備驅動程序/203
7.11本章小結/204
習題/205
第8章進程的互斥、同步、通信和死鎖/207
8.1.1臨界區與進程互斥/207
8.1.2互斥的加鎖實現/209
8.1.3信號量和P、V原語/210
8.1.4利用P、V原語實現進程互斥/212
8.2進程同步/213
8.2.1進程同步的概念/213
8.2.2進程同步的實現——消息發送/214
8.2.3進程同步的實現——P、V原語和信號量/215
8.2.4進程同步的實現——管程/215
8.3經典的進程同步互斥問題/217
8.3.1生產者和消費者問題/217
8.3.2哲學家進餐問題/219
8.3.3讀者和寫者問題/222
8.3.4理髮師睡覺問題/224
8.4進程通信/226
8.4.1進程通信的類型/226
8.4.2消息傳遞通信/227
8.5死鎖/229
8.5.1死鎖的基本概念/230
8.5.2死鎖的解決方案和方法/231
8.5.3死鎖的預防/232
8.5.4死鎖避免的方案——銀行家演演算法/234
8.5.5死鎖檢測與恢復/237
8.6Linux中的線程同步/244
8.7Linux中的進程通信機制/245
8.7.1管道/245
8.7.2System Ⅴ的IPC通信機制/246
8.8本章小結/249
習題/249
第9章其他幾種操作系統簡介/252
9.1安全與安全操作系統/252
9.1.1安全/252
9.1.2安全操作系統/257
9.2并行計算機操作系統/264
9.2.1并行計算機系統/264
9.2.2多處理器操作系統/265
9.3集群系統/268
9.4分散式操作系統/269
9.4.1分散式操作系統的特點/269
9.4.2分散式操作系統的構成/270
9.4.3分散式操作系統的通信/270
9.4.4分散式操作系統的資源管理/272
9.4.5分散式進程管理/273
9.4.6分散式進程的同步、互斥與死鎖/273
9.4.7分散式文件系統/274
9.5網路操作系統/274
9.5.1計算機網路簡介/274
9.5.2計算機網路體系結構與協議/275
9.5.3網路操作系統的發展及分類/276
9.5.4網路操作系統的功能/277
9.5.5網路操作系統提供的服務/279
9.6多媒體操作系統/279
9.6.1多媒體引入/280
9.6.2多媒體文件及視頻壓縮/280
9.6.3多媒體處理調度/282
9.6.4多媒體文件系統/283
9.6.5文件在磁碟上的放置/287
9.6.6緩存/293
9.6.7多媒體磁碟調度/294
9.7本章小結/297
習題/298
第10章操作系統實驗/301
10.1編程介面實驗/301
10.2進程管理(創建、執行和終止)實驗/302
10.3作業(進程)調度實驗/303
10.4動態頁式存儲管理實驗/306
10.5文件系統實驗/308
10.6進程管理(同步、互斥和通信)實驗/313
參考文獻/316