新到貨2本75折
操作系統:精髓與設計原理(第8版)

操作系統:精髓與設計原理(第8版)

  • 定價:648
  • 優惠價:87564
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書是作業系統的經典教材,內容涉及作業系統的概念、結構和機制。

全書不僅系統地講述了作業系統的基本概念、原理和方法,而且以當代主流的作業系統Windows 8、UNIX、Android、Linux為例,呈現了當代作業系統的本質和特點。具體內容包括背景、進程、記憶體、調度、輸入/輸出與檔、嵌入式系統、安全、分散式系統8個部分。

 

作者介紹

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

目錄

第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

 

詳細資料

  • ISBN:9787115477026
  • 規格:平裝 / 596頁 / 16k / 19 x 26 x 2.98 cm / 普通級 / 單色印刷 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬