-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

操作系統 精髓與設計原理 第8版 全球版

( 簡體 字)
作者:[美] 威廉·斯托林斯(William Stallings)類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社操作系統 精髓與設計原理 第8版 全球版 3dWoo書號: 50480
詢問書籍請說出此書號!

缺書
NT售價: 540

出版日:1/1/2019
頁數:596
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115477026
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書是操作系統的經典教材,內容涉及操作系統的概念、結構和機制。
全書不僅系統地講述了操作系統的基本概念、原理和方法,而且以當代主流的操作系統Windows 8、UNIX、Android、Linux為例,呈現了當代操作系統的本質和特點。具體內容包括背景、進程、內存、調度、輸入/輸出與文件、嵌入式系統、安全、分布式系統8個部分。
目錄:

第0章 讀者和教師指南 1
0.1 本書概述 2
0.2 實例系統 2
0.3 讀者和教師學習路線圖 3
0.4 互聯網和網站資源 4
本書配套的網站 4
其他網站 4
第 1部分 背景
第 1章 計算機系統概述 5
1.1 基本組成 6
1.2 微處理器的發展 7
1.3 指令的執行 8
1.4 中斷 10
1.4.1 中斷和指令周期 11
1.4.2 中斷處理 15
1.4.3 多個中斷 17
1.5 分級存儲體系 19
1.6 高速緩存 22
1.6.1 動機 22
1.6.2 高速緩存的原理 22
1.6.3 高速緩存的設計 24
1.7 直接內存訪問 25
1.8 多處理器和多核組織結構 26
1.8.1 對稱多處理器 27
1.8.2 組織結構 27
1.8.3 多核計算機 28
1.9 推薦閱讀 29
1.10 關鍵術語、復習題與習題 30
附錄1A 兩級存儲器的性能特征 33
第 2章 操作系統概述 39
2.1 操作系統的目標和功能 40
2.1.1 作為用戶與系統交互
接口的操作系統 40
2.1.2 作為資源管理器的
操作系統 42
2.1.3 操作系統的易
發展性 43
2.2 操作系統的發展 44
2.2.1 串行處理 44
2.2.2 簡單批處理系統 44
2.2.3 多道批處理系統 47
2.2.4 分時系統 49
2.3 主要成就 51
2.3.1 進程 52
2.3.2 內存管理 55
2.3.3 信息保護和安全 56
2.3.4 調度和資源管理 57
2.4 現代操作系統的發展 58
2.5 容錯 61
2.5.1 基本概念 61
2.5.2 故障 62
2.5.3 操作系統中的機制 63
2.6 多處理器和多核操作系統設計要
考慮的因素 63
2.6.1 對稱多處理器操作
系統設計上的考慮 63
2.6.2 多核操作系統
設計上的考慮 64
2.7 微軟Windows簡介 66
2.7.1 背景 66
2.7.2 體系結構 66
2.7.3 客戶/服務器模式 69
2.7.4 線程和SMP 70
2.7.5 Windows對象 70
2.8 傳統UNIX系統 72
2.8.1 發展歷史 72
2.8.2 系統概述 72
2.9 現代UNIX系統 74
2.9.1 System V第4版
(SVR4) 74
2.9.2 BSD 75
2.9.3 Solaris 10 75
2.10 Linux系統 76
2.10.1 發展歷史 76
2.10.2 模塊結構 76
2.10.3 內核組件 78
2.11 Android系統 80
2.11.1 安卓軟件架構 81
2.11.2 安卓系統架構 83
2.11.3 活動 83
2.11.4 電源管理 84
2.12 推薦閱讀和配套演示 85
2.13 關鍵術語、復習題與習題 86
第 2部分 進程
第3章 進程的描述與控制 89
3.1 什么是進程? 90
3.1.1 背景 90
3.1.2 進程和進程控制塊 91
3.2 進程狀態 92
3.2.1 雙狀態模型 94
3.2.2 進程的創建和結束 95
3.2.3 五狀態模型 97
3.2.4 進程掛起 100
3.3 進程描述符 104
3.3.1 操作系統中控制
資源的結構 105
3.3.2 進程控制塊 106
3.4 進程控制 112
3.4.1 (處理器的)執行的
模式 112
3.4.2 進程創建 113
3.4.3 進程切換 114
3.5 操作系統的執行 116
3.5.1 獨立內核 116
3.5.2 嵌套于用戶進程 117
3.5.3 基于進程的操作
系統 118
3.6 UNIX SVR4中的進程管理 118
3.6.1 進程狀態 118
3.6.2 進程描述 120
3.6.3 進程控制 122
3.7 總結 122
3.8 推薦閱讀與動畫 123
3.9 關鍵術語、復習題與習題 123
第4章 線程 128
4.1 進程和線程 129
4.1.1 多線程 129
4.1.2 線程功能 132
4.2 線程的類型 134
4.2.1 用戶級和內核級
線程 134
4.2.2 其他設計 138
4.3 多核和多線程 140
4.3.1 多核環境下應用的
性能 140
4.3.2 應用示例:Valve的
游戲軟件 143
4.4 Windows 8的進程和線程
管理 144
4.4.1 Windows 8所帶來的
改變 145
4.4.2 Windows進程 146
4.4.3 進程和線程對象 147
4.4.4 多線程 149
4.4.5 線程狀態 149
4.4.6 操作系統子系統的
支持 150
4.5 Solaris的線程和多處理器
管理 150
4.5.1 多線程結構 150
4.5.2 設計目標 151
4.5.3 進程結構 152
4.5.4 線程執行 153
4.5.5 用線程處理中斷 153
4.6 Linux的進程和線程管理 154
4.6.1 Linux進程 154
4.6.2 Linux線程 156
4.6.3 Linux命名空間 157
4.7 Android的進程和線程管理 158
4.7.1 Android應用 158
4.7.2 活動 159
4.7.3 進程和線程 161
4.8 Mac OS X的Grand Central
Dispatch 161
4.9 總結 164
4.10 推薦閱讀 164
4.11 關鍵術語、復習題與習題 164
第5章 并發:互斥與同步 169
5.1 并發的原理 171
5.1.1 一個簡單例子 172
5.1.2 競態(Race
Condition) 173
5.1.3 操作系統的設計
挑戰 174
5.1.4 進程交互 174
5.1.5 實現互斥的條件 177
5.2 互斥:硬件的支撐方案 178
5.2.1 關中斷 178
5.2.2 特殊機器指令 178
5.3 信號燈(Semaphore) 181
5.3.1 互斥的實現 184
5.3.2 生產者/消費者
問題 186
5.3.3 信號燈的實現 191
5.4 管程(Monitor) 192
5.4.1 管程和信號 192
5.4.2 采用通知和廣播的
管程模型 196
5.5 消息通信 197
5.5.1 同步(Synchroni-
zation) 198
5.5.2 尋址(Addres-
sing) 199
5.5.3 消息格式 201
5.5.4 隊列組織 201
5.5.5 互斥的實現 201
5.6 讀者/寫者問題 203
5.6.1 讀者優先 203
5.6.2 寫者優先 204
5.7 總結 207
5.8 推薦閱讀 207
5.9 關鍵術語、復習題與習題 208
第6章 并發:死鎖與饑餓 221
6.1 死鎖的原理 222
6.1.1 可重用資源 225
6.1.2 消耗性資源 226
6.1.3 資源分配圖 227
6.1.4 死鎖發生的條件 228
6.2 死鎖預防(Deadlock
Prevention) 229
6.2.1 互斥條件 229
6.2.2 占有并等待條件 230
6.2.3 不可搶占條件 230
6.2.4 環路等待條件 230
6.3 死鎖避免(Deadlock
Avoidance) 230
6.3.1 拒絕創建進程 231
6.3.2 拒絕分配資源 232
6.4 死鎖檢測(Deadlock
Detection) 235
6.4.1 死鎖檢測算法 236
6.4.2 死鎖恢復 237
6.5 解決死鎖的綜合方案 237
6.6 哲學家進餐問題 238
6.6.1 使用信號燈的解決
方案 238
6.6.2 使用管程的解決
方案 240
6.7 UNIX系統的并發控制機制 241
6.7.1 管道 242
6.7.2 消息 242
6.7.3 共享內存 242
6.7.4 信號燈 242
6.7.5 信號 243
6.8 Linux內核的并發控制機制 244
6.8.1 原子操作 245
6.8.2 自旋鎖
(Spinlocks) 246
6.8.3 信號燈 248
6.8.4 屏障點
(Barriers) 249
6.9 Solaris線程同步原語 250
6.9.1 互斥鎖 251
6.9.2 信號燈 251
6.9.3 讀者/寫者鎖 252
6.9.4 條件變量(Condition
Variable) 252
6.10 Windows 7的并發控制機制 252
6.10.1 Wait函數 252
6.10.2 調度對象(Dispatcher
Object) 253
6.10.3 臨界區 254
6.10.4 瘦讀者-寫者鎖和
條件變量 254
6.10.5 無鎖同步 255
6.11 Android系統中的進程間
通信 255
6.12 總結 256
6.13 推薦閱讀 256
6.14 關鍵術語、復習題與習題 257
第3部分 內存
第7章 內存管理 265
7.1 內存管理的需求 266
7.1.1 內存重定位 266
7.1.2 內存保護 267
7.1.3 內存共享 268
7.1.4 邏輯結構 268
7.1.5 物理結構 268
7.2 內存分區 269
7.2.1 固定分區 270
7.2.2 分區大小 270
7.2.3 放置策略 271
7.2.4 動態分區 272
7.2.5 放置策略 273
7.2.6 置換策略 275
7.2.7 伙伴系統 275
7.2.8 重定位 277
7.3 分頁 278
7.4 分段 282
7.5 小結 282
7.6 推薦閱讀和配套演示 283
7.7 關鍵術語、復習題與習題 283
附錄7A 加載和鏈接 286
第8章 虛擬內存 292
8.1 硬件和控制結構 293
8.1.1 局部性和虛擬
內存 295
8.1.2 分頁 296
8.1.3 頁表結構 297
8.1.4 分段 305
8.1.5 段頁式 306
8.1.6 保護和共享 307
8.2 操作系統軟件 308
8.2.1 讀取策略 309
8.2.2 放置策略 309
8.2.3 置換策略 310
8.2.4 頁緩沖 314
8.2.5 置換策略和高速
緩沖的大小 315
8.2.6 清除策略 321
8.2.7 加載控制 321
8.3 UNIX和SOLARIS的內存
管理 323
8.3.1 分頁系統 323
8.3.2 內核內存分配器 326
8.4 Linux內存管理 327
8.4.1 Linux虛擬內存 327
8.4.2 內核內存分配 329
8.5 Windows內存管理 330
8.5.1 Windows虛擬地址
映射 330
8.5.2 Windows分頁 331
8.5.3 Windows 8交換 332
8.6 Android內存管理 332
8.7 小結 332
8.8 推薦閱讀和配套演示 333
8.9 關鍵術語、復習題與習題 334
第4部分 調度
第9章 單處理器調度 339
9.1 處理器調度的類型 340
9.1.1 長期調度 342
9.1.2 中期調度 343
9.1.3 短期調度 343
9.2 調度算法 343
9.2.1 短期調度準則 343
9.2.2 優先級的使用 345
9.2.3 可選的調度策略 345
9.2.4 性能比較 355
9.2.5 公平共享調度 360
9.3 傳統的UNIX調度 362
9.4 總結 363
9.5 推薦閱讀和動畫 364
9.6 關鍵術語、復習題與習題 364
第 10章 多處理器、多核調度與實時
調度 369
10.1 多處理器和多核調度 370
10.1.1 粒度 370
10.1.2 設計問題 371
10.1.3 進程調度 373
10.1.4 線程調度 374
10.1.5 多核線程調度 379
10.2 實時調度 380
10.2.1 背景 380
10.2.2 實時操作系統的
特點 381
10.2.3 實時調度 384
10.2.4 截止期限調度 385
10.2.5 單調速率調度 388
10.2.6 優先級反轉 391
10.3 Linux調度 393
10.3.1 實時調度 393
10.3.2 非實時調度 394
10.4 UNIX SVR4調度 396
10.5 UNIX FreeBSD調度 397
10.5.1 優先級類 398
10.5.2 對SMP和多核的
支持 398
10.6 Windows調度 400
10.6.1 進程和線程
優先級 400
10.6.2 多處理器調度 401
10.7 總結 402
10.8 推薦閱讀 403
10.9 關鍵術語、復習題與習題 403
第5部分 輸入/輸出與文件
第 11章 I/O管理和磁盤調度 407
11.1 I/O設備 408
11.2 I/O功能的組織 409
11.2.1 I/O功能的發展
歷程 410
11.2.2 直接內存訪問 411
11.3 操作系統設計問題 412
11.3.1 設計目標 412
11.3.2 I/O功能的邏輯
結構 413
11.4 I/O緩沖 414
11.4.1 單緩沖區 415
11.4.2 雙緩沖區 416
11.4.3 環形緩沖區 417
11.4.4 緩沖區的作用 417
11.5 磁盤調度 417
11.5.1 磁盤性能參數 417
11.5.2 磁盤調度策略 419
11.6 RAID 423
11.6.1 0級RAID 426
11.6.2 1級RAID 427
11.6.3 2級RAID 428
11.6.4 3級RAID 428
11.6.5 4級RAID 429
11.6.6 5級RAID 430
11.6.7 6級RAID 430
11.7 磁盤高速緩存 430
11.7.1 設計考慮 431
11.7.2 性能考慮 432
11.8 UNIX SVR4 I/O 434
11.8.1 緩沖區高速
緩存 434
11.8.2 字符隊列 435
11.8.3 無緩沖的I/O 435
11.8.4 UNIX設備 436
11.9 Linux I/O 436
11.9.1 磁盤調度 436
11.9.2 Linux頁面緩存 438
11.10 Windows I/O 439
11.10.1 基本I/O機制 439
11.10.2 異步I/O和同步
I/O 439
11.10.3 軟件RAID 440
11.10.4 卷影拷貝 441
11.10.5 卷加密 441
11.11 總結 441
11.12 推薦閱讀和動畫 441
11.13 關鍵術語、復習題與習題 443
第 12章 文件管理 445
12.1 概述 446
12.1.1 文件和文件
系統 446
12.1.2 文件結構 447
12.1.3 文件管理系統 448
12.2 文件組織與訪問 451
12.2.1 堆 452
12.2.2 順序文件 453
12.2.3 索引順序文件 453
12.2.4 索引文件 454
12.2.5 直接文件或哈希
文件 455
12.3 B樹 455
12.4 文件目錄 458
12.4.1 內容 458
12.4.2 結構 459
12.4.3 命名 460
12.5 文件共享 461
12.5.1 訪問權限 462
12.5.2 同時訪問 462
12.6 記錄組塊 463
12.7 輔存管理 464
12.7.1 文件分配 464
12.7.2 空閑空間管理 469
12.7.3 卷 471
12.7.4 可靠性 471
12.8 UNIX文件管理 472
12.8.1 i節點 472
12.8.2 文件分配 474
12.8.3 目錄 475
12.8.4 卷結構 475
12.9 Linux虛擬文件系統 475
12.9.1 超級塊對象 477
12.9.2 i節點對象 478
12.9.3 目錄項對象 478
12.9.4 文件對象 478
12.9.5 高速緩存 479
12.10 Windows文件系統 479
12.10.1 NTFS的關鍵
特性 479
12.10.2 NTFS的卷和文件
結構 480
12.10.3 可恢復性 482
12.11 Android文件管理 483
12.11.1 文件系統 483
12.11.2 SQLite 484
12.12 總結 485
12.13 推薦閱讀 485
12.14 關鍵術語、復習題與習題 486
第6部分 嵌入式系統
第 13章 嵌入式系統 489
13.1 嵌入式系統 490
13.2 嵌入式操作系統的特征 491
13.2.1 移植現有的商用
操作系統 492
13.2.2 專用嵌入式操作
系統 492
13.3 嵌入式Linux 493
13.3.1 內核大小 493
13.3.2 編譯 493
13.3.3 嵌入式Linux文件
系統 493
13.3.4 嵌入式Linux的
優勢 494
13.3.5 Android 494
13.4 TinyOS 495
13.4.1 無線傳感器
網絡 495
13.4.2 TinyOS的目標 496
13.4.3 TinyOS組件 497
13.4.4 TinyOS調度器 499
13.4.5 配置實例 500
13.4.6 TinyOS資源
接口 501
13.5 推薦閱讀 503
13.6 關鍵術語、復習題與習題 503
第 14章 虛擬機 506
14.1 虛擬化方法 508
14.2 處理器問題 511
14.3 內存管理 513
14.4 I/O管理 514
14.5 VMware ESXi 515
14.6 微軟Hyper-V和Xen變體 517
14.7 Java VM 518
14.8 Linux VServer虛擬機架構 519
14.8.1 體系結構 519
14.8.2 進程調度 520
14.9 Android虛擬機 521
14.9.1 Dex文件格式 522
14.9.2 Zygote 523
14.10 總結 523
14.11 推薦閱讀 523
14.12 關鍵術語、復習題與習題 524
第7部分 安全
第 15章 操作系統安全 527
15.1 入侵者和惡意軟件 528
15.1.1 系統訪問威脅 528
15.1.2 對策 529
15.2 緩沖區溢出 531
15.2.1 緩沖區溢出
攻擊 531
15.2.2 編譯時防御 534
15.2.3 運行時防御 536
15.3 訪問控制 537
15.3.1 文件系統訪問
控制 537
15.3.2 訪問控制策略 539
15.4 UNIX訪問控制 544
15.4.1 傳統UNIX文件訪問
控制 544
15.4.2 UNIX中的訪問控制
列表 546
15.5 操作系統強化 546
15.5.1 操作系統安裝:初次
安裝與修補 547
15.5.2 移除不必要的服務、
應用和協議 548
15.5.3 配置用戶、組和身份
驗證 548
15.5.4 配置資源控制 549
15.5.5 安裝額外的安全
控制 549
15.5.6 測試系統安全性 549
15.6 安全維護 550
15.6.1 用戶登入 550
15.6.2 數據備份和存檔 550
15.7 Windows安全 551
15.7.1 訪問控制模式 551
15.7.2 訪問令牌 552
15.7.3 安全描述符 552
15.8 總結 555
15.9 推薦閱讀 555
15.10 關鍵術語、復習題與習題 556
第8部分 分布式系統
第 16章 分布式處理、客戶/服務器和
集群 559
16.1 客戶/服務器計算 560
16.1.1 什么是客戶/服務器
計算? 560
16.1.2 客戶/服務器
應用 562
16.1.3 中間件 567
16.2 分布式消息傳遞 569
16.2.1 可靠性與不可
靠性 571
16.2.2 阻塞與非阻塞 571
16.3 遠程過程調用 571
16.3.1 參數傳遞 572
16.3.2 參數表示 573
16.3.3 客戶/服務器
綁定 573
16.3.4 同步與異步 573
16.3.5 面向對象機制 574
16.4 集群 574
16.4.1 集群的配置 575
16.4.2 操作系統的設計
問題 577
16.4.3 集群計算機的體系
結構 578
16.4.4 集群與SMP的
對比 579
16.5 Windows集群服務器 579
16.6 Beowulf和Linux集群 581
16.6.1 Beowulf特性 581
16.6.2 Beowulf軟件 582
16.7 總結 582
16.8 推薦閱讀 583
16.9 關鍵術語、復習題與習題 583
參考文獻 586
序: