操作系統(tǒng)概念(原書第9版)
鏈接:https://pan.baidu.com/s/1owkOmO-7FCG6HihsysMvSg?pwd=uya0?
提取碼:uya0

內容簡介
本書是面向操作系統(tǒng)導論課程的經典書籍,從第1版至今被國內外眾多高校選作教材。全書共六部分,不僅詳細講解了進程管理、內存管理、存儲管理、保護與安全等概念,而且涵蓋重要的理論結果和案例研究,并且給出了供讀者深入學習的推薦讀物。這一版新增了多核系統(tǒng)和移動計算的內容,每一章都融入了新的技術進展,并且更新了習題和編程項目。本書既適合高等院校計算機相關專業(yè)的學生學習,也是專業(yè)技術人員的有益參考。
作者簡介
亞伯拉罕·西爾伯沙茨(Abraham Silberschatz) 計算機科學家,ACM、IEEE和AAAS會士?,F(xiàn)任耶魯大學計算機科學系教授,之前曾任貝爾實驗室信息科學研究中心副主管。除本書外,他還是教材《數據庫系統(tǒng)概念》的作者之一。
彼得·B. 高爾文(Peter B. Galvin) 現(xiàn)任Pluribus Networks首席解決方案架構師,之前曾任系統(tǒng)集成商Corporate Technologies的首席技術官,還曾在波士頓大學擔任講師。
格雷格·加涅(Greg Gagne) 威斯敏斯特學院計算機科學系主任,操作系統(tǒng)、計算機網絡、并行編程和軟件工程方面的專家。
---譯者簡介---
鄭扣根,浙江大學計算機學院教授、博士生導師。1994年起于浙江大學任教至今,長期從事操作系統(tǒng)、計算理論、形式化方法、計算機網絡等方面的教學和科研工作。
目錄
目 錄
Operating System Concepts, Ninth Edition
出版者的話
譯者序
前言
第一部分 概論
第1章導論 2
1.1操作系統(tǒng)的功能 2
1.1.1用戶視角 2
1.1.2系統(tǒng)視角 3
1.1.3操作系統(tǒng)的定義 4
1.2計算機系統(tǒng)的組成 4
1.2.1計算機系統(tǒng)的運行 5
1.2.2存儲結構 6
1.2.3I/O結構 8
1.3計算機系統(tǒng)的體系結構 9
1.3.1單處理器系統(tǒng) 9
1.3.2多處理器系統(tǒng) 10
1.3.3集群系統(tǒng) 12
1.4操作系統(tǒng)的結構 13
1.5操作系統(tǒng)的執(zhí)行 14
1.5.1雙重模式與多重模式的執(zhí)行 15
1.5.2定時器 16
1.6進程管理 17
1.7內存管理 18
1.8存儲管理 18
1.8.1文件系統(tǒng)管理 18
1.8.2大容量存儲器管理 19
1.8.3高速緩存 19
1.8.4I/O系統(tǒng) 21
1.9保護與安全 21
1.10內核數據結構 22
1.10.1列表、堆棧及隊列 22
1.10.2樹 23
1.10.3哈希函數與哈希表 23
1.10.4位圖 24
1.11計算環(huán)境 24
1.11.1傳統(tǒng)計算 24
1.11.2移動計算 25
1.11.3分布計算 26
1.11.4客戶機-服務器計算 26
1.11.5對等計算 27
1.11.6虛擬化 28
1.11.7云計算 29
1.11.8實時嵌入式系統(tǒng) 30
1.12開源操作系統(tǒng) 31
1.12.1歷史 31
1.12.2Linux 31
1.12.3BSD UNIX 32
1.12.4Solaris 32
1.12.5用作學習的開源操作系統(tǒng) 33
1.13小結 33
習題 35
推薦讀物 36
參考文獻 36
第2章操作系統(tǒng)結構 38
2.1操作系統(tǒng)的服務 38
2.2用戶與操作系統(tǒng)的界面 40
2.2.1命令解釋程序 40
2.2.2圖形用戶界面 41
2.2.3界面的選擇 42
2.3系統(tǒng)調用 43
2.4系統(tǒng)調用的類型 46
2.4.1進程控制 46
2.4.2文件管理 49
2.4.3設備管理 50
2.4.4信息維護 50
2.4.5通信 50
2.4.6保護 51
2.5系統(tǒng)程序 51
2.6操作系統(tǒng)的設計與實現(xiàn) 52
2.6.1設計目標 52
2.6.2機制與策略 53
2.6.3實現(xiàn) 53
2.7操作系統(tǒng)的結構 54
2.7.1簡單結構 54
2.7.2分層方法 55
2.7.3微內核 56
2.7.4模塊 57
2.7.5混合系統(tǒng) 58
2.8操作系統(tǒng)的調試 60
2.8.1故障分析 60
2.8.2性能優(yōu)化 60
2.8.3DTrace 61
2.9操作系統(tǒng)的生成 63
2.10系統(tǒng)引導 64
2.11小結 64
習題 65
編程題 66
編程項目 66
推薦讀物 69
參考文獻 69
第二部分 進程管理
第3章 進程 72
3.1進程概念 72
3.1.1進程 72
3.1.2進程狀態(tài) 73
3.1.3進程控制塊 73
3.1.4線程 74
3.2進程調度 75
3.2.1調度隊列 75
3.2.2調度程序 77
3.2.3上下文切換 78
3.3進程運行 79
3.3.1進程創(chuàng)建 79
3.3.2進程終止 82
3.4進程間通信 83
3.4.1共享內存系統(tǒng) 85
3.4.2消息傳遞系統(tǒng) 86
3.5IPC系統(tǒng)例子 89
3.5.1例子:POSIX共享內存 89
3.5.2例子:Mach 91
3.5.3例子:Windows 92
3.6客戶機/服務器通信 93
3.6.1套接字 93
3.6.2遠程過程調用 96
3.6.3管道 98
3.7小結 102
習題 103
編程題 105
編程項目 107
推薦讀物 110
參考文獻 110
第4章 多線程編程 112
4.1概述 112
4.1.1動機 112
4.1.2優(yōu)點 113
4.2多核編程 114
4.2.1編程挑戰(zhàn) 115
4.2.2并行類型 115
4.3多線程模型 116
4.3.1多對一模型 116
4.3.2一對一模型 116
4.3.3多對多模型 116
4.4線程庫 117
4.4.1Pthreads 118
4.4.2Windows線程 119
4.4.3Java線程 121
4.5隱式多線程 122
4.5.1線程池 123
4.5.2OpenMP 124
4.5.3大中央調度 125
4.5.4其他方法 125
4.6多線程問題 125
4.6.1系統(tǒng)調用fork()和exec() 125
4.6.2信號處理 126
4.6.3線程撤銷 127
4.6.4線程本地存儲 128
4.6.5調度程序激活 128
4.7操作系統(tǒng)例子 129
4.7.1Windows線程 129
4.7.2Linux線程 130
4.8小結 131
習題 131
編程題 133
編程項目 134
推薦讀物 136
參考文獻 136
第5章 進程調度 138
5.1基本概念 138
5.1.1CPU-I/O執(zhí)行周期 138
5.1.2CPU調度程序 139
5.1.3搶占調度 139
5.1.4調度程序 140
5.2調度準則 140
5.3調度算法 141
5.3.1先到先服務調度 141
5.3.2最短作業(yè)優(yōu)先調度 142
5.3.3優(yōu)先級調度 144
5.3.4輪轉調度 145
5.3.5多級隊列調度 147
5.3.6多級反饋隊列調度 148
5.4線程調度 149
5.4.1競爭范圍 149
5.4.2Pthreads調度 149
5.5多處理器調度 151
5.5.1多處理器調度的方法 151
5.5.2處理器親和性 151
5.5.3負載平衡 152
5.5.4多核處理器 152
5.6實時CPU調度 154
5.6.1最小化延遲 154
5.6.2優(yōu)先權調度 155
5.6.3單調速率調度 156
5.6.4最早截止期限優(yōu)先調度 157
5.6.5比例分享調度 158
5.6.6POSIX實時調度 158
5.7操作系統(tǒng)例子 160
5.7.1例子:Linux調度 160
5.7.2例子:Windows調度 162
5.7.3例子:Solaris調度 164
5.8算法評估 165
5.8.1確定性模型 166
5.8.2排隊模型 167
5.8.3仿真 167
5.8.4實現(xiàn) 168
5.9小結 169
習題 170
推薦讀物 172
參考文獻 173
第6章 同步 175
6.1背景 175
6.2臨界區(qū)問題 177
6.3Peterson解決方案 178
6.4硬件同步 179
6.5互斥鎖 181
6.6信號量
......
查看全部↓
前言/序言
前 言Operating System Concepts, Ninth Edition操作系統(tǒng)是任何計算機系統(tǒng)的重要組成部分。同樣,操作系統(tǒng)課程也是計算機科學教育的基本組成部分。隨著計算機逐漸滲透到日常生活的每個方面,從汽車的嵌入設備到政府和跨國公司的先進規(guī)劃工具,這個領域發(fā)展迅猛。然而,其中的基本概念仍然比較清晰,這些概念就是本書討論的基礎。
本書是面向操作系統(tǒng)導論課程的教科書,適用于大三、大四學生和一年級研究生,同時也可供工程技術人員參考。本書清晰地描述了操作系統(tǒng)的概念。作為先決條件,我們假設讀者熟悉基本數據結構、計算機組成和一種高級語言(如C或Java)。本書第1章包括了學習操作系統(tǒng)所需的硬件知識,還包括大多數操作系統(tǒng)普遍使用的基礎數據結構。代碼示例主要使用C和Java,不過,即使讀者不具有這些語言的全部知識也能理解這些算法。
本書不僅直觀描述了概念,而且包括重要的理論結果,但是省略了大部分的形式化證明。每章結尾的推薦讀物給出了相關研究論文,其中有的首次提出或證明了這些理論結果,有的提供深入閱讀的最新材料。本書通過圖形和舉例來代替證明,以說明為什么有關結果是真實有效的。