操作系統

北京航空航天大學出版社出版圖書

《操作系統》是2011年北京航空航天大學出版社出版的圖書,作者是劉剛、張冬梅、王繼偉。

本書系統地介紹了操作系統的原理與應用實例,內容涵蓋本科教學中操作系統課程的所有知識點。

編輯推薦


本書可作為普通高等院校計算機專業的本、專科教材或教學參考書,也可作為非計算機專業的操作系統課程教材。

內容簡介


全書共有9個章節和一個附錄。第1章為操作系統引論,介紹了操作系統的基本概念和功能;第2章和第3章介紹了處理機資源的管理,其中包括進程管理、進程同步與通信、作業調度、死鎖處理等經典理論;第4章和第5章介紹了內存資源的管理;第6章介紹了文件系統的管理;第7章介紹了設備資源的管理,其中包括設備管理的框架、設備分配、設備處理等方面的內容;第8章介紹了操作系統介面、系統調用的知識;第9章回顧了操作系統的發展歷程,介紹了各類操作系統的特點;附錄部分給出了一個小型嵌入式實時操作系統的實現過程,作為課程設計實踐教學環節的參考。

作品目錄


第1章 操作系統引論 1
1.1 操作系統的基本概念 1
1.2 操作系統的發展與類型 5
1.2.1 無操作系統的手工操作階段 5
1.2.2 單道批處理系統 6
1.2.3 多道批處理操作系統 7
1.2.4 分時操作系統 9
1.2.5 實時操作系統 10
1.3 操作系統的特徵與功能 11
1.3.1 操作系統的特徵 11
1.3.2 操作系統的功能 13
1.4 操作系統的結構設計 17
1.4.1 傳統操作系統的結構 17
1.4.2 微內核結構操作系統 19
本章小結 22
思考與練習 22
第2章 進程管理 24
2.1 進程的基本概念 24
2.1.1 程序的順序執行及其特性 24
2.1.2 程序的順序執行及其特性 25
2.1.3 進程的定義和特徵 25
2.1.4 進程式控制制塊及其組織 26
2.2 進程狀態及轉換 28
2.2.1 進程基本狀態及轉換 28
2.2.2 進程的創建狀態和終止狀態 29
2.2.3 進程掛起的狀態 29
2.3 進程式控制制 30
2.3.1 進程創建與終止 30
2.3.2 進程阻塞與喚醒 31
2.3.3 進程掛起與激活 31
2.4 進程同步 31
2.4.1 進程互斥與同步的基本概念 32
2.4.2 信號量機制 33
2.4.3 經典進程同步問題 37
2.4.4 管程 41
2.5 進程通信 44
2.5.1 進程通信的機制 44
2.5.2 直接消息傳遞系統 45
2.5.3 信箱通信 47
2.6 線程的基本概念 48
2.6.1 線程概念 48
2.6.2 線程的實現 50
2.6.3 線程模型 51
2.6.4 線程實例:Solaris 2 52
2.7 進程管理實例 53
2.7.1 Windows 的進程管理 53
2.7.2 Linux 的進程管理 55
本章小結 61
思考與練習 62
第3章 處理機調度與死鎖 63
3.1 處理機調度概述 63
3.1.1 調度的層次 63
3.1.2 調度隊列模型 64
3.1.3 調度基礎 66
3.2 調度演演算法 69
3.2.1 先來現服務調度演演算法 69
3.2.2 最短作業(進程)優先調度演演算法 70
3.2.3 時間片輪轉調度演演算法 71
3.2.4 基於優先權的調度演演算法 71
3.2.5 多級反饋隊列調度演演算法 71
3.3 死鎖 73
3.3.1 死鎖的概念和處理策略 73
3.3.2 死鎖預防 74
3.3.3 死鎖避免 75
3.3.4 死鎖檢測和解除 78
3.4 進程調度實例 80
3.4.1 Windows 的線程調度 80
3.4.2 Linux 的進程調度 82
本章小結 84
思考與練習 85
第4章 存儲器管理 86
4.1 概述 86
4.1.1 從源碼到運行 88
4.1.2 存儲管理的目的及分類 91
4.2 連續存儲管理 92
4.2.1 單一連續內存分配 92
4.2.2 固定分區內存分配 92
4.2.3 動態分區內存分配 93
4.2.4 可重定位分區分配 96
4.3 離散分配 97
4.3.1 分頁存儲管理 98
4.3.2 分段存儲管理 104
4.3.3 段頁式存儲管理 107
本章小結 109
思考與練習 110
第5章 虛擬內存管理 111
5.1 概述 112
5.1.1 虛擬存儲器的原理 112
5.1.2 虛擬存儲器的實現方法 113
5.2 分頁虛擬存儲管理 115
5.2.1 硬體支持 116
5.2.2 內存分配及頁面調入策略 118
5.2.3 頁面置換演演算法 121
5.2.4 抖動及其處理 126
5.3 分段及段頁式虛擬存儲管理 128
5.3.1 請求分段虛擬存儲管理 128
5.3.2 請求段頁式內存管理 130
5.4 存儲管理實例 132
5.4.1 Windows 的內存管理 132
5.4.2 Linux 的內存管理 135
本章小結 138
思考與練習 139
第6章 文件管理 140
6.1 概述 140
6.1.1 文件及分類 141
6.1.2 文件系統及層次結構 143
6.1.3 文件操作 144
6.1.4 文件的存儲介質 144
6.2 文件的結構 145
6.2.1 文件的邏輯結構 145
6.2.2 文件的物理結構 147
6.2.3 存儲空間的管理 153
6.3 目錄管理 156
6.3.1 文件控制塊 156
6.3.2 索引節點 157
6.3.3 目錄結構 158
6.3.4 目錄操作 161
6.4 文件系統的安全與保護 162
6.4.1 文件的共享 162
6.4.2 影響安全性的因素 164
6.4.3 文件系統保護機制 164
6.5 磁碟空間管理 170
6.5.2 磁碟調度演演算法 171
6.5.3 提供磁碟訪問速度的方法 173
6.6 文件系統實例 175
6.6.1 Windows 的文件系統 175
6.6.2 Linux 的文件系統 182
本章小結 192
思考與練習 193
第7章 設備管理 195
7.1 概述 195
7.1.1 設備及分類 195
7.1.2 設備管理的功能 196
7.2 I/O 系統結構 197
7.2.1 硬體結構及管理 198
7.2.2 I/O 系統的軟體層次結構 199
7.3 設備分配 201
7.3.1 I/O 系統的數據結構 201
7.3.2 邏輯設備與物理設備 202
7.3.3 設備分配的獨立性 203
7.3.4 虛擬設備的實現 204
7.4 設備處理 206
7.4.1 I/O 控制的方式 206
7.4.2 中斷服務處理 211
7.4.3 設備驅動程序 213
7.4.4 緩衝技術 214
7.5 設備管理實例 217
7.5.1 Windows 的設備管理 218
7.5.2 Linux 的設備管理 225
本章小結 230
思考與練習 231
第8章 操作系統介面 232
8.1 操作系統的介面類型 232
8.1.1 用戶介面 232
8.1.2 程序介面 234
8.2 聯機用戶介面 234
8.2.1 聯機命令介面的實現 234
8.2.2 Windows 的 GUI 236
8.3 系統調用 236
8.3.1 基本概念 236
8.3.2 系統調用的實現 239
8.4 Windows 和 Linux 系統調用 240
8.4.1 Windows 系統調用 240
8.4.2 Linux 系統調用 242
本章小結 248
思考與練習 249
第9章 常見的操作系統 250
9.1 操作系統縱覽 251
9.1.1 早期的操作系統 251
9.1.2 UNIX 家族史 254
9.1.3 微軟帝國 258
9.1.4 Mac OS 264
9.1.5 自由軟體聯盟 267
9.2 嵌入式操作系統 271
9.2.1 嵌入式操作系統概述 271
9.2.2 手機操作系統 272
9.2.3 其他嵌入式操作系統 279
9.2.4 嵌入式系統的應用及發展趨勢 281
9.3 分散式操作系統 282
9.3.1 分散式系統的引入 282
9.3.2 分散式系統的定義 282
9.3.3 分散式操作系統的特點 282
9.3.4 分散式系統的優點 283
9.4 網路操作系統 284
9.4.1 網路操作系統的定義 284
9.4.2 網路操作系統的特點 284
9.4.3 網路操作系統的功能 285
9.5 多處理機操作系統 285
9.5.1 多處理機操作系統的定義 285
9.5.2 多處理機操作系統的分類 285
9.5.3 多處理機操作系統的優點 287
本章小結 287
附錄 小型嵌入式實時操作系統開發實例 288
需求規格說明 290
概要設計說明 291
參考文獻 306

作者簡介


劉剛,1999年畢業於北京航空航天大學飛行器設計與應用力學系,獲“飛行力學”學士學位。2002年畢業於北京航空航天大學航空科學與工程學院,獲“交通運輸規劃與管理”碩士學位。2007年畢業於北京航空航天大學自動化科學與電氣工程學院,獲“導航、制導與控制”博士學位。現為航空科學與技術國家實驗室(籌建)講師,業務管理部部長。