操作係統――精髓與設計原理(第八版) [Operating Systems: Internals and Design Principles]

操作係統――精髓與設計原理(第八版) [Operating Systems: Internals and Design Principles] pdf epub mobi txt 电子书 下载 2025

[美] William,Stallings(威廉.斯托林斯) 著,陳嚮群,陳渝 等 譯
圖書標籤:
  • 操作係統
  • 計算機科學
  • 係統編程
  • 內核
  • 設計原理
  • 並發
  • 內存管理
  • 文件係統
  • 進程管理
  • 虛擬化
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121309502
版次:8
商品编码:12140626
包装:平装
丛书名: 国外计算机科学教材系列
外文名称:Operating Systems: Internals and Design Principles
开本:16开
出版时间:2017-02-01
用纸:胶版纸
页数:492

具体描述

編輯推薦

適讀人群 :本書可作為高等學校計算機科學與技術專業操作係統課程的教材,也可供其他專業學生參考。

本書的目的是使讀者熟悉現代操作係統的設計原理和實現問題,因此單純講述概念和理論遠遠不夠。為說明這些概念,同時將它們與真實世界中不得不做齣的設計選擇相關聯,本書選擇瞭4個操作係統作為實例:

◆ Windows 8:用於個人計算機、工作站和服務器的多任務操作係統。它融入瞭很多操作係統發展的*新技術。此外,Windows是*早采用麵嚮對象原理進行設計的重要商業操作係統之一。本書涵蓋瞭Windows*新版本所采用的技術,包括Windows 8。

◆ Android:Android是為嵌入式設備特彆是手機量身定做的,主要是為瞭滿足嵌入式環境的獨特需求。本書介紹瞭Android的內核信息。

◆ UNIX:*初是為小型計算機設計的多用戶操作係統,但後來廣泛用於從微機到超級計算機的各種機器中。本書采用若乾版本的UNIX作為實例。FreeBSD融閤瞭很多的現代特徵,是一個廣泛應用的操作係統;Solaris是一個廣泛應用的商業版UNIX係統。

◆ Linux:一個非常普及且源代碼開放的UNIX版本。

選擇這些操作係統的原因是它們之間存在相關性,同時它們也具有代錶性。關於這些實例操作係統的討論貫穿全書,而非集中於某一章或附錄部分。因此在討論並發性時,會描述每個實例操作係統的並發機製,並探討各種設計選擇的動機。采用真實的例子可加深讀者對相關章節中設計概念的理解。為方便起見,讀者也可在在綫文檔中查閱所有實例操作係統的資料。


內容簡介

本書既是關於操作係統概念、結構和機製的教材,目的是盡可能清楚和全麵地展示現代操作係統的本質和特點;也是講解操作係統的經典教材,不僅係統地講述瞭操作係統的基本概念、原理和方法,而且以當代*流行的操作係統Windows 8、UNIX、Android、Linux為例,展現瞭當代操作係統的本質和特點。全書共分背景知識、進程、內存、調度、輸入/輸齣和文件、嵌入式係統六部分,內容包括計算機係統概述、操作係統概述、進程描述和控製、綫程、並發性:互斥和同步、並發:死鎖和飢餓、內存管理、虛擬內存、單處理器調度、多處理器和實時調度、I/O管理和磁盤調度、文件管理、嵌入式操作係統、虛擬機、計算機安全技術、分布式處理、客戶/服務器和集群等。此外,本書配套網站提供瞭及時、生動的材料。

作者簡介

  陳嚮群,北京大學信息科學技術學院計算機科學技術係教授,博士生導師,主要研究領域為軟件需求工程、知識工程、基於知識的軟件工程、麵嚮服務的計算。

  

  William Stallings:美國聖母大學電子工程學士,麻省理工學院計算機科學博士,《密碼術》期刊編委。美國多傢高科技公司執行總監,政府機構、計算機軟/硬件供應商顧問;曾為各種計算機和操作係統設計並實現TCP/IP和OSI協議套件;創建並維護瞭計算機科學專業學生資源網站ComputerScienceStudent.com。齣版圖書17種,內容涉及計算機安全、計算機網絡和計算機係統結構等;在《IEEE進展》《ACM計算評論》和《密碼術》等期刊上發錶文章多篇;先後12次獲美國年度*佳計算機科學教科書奬和學術作者協會奬。

目錄

第0章 讀者與教師指南 1
0.1 本書概述 1
0.2 實例係統 1
0.3 讀者和教師的路綫圖 2
0.4 互聯網和網站資源 3
第一部分 背景知識
第1章 計算機係統概述 6
1.1 基本構成 6
1.2 微處理器的發展 7
1.3 指令的執行 8
1.4 中斷 10
1.4.1 中斷和指令周期 11
1.4.2 中斷處理 12
1.4.3 多個中斷 14
1.5 存儲器的層次結構 15
1.6 高速緩存 17
1.6.1 動機 18
1.6.2 高速緩存原理 18
1.6.3 高速緩存設計 19
1.7 直接內存存取 20
1.8 多處理器和多核計算機組織結構 21
1.8.1 對稱多處理器 21
1.8.2 多核計算機 23
1.9 推薦讀物 23
1.10 關鍵術語、復習題和習題 24
1.10.1 關鍵術語 24
1.10.2 復習題 24
1.10.3 習題 24
附錄1A 兩級存儲器的性能特徵 26
第2章 操作係統概述 31
2.1 操作係統的目標和功能 31
2.1.1 作為用戶/計算機接口的
操作係統 31
2.1.2 作為資源管理器的操作係統 32
2.1.3 操作係統的易擴展性 33
2.2 操作係統的發展史 34
2.2.1 串行處理 34
2.2.2 簡單批處理係統 34
2.2.3 多道批處理係統 36
2.2.4 分時係統 38
2.3 主要成就 40
2.3.1 進程 40
2.3.2 內存管理 42
2.3.3 信息保護和安全 43
2.3.4 調度和資源管理 44
2.4 現代操作係統的特徵 45
2.5 容錯性 47
2.5.1 基本概念 47
2.5.2 錯誤 48
2.5.3 操作係統機製 48
2.6 多處理器和多核操作係統
設計考慮因素 49
2.6.1 對稱多處理器操作係統設計
考慮因素 49
2.6.2 多核操作係統設計考慮因素 49
2.7 微軟Windows係統簡介 51
2.7.1 背景 51
2.7.2 體係結構 51
2.7.3 客戶-服務器模型 53
2.7.4 綫程和SMP 54
2.7.5 Windows對象 54
2.8 傳統的UNIX係統 55
2.8.1 曆史 55
2.8.2 描述 56
2.9 現代UNIX係統 57
2.9.1 System V Release 4(SVR4) 58
2.9.2 BSD 58
2.9.3 Solaris 10 58
2.10 Linux操作係統 58
2.10.1 曆史 58
2.10.2 模塊結構 59
2.10.3 內核組件 60
2.11 Android 62
2.11.1 Android軟件體係結構 63
2.11.2 Android係統體係結構 64
2.11.3 活動 65
2.11.4 電源管理 65
2.12 推薦讀物和動畫 66
2.13 關鍵術語、復習題和習題 67
2.13.1 關鍵術語 67
2.13.2 復習題 67
2.13.3 習題 67

第二部分 進程

第3章 進程描述和控製 70
3.1 什麼是進程 70
3.1.1 背景 70
3.1.2 進程和進程控製塊 71
3.2 進程狀態 72
3.2.1 兩狀態進程模型 73
3.2.2 進程的創建和終止 74
3.2.3 五狀態模型 75
3.2.4 被掛起的進程 78
3.3 進程描述 81
3.3.1 操作係統的控製結構 82
3.3.2 進程控製結構 82
3.4 進程控製 86
3.4.1 執行模式 86
3.4.2 進程創建 87
3.4.3 進程切換 88
3.5 操作係統的執行 90
3.5.1 無進程內核 90
3.5.2 在用戶進程內運行 90
3.5.3 基於進程的操作係統 91
3.6 UNIX SVR4進程管理 91
3.6.1 進程狀態 92
3.6.2 進程描述 93
3.6.3 進程控製 94
3.7 小結 95
3.8 推薦讀物和動畫 95
3.9 關鍵術語、復習題和習題 95
3.9.1 關鍵術語 95
3.9.2 復習題 96
3.9.3 習題 96
第4章 綫程 99
4.1 進程和綫程 99
4.1.1 多綫程 99
4.1.2 綫程的功能 102
4.2 綫程分類 103
4.2.1 用戶級和內核級綫程 103
4.2.2 其他方案 106
4.3 多核和多綫程 107
4.3.1 多核係統上的軟件性能 107
4.3.2 應用示例:Valve遊戲軟件 109
4.4 Windows 8的進程和綫程管理 110
4.4.1 Windows 8中的變化 111
4.4.2 Windows進程 111
4.4.3 進程對象和綫程對象 112
4.4.4 多綫程 113
4.4.5 綫程狀態 113
4.4.6 對操作係統子係統的支持 114
4.5 Solaris的綫程和SMP管理 114
4.5.1 多綫程體係結構 114
4.5.2 動機 115
4.5.3 進程結構 115
4.5.4 綫程的執行 116
4.5.5 把中斷當作綫程 117
4.6 Linux的進程和綫程管理 118
4.6.1 Linux任務 118
4.6.2 Linux綫程 119
4.6.3 Linux命名空間 120
4.7 Android的進程和綫程管理 121
4.7.1 安卓應用 121
4.7.2 活動 121
4.7.3 進程和綫程 122
4.8 Mac OS X的GCD技術 123
4.9 小結 124
4.10 推薦讀物 125
4.11 關鍵術語、復習題和習題 125
4.11.1 關鍵術語 125
4.11.2 復習題 125
4.11.3 習題 125
第5章 並發性:互斥和同步 129
5.1 並發的原理 130
5.1.1 一個簡單的例子 130
5.1.2 競爭條件 132
5.1.3 操作係統關注的問題 132
5.1.4 進程的交互 133
5.1.5 互斥的要求 135
5.2 互斥:硬件的支持 136
5.2.1 中斷禁用 136
5.2.2 專用機器指令 136
5.3 信號量 138
5.3.1 互斥 141
5.3.2 生産者/消費者問題 142
5.3.3 信號量的實現 146
5.4 管程 147
5.4.1 使用信號的管程 147
5.4.2 使用通知和廣播的管程 149
5.5 消息傳遞 151
5.5.1 同步 151
5.5.2 尋址 152
5.5.3 消息格式 153
5.5.4 排隊原則 154
5.5.5 互斥 154
5.6 讀者/寫者問題 155
5.6.1 讀者優先 156
5.6.2 寫者優先 156
5.7 小結 158
5.8 推薦讀物和動畫 159
5.9 關鍵術語、復習題和習題 160
5.9.1 關鍵術語 160
5.9.2 復習題 160
5.9.3 習題 160
第6章 並發:死鎖和飢餓 170
6.1 死鎖原理 170
6.1.1 可重用資源 173
6.1.2 可消耗資源 174
6.1.3 資源分配圖 174
6.1.4 死鎖的條件 175
6.2 死鎖預防 176
6.2.1 互斥 176
6.2.2 占有且等待 176
6.2.3 不可搶占 176
6.2.4 循環等待 177
6.3 死鎖避免 177
6.3.1 進程啓動拒絕 177
6.3.2 資源分配拒絕 178
6.4 死鎖檢測 181
6.4.1 死鎖檢測算法 181
6.4.2 恢復 182
6.5 一種綜閤的死鎖策略 182
6.6 哲學傢就餐問題 183
6.6.1 基於信號量的解決方案 183
6.6.2 基於管程的解決方案 184
6.7 UNIX並發機製 185
6.7.1 管道 186
6.7.2 消息 186
6.7.3 共享內存 186
6.7.4 信號量 186
6.7.5 信號 187
6.8 Linux內核並發機製 187
6.8.1 原子操作 188
6.8.2 自鏇鎖 189
6.8.3 信號量 190
6.8.4 屏障 191
6.9 Solaris綫程同步原語 192
6.9.1 互斥鎖 193
6.9.2 信號量 193
6.9.3 多讀者/單寫者鎖 193
6.9.4 條件變量 193
6.10 Windows 7的並發機製 194
6.10.1 等待函數 194
6.10.2 分派器對象 194
6.10.3 臨界區 195
6.10.4 輕量級讀寫鎖和條件變量 195
6.10.5 鎖無關同步機製 196
6.11 Android進程間通信 196
6.12 小結 197
6.13 推薦讀物和動畫 197
6.14 關鍵術語、復習題和習題 198
6.14.1 關鍵術語 198
6.14.2 復習題 198
6.14.3 習題 198







第三部分 內存

第7章 內存管理 204
7.1 內存管理的需求 204
7.1.1 重定位 204
7.1.2 保護 205
7.1.3 共享 205
7.1.4 邏輯組織 205
7.1.5 物理組織 206
7.2 內存分區 206
7.2.1 固定分區 207
7.2.2 動態分區 208
7.2.3 夥伴係統 210
7.2.4 重定位 212
7.3 分頁 212
7.4 分段 215
7.5 小結 216
7.6 推薦讀物和動畫 216
7.7 關鍵術語、復習題和習題 216
7.7.1 關鍵術語 216
7.7.2 復習題 217
7.7.3 習題 217
附錄7A 加載和鏈接 219
第8章 虛擬內存 223
8.1 硬件和控製結構 223
8.1.1 局部性和虛擬內存 224
8.1.2 分頁 225
8.1.3 分段 232
8.1.4 段頁式 232
8.1.5 保護和共享 233
8.2 操作係統軟件 234
8.2.1 讀取策略 235
8.2.2 放置策略 235
8.2.3 置換策略 235
8.2.4 駐留集管理 239
8.2.5 清除策略 243
8.2.6 加載控製 244
8.3 UNIX和Solaris內存管理 245
8.3.1 分頁係統 245
8.3.2 內核內存分配器 247
8.4 Linux內存管理 249
8.4.1 虛擬內存 249
8.4.2 內核內存分配 250
8.5 Windows內存管理 251
8.5.1 Windows虛擬地址映射 251
8.5.2 Windows分頁 251
8.5.3 Windows 8交換 252
8.6 Android內存管理 252
8.7 小結 252
8.8 推薦讀物和動畫 253
8.9 關鍵術語、復習題和習題 253
8.9.1 關鍵術語 253
8.9.2 復習題 254
8.9.3 習題 254

第四部分 調度

第9章 單處理器調度 258
9.1 處理器調度的類型 258
9.1.1 長程調度 259
9.1.2 中程調度 260
9.1.3 短程調度 260
9.2 調度算法 260
9.2.1 短程調度規則 260
9.2.2 優先級的使用 261
9.2.3 選擇調度策略 262
9.2.4 性能比較 268
9.2.5 公平共享調度 272
9.3 傳統的UNIX調度 273
9.4 小結 274
9.5 推薦讀物和動畫 275
9.6 關鍵術語、復習題和習題 275
9.6.1 關鍵術語 275
9.6.2 復習題 275
9.6.3 習題 276
第10章 多處理器和實時調度 279
10.1 多處理器調度 279
10.1.1 粒度 279
10.1.2 設計問題 280
10.1.3 進程調度 281
10.1.4 綫程調度 283
10.1.5 多核綫程調度 286
10.2 實時調度 287
10.2.1 背景 287
10.2.2 實時操作係統的特點 288
10.2.3 實時調度 290
10.2.4 限期調度 291
10.2.5 速率單調調度 294
10.2.6 優先級反轉 295
10.3 Linux調度 297
10.3.1 實時調度 297
10.3.2 非實時調度 298
10.4 UNIX SVR4調度 300
10.5 FreeBSD調度程序 301
10.5.1 優先級 301
10.5.2 對稱多處理器與多核支持 301
10.6 Windows調度 303
10.6.1 進程和綫程優先級 303
10.6.2 多處理器調度 304
10.7 小結 305
10.8 推薦讀物 305
10.9 關鍵術語、復習題和習題 305
10.9.1 關鍵術語 305
10.9.2 復習題 306
10.9.3 習題 306

第五部分 輸入/輸齣和文件

第11章 I/O管理和磁盤調度 310
11.1 I/O設備 310
11.2 I/O功能的組織 311
11.2.1 I/O功能的發展 312
11.2.2 直接存儲器訪問 312
11.3 操作係統設計問題 314
11.3.1 設計目標 314
11.3.2 I/O功能的邏輯結構 314
11.4 I/O緩衝 315
11.4.1 單緩衝 316
11.4.2 雙緩衝 317
11.4.3 循環緩衝 317
11.4.4 緩衝的作用 317
11.5 磁盤調度 317
11.5.1 磁盤性能參數 317
11.5.2 磁盤調度策略 319
11.6 RAID 322
11.6.1 RAID級彆0 325
11.6.2 RAID級彆1 325
11.6.3 RAID級彆2 326
11.6.4 RAID級彆3 326
11.6.5 RAID級彆4 327
11.6.6 RAID級彆5 328
11.6.7 RAID級彆6 328
11.7 磁盤高速緩存 328
11.7.1 設計考慮因素 328
11.7.2 性能考慮因素 329
11.8 UNIX SVR 4 I/O 331
11.8.1 緩衝區高速緩衝 331
11.8.2 字符隊列 332
11.8.3 無緩衝I/O 332
11.8.4 UNIX設備 332
11.9 Linux I/O 333
11.9.1 磁盤調度 333
11.9.2 Linux頁麵緩存 334
11.10 Windows I/O 335
11.10.1 基本I/O機製 335
11.10.2 異步I/O和同步I/O 335
11.10.3 軟件RAID 336
11.10.4 捲影復製 336
11.10.5 捲加密 336
11.11 小結 336
11.12 推薦讀物和動畫 337
11.13 關鍵術語、復習題和習題 338
11.13.1 關鍵術語 338
11.13.2 復習題 338
11.13.3 習題 338
第12章 文件管理 340
12.1 概述 340
12.1.1 文件和文件係統 340
12.1.2 文件結構 341
12.1.3 文件管理係統 342
12.2 文件組織和訪問 344
12.2.1 堆 345
12.2.2 順序文件 345
12.2.3 索引順序文件 345
12.2.4 索引文件 346
12.2.5 直接文件或散列文件 346
12.3 B樹 347
12.4 文件目錄 349
12.4.1 內容 349
12.4.2 結構 350
12.4.3 命名 351
12.5 文件共享 352
12.5.1 訪問權限 352
12.5.2 同時訪問 353
12.6 記錄組塊 353
12.7 輔存管理 354
12.7.1 文件分配 354
12.7.2 空閑空間管理 357
12.7.3 捲 358
12.7.4 可靠性 358
12.8 UNIX文件管理 359
12.8.1 索引節點 359
12.8.2 文件分配 361
12.8.3 目錄 362
12.8.4 捲結構 362
12.9 Linux虛擬文件係統 362
12.9.1 超級塊對象 363
12.9.2 索引節點對象 364
12.9.3 目錄項對象 364
12.9.4 文件對象 364
12.9.5 緩存 364
12.10 Windows文件係統 365
12.10.1 NTFS的重要特徵 365
12.10.2 NTFS捲和文件結構 366
12.10.3 可恢復性 367
12.11 Android文件係統 368
12.11.1 文件係統 368
12.11.2 SQLite 369
12.12 小結 369
12.13 推薦讀物 370
12.14 關鍵術語、復習題和習題 370
12.14.1 關鍵術語 370
12.14.2 復習題 370
12.14.3 習題 371

第六部分 嵌入式係統

第13章 嵌入式操作係統 374
13.1 嵌入式係統 374
13.2 嵌入式操作係統的特點 375
13.2.1 移植現有商業操作係統 375
13.2.2 為特定目的構建的嵌入式
操作係統 376
13.3 嵌入式Linux 376
13.3.1 內核大小 376
13.3.2 編譯 376
13.3.3 嵌入式Linux文件係統 377
13.3.4 嵌入式Linux的優點 377
13.3.5 Android 377
13.4 TinyOS 377
13.4.1 無綫傳感器網絡 378
13.4.2 TinyOS的目標 378
13.4.3 TinyOS的組件 379
13.4.4 TinyOS的調度程序 381
13.4.5 配置示例 381
13.4.6 TinyOS的資源接口 383
13.5 推薦讀物 384
13.6 關鍵術語、復習題和習題 384
13.6.1 關鍵術語 384
13.6.2 復習題 385
13.6.3 習題 385
第14章 虛擬機 387
14.1 虛擬化方法 388
14.2 處理器問題 390
14.3 內存管理 391
14.4 輸入/輸齣管理 392
14.5 VMware ESXi 393
14.6 微軟Hyper-V與Xen係列 395
14.7 Java虛擬機 396
14.8 Linux VServer虛擬機架構 396
14.8.1 架構 396
14.8.2 進程調度 397
14.9 Android虛擬機 398
14.9.1 dex文件係統 398
14.9.2 Zygote 399
14.10 小結 399
14.11 推薦讀物 399
14.12 關鍵術語、復習題和習題 400
14.12.1 關鍵術語 400
14.12.2 復習題 400
14.12.3 習題 400
第15章 計算機安全技術 401
15.1 入侵者與惡意軟件 401
15.1.1 係統訪問威脅 401
15.1.2 應對措施 402
15.2 緩衝區溢齣 404
15.2.1 緩衝區溢齣攻擊 404
15.2.2 編譯時防禦 406
15.2.3 運行時防禦 408
15.3 訪問控製 409
15.3.1 文件係統訪問控製 409
15.3.2 訪問控製策略 410
15.4 UNIX訪問控製 414
15.4.1 傳統UNIX文件訪問控製 414
15.4.2 UNIX中的訪問控製列錶 416
15.5 操作係統加固 416
15.5.1 操作係統安裝:初始安裝
與後續更新 417
15.5.2 刪除不必要的服務、應用
與協議 417
15.5.3 對用戶、組和認證過程
進行配置 418
15.5.4 對資源控製進行配置 418
15.5.5 安裝額外的安全控製工具 418
15.5.6 對係統安全進行測試 419
15.6 安全性維護 419
15.6.1 記錄日誌 419
15.6.2 數據備份和存檔 419
15.7 Windows安全性 420
15.7.1 訪問控製方案 420
15.7.2 訪問令牌 421
15.7.3 安全描述符 421
15.8 小結 423
15.9 推薦讀物 424
15.10 關鍵術語、復習題和習題 424
15.10.1 關鍵術語 424
15.10.2 復習題 424
15.10.3 習題 424
第16章 分布式處理、客戶-服務器
和集群 426
16.1 客戶-服務器計算 426
16.1.1 什麼是客戶-服務器計算 426
16.1.2 客戶-服務器應用 427
16.1.3 中間件 431
16.2 分布式消息傳遞 433
16.2.1 可靠性與不可靠性 434
16.2.2 阻塞與無阻塞 434
16.3 遠程過程調用 434
16.3.1 參數傳遞 435
16.3.2 參數錶示 436
16.3.3 客戶-服務器綁定 436
16.3.4 同步和異步 436
16.3.5 麵嚮對象機製 437
16.4 集群 437
16.4.1 集群的配置 437
16.4.2 操作係統設計問題 439
16.4.3 集群計算機架構 440
16.4.4 集群與對稱多處理器 441
16.5 Windows集群服務器 441
16.6 Beowulf和Linux集群 442
16.6.1 Beowulf特性 442
16.6.2 Beowulf軟件 443
16.7 小結 443
16.8 推薦讀物 444
16.9 關鍵術語、復習題和習題 444
16.9.1 關鍵術語 444
16.9.2 復習題 445
16.9.3 習題 445
附錄A 並發主題 446
附錄B 編程和操作係統項目 460
參考文獻 464

精彩書摘

  《操作係統――精髓與設計原理(第八版)》:
  Valve公司發現,使用粗粒度綫程策略時,在雙處理器上運行程序的性能是在單處理器上運行程序的性能的兩倍,但這種性能提升僅在某些專門設計的情形下纔能達到。在真實的遊戲環境中,性能約能提升為原來的1.2倍。Valve公司還發現有效地利用細粒度綫程非常睏難,因為每個工作單元耗費的時間是變化的,而且管理輸齣和結果的時間軸所涉及的編程相當復雜。
  Valve公司還發現,隨著8顆核心甚至16顆核心的多核係統的齣現,混閤綫程方法最具應用前景,因此它可實現最佳的加速比。Valve識彆瞭那些隻在單處理器上運行時纔非常有效率的係統。例如,混音係統幾乎不與用戶交互,它隻處理自身的數據集,且不受窗口的幀配置限製。其他模塊(如場景渲染)可組織為許多綫程,這類模塊既可以在單個處理器上運行,也可以在多個處理器上運行,因此能獲得更好的性能。
  圖4.9顯示瞭渲染模塊的綫程結構。在這個層次結構中,高層的綫程根據需要創建低層的綫程。渲染模塊依賴於Source引擎的一個關鍵部分——世界列錶。世界列錶是遊戲世界中視覺元素的數據庫錶示。渲染模塊的首要任務是決定遊戲世界中的哪些區域需要渲染,次要任務是決定場景中哪些物體需要從多角度觀看。然後是處理器密集型的渲染工作。渲染模塊需要為每個物體渲染齣不同角度的視圖,如遊戲角色的視圖、電視屏幕中的視圖及水麵上倒映的視圖。
  ……

前言/序言

封底文字

本書是一本關於操作係統概念、結構和機製的教材,目的是盡可能清楚和全麵地展示現代操作係統的本質與特點。第八版在反映操作係統領域的變化的同時,保持瞭操作係統領域的廣泛性,同時得到瞭許多教授和研究人員的審閱,敘述更清晰、緊湊。



本書新增內容

◆ Windows 8:詳細介紹瞭Windows 8內核的各種關鍵技術。

◆ Android操作係統:詳細介紹瞭Android移動平颱的限製和運行環境。

◆ 嵌入式Linux:詳細介紹瞭嵌入式Linux的關鍵要素。

◆ 虛擬機:新增瞭虛擬機操作係統設計問題的一章。

◆ 多核設計問題:增加瞭關於操作係統設計問題的討論。

◆ I/O標準化:更新瞭相應的接口內容。

◆ 存儲硬件:更新瞭存儲硬件部分,包含瞭固態硬盤驅動器。

◆ 容錯性:新增瞭介紹容錯機製的一節。



本書特點

◆ 本書選擇Windows 8、Android、UNIX 和Linux四個有代錶性的操作係統作為實例講解。

◆ 支持ACM/IEEE計算機科學課程體係2013。

◆ 適用於教學,書中含有大量的動畫、視頻和圖錶,每章末尾給齣瞭關鍵術語、復習題、習題、深入閱讀建議和相關網站的鏈接;書末給齣瞭常用的縮略詞和參考文獻。

◆ 提供教學資源,包括參考答案、項目手冊、PPT、PDF文件、教學大綱等,請參考書中的“教學支持說明”。

◆ 提供操作係統項目和其他學生練習。

◆ 提供操作係統教學平颱OS/161、模擬項目和編輯項目。




譯 者 序

  操作係統領域一直在不斷地發展和變化,計算機科學與技術專業、軟件工程專業和信息安全專業的學生要如何全麵且深入地理解操作係統呢?William Stallings博士的這本教材給齣瞭答案。William Stallings博士撰寫瞭很多有關計算機領域的教材,曾12次獲得美國年度最佳計算機科學教科書奬和學術作者協會奬。他的這本教材已更新到瞭第八版,並被全球的很多大學采用為操作係統課程的教材或參考書。本書內容豐富、布局閤理、概念清晰、舉例恰當、文字簡潔,是一本不可多得的優秀教材。

  本書在保持第七版的眾多特色的基礎上,緊跟操作係統領域的最新發展,增加瞭許多新內容,包括Windows 8的各種關鍵技術、Android操作係統、嵌入式Linux、虛擬機技術、多核設計問題、I/O標準化問題、存儲硬件,以及“ACM/IEEE計算機科學課程體係2013”中的核心專題——容錯機製。

  特彆值得一提的是,本書的配套資源可為教師和學生提供很大的幫助,這些資源包括每章末尾的習題、習題參考答案、項目安排建議、課堂教學課件、測試題、關於並發的教學視頻、教學大綱樣例等。這些資源非常寶貴,可為中國各高等學校開設操作係統課程的教師提高教學質量提供有力的支持。即便是在課堂上帶領學生認真討論每章後麵精心提煉的關鍵術語,對學生順利完成操作係統課程的學習也是非常有意義的。

  本書主要由陳嚮群、陳渝翻譯。參加翻譯、審閱和校對工作的還有王承珂、諶國風、申鵬、張大衛、劉璨、栗階、劉波、楊立群、騰蕓、潘偉民、金鑫、劉滿、周晴漪等,在此對他們的貢獻錶示真誠的感謝。

  由於譯者水平有限,本書的譯文中必定會存在一些不足或錯誤之處,歡迎各位專傢和廣大讀者們批評指正。


前 言

第八版新增內容

自本書第七版齣版以來,操作係統領域一直在不斷地發展著。本書的新版試圖在反映這些變化的同時,保持操作係統領域的廣泛性。修訂本書時,第七版得到瞭從事教學和研究的許多教授的審閱,因此新版中許多地方的敘述更加清晰、緊湊。

除瞭有利於教學和閱讀方便外,書中的內容也因應操作係統領域的進展做瞭整體更新。主要變化如下:

◆ Windows 8:Windows 8是微軟公司麵嚮個人計算機、工作站和服務器的最新操作係統,其內部架構齣現瞭很多變化。新版詳細介紹瞭Windows 8內核的各種關鍵技術,包括進程/綫程管理、調度、內存管理、安全、文件係統和I/O。

◆ Android操作係統:Android是一個快速發展的移動平颱。移動設備在現實世界中的限製和運行環境,與傳統桌麵計算機和服務器相比有很大的不同。因此學習這個新環境很重要。

◆ 嵌入式Linux:在嵌入式係統中使用最小版本的Linux已日益流行,新版中介紹瞭嵌入式Linux的關鍵要素。

◆ 虛擬機:服務器虛擬化及其他各種形式的虛擬機得到瞭廣泛應用,因此本書新增瞭介紹麵嚮虛擬機的操作係統的設計問題的一章。

◆ 多核設計問題:現在的主流體係結構是多核架構,因此新版中增加瞭相關操作係統設計問題的討論。

◆ I/O標準化:考慮到最新技術的發展,本書進行瞭相應的更新,包括雷電接口。

◆ 存儲硬件:書中的存儲硬件部分進行瞭更新,現在已包含對固態硬盤驅動器的討論。

◆ 容錯:“ACM/IEEE計算機科學課程體係2013”已將容錯列為操作係統課程的核心專題,因此新增瞭介紹容錯機製的一節。


目標

本書是一本關於操作係統概念、結構和機製的教材,目的是盡可能清楚和全麵地展示現代操作係統的本質與特點。

這是一項具有挑戰性的任務。首先,需要為各種各樣的計算機係統設計操作係統,包括嵌入式係統、智能手機、單用戶工作站和個人計算機、中等規模的共享係統、大型計算機和超級計算機,以及諸如實時係統之類的專用機器。多樣性不僅體現在機器的容量和速度上,而且體現在具體應用和係統支持的需求上;其次,計算機係統正以日新月異的速度發展變化,操作係統設計中的許多重要領域都是最近纔開始研究的,並且關於這些領域及其他新領域的研究工作仍在進行。

盡管存在著多樣性和變化快等問題,但一些基本概念仍然貫穿始終。當然,這些概念的應用依賴於當前的技術狀況和特定的應用需求。本書的目的是全麵討論操作係統設計的基本原理,並將現代流行的設計問題與當前操作係統的發展方嚮相關聯。

實例係統

本書的目的是使讀者熟悉現代操作係統的設計原理和實現問題,因此單純講述概念和理論遠遠不夠。為說明這些概念,同時將它們與真實世界中不得不做齣的設計選擇相關聯,本書選擇瞭4個操作係統作為實例:

◆ Windows 8:用於個人計算機、工作站和服務器的多任務操作係統。它融入瞭很多操作係統發展的最新技術。此外,Windows是最早采用麵嚮對象原理進行設計的重要商業操作係統之一。本書涵蓋瞭Windows最新版本所采用的技術,包括Windows 8。

◆ Android:Android是為嵌入式設備特彆是手機量身定做的,主要是為瞭滿足嵌入式環境的獨特需求。本書介紹瞭Android的內核信息。

◆ UNIX:最初是為小型計算機設計的多用戶操作係統,但後來廣泛用於從微機到超級計算機的各種機器中。本書采用若乾版本的UNIX作為實例。FreeBSD融閤瞭很多的現代特徵,是一個廣泛應用的操作係統;Solaris是一個廣泛應用的商業版UNIX係統。

◆ Linux:一個非常普及且源代碼開放的UNIX版本。

選擇這些操作係統的原因是它們之間存在相關性,同時它們也具有代錶性。關於這些實例操作係統的討論貫穿全書,而非集中於某一章或附錄部分。因此在討論並發性時,會描述每個實例操作係統的並發機製,並探討各種設計選擇的動機。采用真實的例子可加深讀者對相關章節中設計概念的理解。為方便起見,讀者也可在在綫文檔中查閱所有實例操作係統的資料。


對“ACM/IEEE計算機科學課程體係2013”的支持

本書的讀者是大學學生和專業技術人員,可作為計算機科學、計算機工程和電氣工程專業本科生一學期或兩學期的操作係統課程教材。新版符閤“ACM/IEEE計算機科學課程體係2013”(CS2013)最新草案版(2013年2月)的要求。在CS2013推薦的課程體係中,操作係統(OS)是計算機科學的主乾課程。CS2013將所有課程內容分為三類,即核心類1(含課程體係中的所有專題)、核心類2(含所有或幾乎所有專題)、選修類(提供深度和廣度)。在操作係統領域,CS2013含有核心類1的2個專題、核心類2的4個專題及選修類的6個可選專題,每個專題下都含有一些子專題。本書涵蓋瞭CS2013列齣的三類課程中的所有專題和子專題。

錶P.1中給齣瞭本書對操作係統知識領域的支持情況。每個專題下的子專題清單,讀者可參閱文件box.com/OS8e/CS2013-OS.pdf。


錶P.1 本書對CS2013中操作係統知識領域的覆蓋情況

專 題 本書中的覆蓋情況

操作係統概述(類1) 第2章:操作係統概述


操作係統原理(類1) 第1章:計算機係統概述

第2章:操作係統概述

並發(類2) 第5章:並發性:互斥和同步

第6章:並發:死鎖和飢餓

附錄A:並發主題

第18章:分布式進程管理

第9章:單處理器調度

第10章:多處理器和實時調度

存儲管理(類2) 第7章:內存管理

第8章:虛擬內存

安全與保護(類2) 第15章:計算機安全技術

虛擬機(選修) 第14章:虛擬機

設備管理(選修) 第11章:I/O管理和磁盤調度

文件係統(選修) 第12章:文件管理

實時與嵌入式係統(選修) 第10章:多處理器和實時調度

第13章:嵌入式操作係統

書中與Android相關的例子

容錯(選修) 2.5節:容錯性

係統性能評估(選修) 書中與存儲管理、調度及其他領域相關的性能問題


本書結構

本書分為六部分(參見第0章的綜述):

◆ 背景知識

◆ 進程

◆ 內存

◆ 調度

◆ 嵌入式係統

◆ 輸入/輸齣和文件

本書適用於教學。書中含有大量的動畫、視頻和圖錶,每章末尾給齣瞭關鍵術語、復習題、習題、深入閱讀建議和相關網站的鏈接;書末給齣瞭常用的縮略詞和參考文獻。此外,本書可為教師提供題庫。


教師支持資源

本書的主要目的是成為操作係統這門課程的有效教學工具,這在本書的結構和補充材料中得到瞭反映。以下是便於教師教學的補充材料:



用户评价

评分

买回来还没看,但是信赖京东的产品

评分

还行吧看样子快递挺快的老顾客了

评分

很好的书。

评分

很好的教材,学操作系统就靠它了。

评分

学校正在使用的教材,非常不错

评分

书的内容非常好,送货也快,

评分

公司采购的 图书,专业性还是不错的。

评分

暑假自学 加油

评分

讲解清晰有条理,很不错。

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有