如果你問操作系統精髓與設計原理(中文第六版)這本書有什么特點,那么一定會有人這樣回答你——本書最大的特點就是對操作系統的基本概念解釋的很清楚。另外該書對操作系統的原理和內容都做了清晰的闡述。同時,書中還通過列舉實際的操作系統(如windows和linux),對某些問題來進一步說明,使得原理和概念性的東西不再那么枯燥。有朋友這樣評價這本書:“比Andrew S.Tanenbaum的那本經典的《現代操作系統》還要更加深入一些,不僅可以讓讀者入門,還可以讓讀者對操作系統的理解更加的深刻”。 本節內容小編為大家整理帶來的是pdf格式免費完整版操作系統精髓與設計原理電子書,該書共有556頁,歡迎有需要的朋友下載查閱!
操作系統精髓與設計原理(中文第六版)簡介
本書不僅全面地講述了操作系統的基本概念、原理和方法,還清楚地展現了當代操作系統的本質和特點。作者針對近幾年操作系統領域的最新變化,對操作系統的設計原理進行深入的闡述,同時將其對操作系統整個領域全面而深入的理解呈現給讀者。
操作系統精髓與設計原理(中文第六版)目錄
出版者的話
譯者序
前言
第0章 讀者指南 1
0.1 本書概述 1
0.2 讀者和教師的學習路線圖 1
0.3 Internet和Web資源 2
第一部分 背景
第1章 計算機系統概述 6
1.1 基本構成 6
1.2 處理器寄存器 6
1.2.1 用戶可見寄存器 7
1.2.2 控制和狀態寄存器 8
1.3 指令的執行 9
1.3.1 取指令和執行指令 9
1.3.2 I/O函數 11
1.4 中斷 11
1.4.1 中斷和指令周期 12
1.4.2 中斷處理 14
1.4.3 多個中斷 15
1.4.4 多道程序設計 17
1.5 存儲器的層次結構 17
1.6 高速緩存 20
1.6.1 動機 20
1.6.2 高速緩存原理 20
1.6.3 高速緩存設計 21
1.7 I/O通信技術 22
1.7.1 可編程I/O 22
1.7.2 中斷驅動I/O 22
1.7.3 直接內存存取 24
1.8 推薦讀物和網站 24
1.9 關鍵術語、復習題和習題 25
附錄1A 兩級存儲器的性能特征 27
附錄1B 過程控制 30
第2章 操作系統概述 33
2.1 操作系統的目標和功能 33
2.1.1 作為用戶/計算機接口的
2.1.1 操作系統 33
2.1.2 作為資源管理器的操作
2.1.1 系統 34
2.1.3 操作系統的易擴展性 35
2.2 操作系統的發展 35
2.2.1 串行處理 35
2.2.2 簡單批處理系統 36
2.2.3 多道程序設計批處理系統 38
2.2.4 分時系統 40
2.3 主要的成就 42
2.3.1 進程 42
2.3.2 內存管理 44
2.3.3 信息保護和安全 46
2.3.4 調度和資源管理 46
2.3.5 系統結構 47
2.4 現代操作系統的特征 49
2.5 微軟的Windows 概述 51
2.5.1 歷史 51
2.5.2 單用戶多任務 53
2.5.3 體系結構 53
2.5.4 客戶/服務器模型 56
2.5.5 線程和SMP 57
2.5.6 Windows對象 57
2.6 傳統的UNIX系統 58
2.6.1 歷史 58
2.6.2 描述 59
2.7 現代UNIX系統 60
2.7.1 系統V版本4(SVR4) 60
2.7.2 BSD 61
2.7.3 Solaris 10 61
2.8 Linux操作系統 61
2.8.1 歷史 62
2.8.2 模塊結構 63
2.8.3 內核組件 64
2.9 推薦讀物和網站 67
2.10 關鍵術語、復習題和習題 68
第二部分 進程
第3章 進程描述和控制 73
3.1 什么是進程 73
3.1.1 背景 73
3.1.2 進程和進程控制塊 74
3.2 進程狀態 75
3.2.1 兩狀態進程模型 76
3.2.2 進程的創建和終止 77
3.2.3 五狀態模型 78
3.2.4 被掛起的進程 81
3.3 進程描述 84
3.3.1 操作系統的控制結構 85
3.3.2 進程控制結構 86
3.4 進程控制 90
3.4.1 執行模式 90
3.4.2 進程創建 91
3.4.3 進程切換 92
3.5 操作系統的執行 93
3.5.1 無進程的內核 94
3.5.2 在用戶進程中執行 94
3.5.3 基于進程的操作系統 95
3.6 安全問題 95
3.6.1 系統訪問威脅 96
3.6.2 對抗措施 96
3.7 UNIX SVR4進程管理 98
3.7.1 進程狀態 98
3.7.2 進程描述 99
3.7.3 進程控制 101
3.8 小結 102
3.9 推薦讀物 102
3.10 關鍵術語、復習題和習題 102
編程項目1:開發一個shell程序 105
第4章 線程、對稱多處理(SMP)
第4章 和微內核 107
4.1 進程和線程 107
4.1.1 多線程 107
4.1.2 線程功能特性 109
4.1.3 例子:Adobe PageMaker 111
4.1.4 用戶級和內核級線程 112
4.1.5 其他方案 115
4.2 對稱多處理 116
4.2.1 SMP體系結構 116
4.2.2 SMP系統的組織結構 117
4.2.3 多處理器操作系統的
4.2.3 設計思考 118
4.3 微內核 119
4.3.1 微內核體系結構 119
4.3.2 微內核組織結構的優點 120
4.3.3 微內核性能 121
4.3.4 微內核設計 121
4.4 Windows線程和SMP管理 122
4.4.1 進程對象和線程對象 123
4.4.2 多線程 125
4.4.3 線程狀態 125
4.4.4 對操作系統子系統的支持 126
4.4.5 對稱多處理的支持 126
4.5 Solaris的線程和SMP管理 127
4.5.1 多線程體系結構 127
4.5.2 動機 127
4.5.3 進程結構 128
4.5.4 線程的執行 129
4.5.5 把中斷當做線程 129
4.6 Linux的進程和線程管理 130
4.6.1 Linux任務 130
4.6.2 Linux線程 131
4.7 小結 132
4.8 推薦讀物 133
4.9 關鍵術語、復習題和習題 133
第5章 并發性:互斥和同步 138
5.1 并發的原理 139
5.1.1 一個簡單的例子 139
5.1.2 競爭條件 141
5.1.3 操作系統關注的問題 141
5.1.4 進程的交互 141
5.1.5 互斥的要求 144
5.2 互斥:硬件的支持 144
5.2.1 中斷禁用 144
5.2.2 專用機器指令 145
5.3 信號量 147
5.3.1 互斥 150
5.3.2 生產者/消費者問題 151
5.3.3 信號量的實現 154
5.4 管程 155
5.4.1 使用信號的管程 155
5.4.2 使用通知和廣播的管程 158
5.5 消息傳遞 159
5.5.1 同步 160
5.5.2 尋址 161
5.5.3 消息格式 162
5.5.4 排隊原則 162
5.5.5 互斥 162
5.6 讀者-寫者問題 163
5.6.1 讀者優先 164
5.6.2 寫者優先 164
5.7 小結 166
5.8 推薦讀物 167
5.9 關鍵術語、復習題和習題 167
第6章 并發:死鎖和饑餓 178
6.1 死鎖的原理 178
6.1.1 可重用資源 180
6.1.2 可消耗資源 181
6.1.3 資源分配圖 182
6.1.4 死鎖的條件 183
6.2 死鎖預防 184
6.2.1 互斥 184
6.2.2 占有且等待 184
6.2.3 不可搶占 184
6.2.4 循環等待 184
6.3 死鎖避免 185
6.3.1 進程啟動拒絕 185
6.3.2 資源分配拒絕 186
6.4 死鎖檢測 189
6.4.1 死鎖檢測算法 189
6.4.2 恢復 190
6.5 一種綜合的死鎖策略 190
6.6 哲學家就餐問題 191
6.6.1 使用信號量解決方案 191
6.6.2 使用管程解決方案 192
6.7 UNIX的并發機制 192
6.7.1 管道 192
6.7.2 消息 193
6.7.3 共享內存 193
6.7.4 信號量 194
6.7.5 信號 194
6.8 Linux內核并發機制 195
6.8.1 原子操作 195
6.8.2 自旋鎖 196
6.8.3 信號量 197
6.8.4 屏障 199
6.9 Solaris線程同步原語 199
6.9.1 互斥鎖 200
6.9.2 信號量 200
6.9.3 多讀者/單寫者鎖 201
6.9.4 條件變量 201
6.10 Windows并發機制 201
6.10.1 等待函數 201
6.10.2 分派器對象 202
6.10.3 臨界區 203
6.10.4 輕量級讀寫鎖和條件變量 203
6.11 小結 204
6.12 推薦讀物 204
6.13 關鍵術語、復習題和習題 205
第三部分 內存
第7章 內存管理 210
7.1 內存管理的需求 210
7.1.1 重定位 210
7.1.2 保護 211
7.1.3 共享 211
7.1.4 邏輯組織 211
7.1.5 物理組織 211
7.2 內存分區 212
7.2.1 固定分區 212
7.2.2 動態分區 214
7.2.3 伙伴系統 216
7.2.4 重定位 218
7.3 分頁 219
7.4 分段 222
7.5 安全問題 222
7.5.1 緩沖區溢出攻擊 222
7.5.2 預防緩沖區溢出 225
7.6 小結 225
7.7 推薦讀物 225
7.8 關鍵術語、復習題和習題 225
附錄7A 加載和鏈接 228
第8章 虛擬內存 232
8.1 硬件和控制結構 232
8.1.1 局部性和虛擬內存 233
8.1.2 分頁 235
8.1.3 分段 242
8.1.4 段頁式 243
8.1.5 保護和共享 244
8.2 操作系統軟件 244
8.2.1 讀取策略 245
8.2.2 放置策略 246
8.2.3 置換策略 246
8.2.4 駐留集管理 251
8.2.5 清除策略 255
8.2.6 加載控制 255
8.3 UNIX和Solaris內存管理 257
8.3.1 分頁系統 257
8.3.2 內核內存分配器 259
8.4 Linux內存管理 260
8.4.1 Linux虛擬內存 260
8.4.2 內核內存分配 261
8.5 Windows內存管理 262
8.5.1 Windows虛擬地址映射 263
8.5.2 Windows分頁 263
8.6 小結 264
8.7 推薦讀物和網站 264
8.8 關鍵術語、復習題和習題 265
附錄8A 散列表 268
第四部分 調度
第9章 單處理器調度 272
9.1 處理器調度的類型 272
9.1.1 長程調度 273
9.1.2 中程調度 274
9.1.3 短程調度 274
9.2 調度算法 274
9.2.1 短程調度準則 274
9.2.2 優先級的使用 275
9.2.3 選擇調度策略 276
9.2.4 性能比較 284
9.2.5 公平共享調度 287
9.3 傳統的UNIX調度 289
9.4 小結 290
9.5 推薦讀物 291
9.6 關鍵術語、復習題和習題 291
附錄9A 響應時間 294
附錄9B 排隊系統 296
編程項目2:主機調度shell程序 299
第10章 多處理器和實時調度 304
10.1 多處理器調度 304
10.1.1 粒度 304
10.1.2 設計問題 307
10.1.3 進程調度 308
10.1.4 線程調度 309
10.2 實時調度 312
10.2.1 背景 312
10.2.2 實時操作系統的特點 313
10.2.3 實時調度 315
10.2.4 限期調度 316
10.2.5 速率單調調度 319
10.2.6 優先級反轉 321
10.3 Linux調度 322
10.3.1 實時調度 322
10.3.2 非實時調度 323
10.4 UNIX SVR4調度 325
10.5 Windows調度 326
10.5.1 進程和線程優先級 326
10.5.2 多處理器調度 328
10.6 小結 328
10.7 推薦讀物 328
10.8 關鍵術語、復習題和習題 329
第五部分 I/O和文件
第11章 I/O管理和磁盤調度 334
11.1 I/O設備 334
11.2 I/O功能的組織 335
11.2.1 I/O功能的發展 335
11.2.2 直接存儲器訪問 336
11.3 操作系統設計問題 337
11.3.1 設計目標 337
11.3.2 I/O功能的邏輯結構 338
11.4 I/O緩沖 339
11.4.1 單緩沖 340
11.4.2 雙緩沖 341
11.4.3 循環緩沖 341
11.4.4 緩沖的作用 341
11.5 磁盤調度 342
11.5.1 磁盤性能參數 342
11.5.2 磁盤調度策略 344
11.6 RAID 347
11.6.1 RAID級別0 349
11.6.2 RAID級別1 350
11.6.3 RAID級別2 351
11.6.4 RAID級別3 351
11.6.5 RAID級別4 352
11.6.6 RAID級別5 353
11.6.7 RAID級別6 353
11.7 磁盤高速緩存 353
11.7.1 設計考慮 353
11.7.2 性能考慮 355
11.8 UNIX SVR4 I/O 355
11.8.1 緩沖區高速緩存 356
11.8.2 字符隊列 356
11.8.3 無緩沖I/O 357
11.8.4 UNIX設備 357
11.9 Linux I/O 357
11.9.1 磁盤調度 358
11.9.2 Linux頁面緩存 360
11.10 Windows I/O 360
11.10.1 基本I/O機制 360
11.10.2 異步I/O和同步I/O 361
11.10.3 軟件RAID 361
11.10.4 卷影復制 361
11.10.5 卷加密 362
11.11 小結 362
11.12 推薦讀物 362
11.13 關鍵術語、復習題和習題 363
附錄11A 磁盤存儲設備 365
第12章 文件管理 371
12.1 概述 371
12.1.1 文件和文件系統 371
12.1.2 文件結構 371
12.1.3 文件管理系統 373
12.2 文件組織和訪問 375
12.2.1 堆 376
12.2.2 順序文件 376
12.2.3 索引順序文件 377
12.2.4 索引文件 377
12.2.5 直接文件或散列文件 378
12.3 文件目錄 378
12.3.1 內容 378
12.3.2 結構 379
12.3.3 命名 380
12.4 文件共享 381
12.4.1 訪問權限 381
12.4.2 同時訪問 381
12.5 記錄組塊 382
12.6 二級存儲管理 383
12.6.1 文件分配 383
12.6.2 空閑空間的管理 387
12.6.3 卷 388
12.6.4 可靠性 388
12.7 文件系統安全 389
12.8 UNIX文件管理 390
12.8.1 索引節點 391
12.8.2 文件分配 392
12.8.3 目錄 393
12.8.4 卷結構 393
12.8.5 傳統的UNIX文件訪問
6.10.4 控制 393
12.8.6 UNIX中的訪問控制列表 394
12.9 Linux虛擬文件系統 395
12.9.1 超級塊對象 397
12.9.2 索引節點對象 397
12.9.3 目錄項對象 398
12.9.4 文件對象 398
12.10 Windows文件系統 398
12.10.1 NTFS的重要特征 398
12.10.2 NTFS卷和文件結構 399
12.10.3 可恢復性 401
12.11 小結 402
12.12 推薦讀物 402
12.13 關鍵術語、復習題和習題 403
第六部分 嵌入式系統
第13章 嵌入式操作系統 406
13.1 嵌入式系統 406
13.2 嵌入式操作系統的特點 407
13.2.1 移植現有的商業操作系統 408
13.2.2 為特定目的構建的嵌入式
6.10.4 操作系統 408
13.3 eCos 409
13.3.1 可配置性 409
13.3.2 eCos組件 411
13.3.3 eCos調度程序 414
13.3.4 eCos線程同步 415
13.4 TinyOS 419
13.4.1 無線傳感器網絡 420
13.4.2 TinyOS的目標 420
13.4.3 TinyOS的組件 421
13.4.4 TinyOS的調度程序 423
13.4.5 配置例子 423
13.4.6 TinyOS的資源接口 425
13.5 推薦讀物和網站 426
13.6 關鍵術語、復習題和習題 426
第七部分 安全
第14章 計算機安全威脅 430
14.1 計算機安全的概念 430
14.2 威脅、攻擊和資產 431
14.2.1 威脅和攻擊 431
14.2.2 威脅和資產 432
14.3 入侵者 434
14.3.1 入侵者行為模式 435
14.3.2 入侵技術 437
14.4 惡意軟件概述 437
14.4.1 后門 437
14.4.2 邏輯炸彈 438
14.4.3 特洛伊木馬 438
14.4.4 移動代碼 438
14.4.5 多威脅惡意軟件 439
14.5 病毒、蠕蟲與僵尸 440
14.5.1 病毒 440
14.5.2 蠕蟲 443
14.5.3 僵尸 445
14.6 rootkits 447
14.6.1 rootkit安裝 447
14.6.2 系統級調用攻擊 447
14.7 推薦讀物和網站 448
14.8 關鍵術語、復習題和習題 448
第15章 計算機安全技術 451
15.1 身份驗證 451
15.1.1 身份驗證方法 451
15.1.2 基于密碼的身份驗證 451
15.1.3 基于令牌的身份驗證 453
15.1.4 生物特征識別認證 454
15.2 訪問控制 455
15.2.1 自主訪問控制 456
15.2.2 基于角色的訪問控制 458
15.3 入侵檢測 460
15.3.1 基本原則 460
15.3.2 基于主機的入侵檢測技術 461
15.3.3 審計記錄 462
15.4 惡意軟件防御 463
15.4.1 反病毒方法 463
15.4.2 蠕蟲對策 465
15.4.3 自動代理程序的對策 466
15.4.4 rootkit對策 466
15.5 處理緩沖區溢出攻擊 467
15.5.1 編譯時防御 467
15.5.2 運行時防御 469
15.6 Windows Vista安全性 470
15.6.1 訪問控制方案 470
15.6.2 訪問令牌 471
15.6.3 安全描述符 471
15.7 推薦讀物和網站 474
15.8 關鍵術語、復習題和習題 475
第八部分 分布式系統
第16章 分布式處理、客戶/服務器和
第16章 集群 481
16.1 客戶/服務器計算模型 481
16.1.1 什么是客戶/服務器
16.1.1 計算模型 481
16.1.2 客戶/服務器模型的應用 482
16.1.3 中間件 486
16.2 分布式消息傳遞 487
16.2.1 可靠性與不可靠性 488
16.2.2 阻塞與無阻塞 488
16.3 遠程過程調用 489
16.3.1 參數傳遞 490
16.3.2 參數表示 490
16.3.3 客戶/服務器綁定 490
16.3.4 同步和異步 490
16.3.5 面向對象機制 491
16.4 集群 491
16.4.1 集群的配置 491
16.4.2 操作系統的設計問題 493
16.4.3 集群計算機的體系結構 494
16.4.4 集群與SMP的比較 495
16.5 Windows集群服務器 495
16.6 Sun集群 496
16.6.1 對象和通信支持 497
16.6.2 進程管理 497
16.6.3 網絡連接 497
16.6.4 全局文件系統 498
16.7 Beowulf和Linux集群 498
16.7.1 Beowulf特征 498
16.7.2 Beowulf軟件 499
16.8 小結 500
16.9 推薦讀物和網站 500
16.10 關鍵術語、復習題和習題 501
附錄A 并發主題 503
附錄B 面向對象設計 516
附錄C 編程和操作系統項目 523
術語表 528
參考文獻 536
操作系統精髓與設計原理(中文第六版)內容截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版