發表於2024-11-23
計算機係統:係統架構與操作係統的高度集成 pdf epub mobi txt 電子書 下載
傳統的計算機課程體係人為地割裂瞭解決問題時所需技能的綜閤性。例如匯編語言、計算機原理、計算機係統結構、操作係統和編譯原理分彆從不同角度介紹瞭計算機的硬件和軟件係統,但是隨著多核係統日漸成為主流,這種軟硬件分離的教學方法變得不切實際。
國內外大學都在這方麵展開瞭探索,即如何用一種綜閤的方法來介紹計算機係統的相關內容。卡內基·梅隆大學 的《深入理解計算機係統》是目前比較成功的探索,它主要從程序員視角來講解計算機係統,內容偏嚮係統軟件(特彆是操作係統),國內外很多大學已采用該教材作為課程的基礎。而佐治亞理工學院的這本教材則是另一個有益的嘗試,書中計算機係統結構和操作係統的內容基本平衡,旨在讓學生瞭解計算機體係結構和係統軟件之間的關係,為進一步深入學習計算機體係結構、操作係統和網絡的高級課程或研究生課程,在這些領域進一步深造奠定良好的基礎。
《計算機係統:係統架構與操作係統的高度集成》采用集成方法,係統地講解瞭計算機係統的軟件和硬件知識。全書分為5個模塊:處理器、內存係統、存儲係統、並行係統和網絡,分彆介紹並討論瞭處理器及其相關的軟件問題、內存係統和內存分級體係、I/O和文件係統、操作係統問題及支持並行編程的多處理器中相應體係結構特點、網絡硬件的發展和處理各種網絡行為的網絡協議堆的特點等。
Umakishore Ramachandran,
擁有威斯康星大學麥迪遜分校計算機科學專業博士學位。現在是佐治亞理工學院計算機係教授,STAR Center & Korean Programs中心主任。主要研究興趣是體係結構設計、程序設計和並行分布式係統分析。曾獲得NSF授予的美國總統青年研究人員奬、佐治亞理工學院優秀博士論文指導奬、傑齣教師奬等。 2014年,他被選為IEEE會士。
William D. Leahy Jr.
現為佐治亞理工學院計算機係講師,講授計算機科學的入門課程。他擁有佐治亞理工學院計算機科學碩士學位,在加入學術界之前,他有24年工業界的從業經驗。
陳文光,
清華大學計算機係教授。現為ACM中國理事會副主席;中國計算機學會傑齣會員和傑齣講者,副秘書長。主要研究領域為操作係統、編譯器與並行計算。講授《計算機原理與係統結構》《計算機係統性能分析》等本科生、研究生課程。獲國傢科技進步二等奬一次,部級科技一等奬兩次,部級科技進步二等奬兩次。在計算機係統結構、程序設計語言與編譯器、並行計算和軟件的國際一流會議(如PLDI、PPoPP、PACT、ICSE、OOPSLA、Supercomputing CGO等)上連續發錶多篇論文。PLDI 2012、PPoPP 2013、2014和CGO 2014程序委員會委員。任《Communication of ACM China Edition》主編,《Journal of Computer Science and Technology》《軟件學報》等學術期刊編委。
齣版者的話
譯者序
前言
第1章 概述1
1.1 盒子裏有什麼1
1.2 計算機係統中的抽象層次1
1.3 操作係統的作用3
1.4 盒子裏正在發生什麼事5
1.4.1 在計算機上啓動應用程序7
1.5 計算機硬件的演化7
1.6 操作係統的演化9
1.7 本書導讀9
練習題10
參考文獻注釋和擴展閱讀10
第2章 處理器體係結構12
2.1 處理器設計涉及什麼12
2.2 如何設計指令集13
2.3 常見的高級語言功能集13
2.4 錶達式和賦值語句14
2.4.1 操作數放在哪裏14
2.4.2 在指令中如何指定內存地址17
2.4.3 每個操作數應該有多寬18
2.4.4 字節序9
2.4.5 操作數打包以及字操作數的對齊21
2.5 高級數據抽象22
2.5.1 結構23
2.5.2 數組23
2.6 條件語句和循環24
2.6.1 if-then-else語句25
2.6.2 switch語句26
2.6.3 循環語句27
2.7 檢查點27
2.8 編譯函數調用27
2.8.1 調用者的狀態28
2.8.2 過程調用剩餘的工作30
2.8.3 軟件慣例31
2.8.4 活動記錄35
2.8.5 遞歸36
2.8.6 幀指針36
2.9 指令集體係結構選擇38
2.9.1 額外的指令38
2.9.2 額外的尋址模式39
2.9.3 體係結構類型39
2.9.4 指令格式39
2.10 LC-2200指令集42
2.10.1 指令格式42
2.10.2 LC-2200寄存器組43
2.11 影響處理器設計的問題44
2.11.1 指令集44
2.11.2 應用程序對指令集設計的影響45
2.11.3 其他驅動處理器設計的問題46
小結47
練習題47
參考文獻注釋和擴展閱讀49
第3章 處理器實現51
3.1 體係結構與實現51
3.2 處理器實現涉及什麼51
3.3 重要的硬件概念52
3.3.1 電路52
3.3.2 數據通路的硬件資源52
3.3.3 邊沿觸發邏輯53
3.3.4 連接數據通路元件54
3.3.5 基於總綫的設計57
3.3.6 有限狀態機59
3.4 數據通路設計60
3.4.1 ISA與數據通路寬度61
3.4.2 時鍾脈衝寬度62
3.4.3 檢查點62
3.5 控製單元設計62
3.5.1 ROM加狀態寄存器63
3.5.2 FETCH宏狀態65
3.5.3 DECODE宏狀態68
3.5.4 EXECUTE宏狀態:ADD指令(R型指令部分)68
3.5.5 EXECUTE宏狀態:NAND指令(R型指令部分)71
3.5.6 EXECUTE宏狀態:JALR指令(J型指令部分)71
3.5.7 EXECUTE宏狀態:LW指令(I型指令部分72
3.5.8 EXECUTE宏狀態:SW和ADDI指令(I型指令部分)75
3.5.9 EXECUTE宏狀態:BEQ指令(I型指令部分) 75
3.5.10 設計微程序中的條件分支78
3.5.11 再談DECODE宏狀態79
3.6 控製單元設計的另一種選擇80
3.6.1 微程序控製80
3.6.2 硬連綫控製81
3.6.3 在兩種控製設計風格中選擇82
小結82
曆史迴顧83
練習題84
參考文獻注釋和擴展閱讀86
第4章 中斷、陷入及異常87
4.1 程序執行中的不連續性88
4.2 處理程序不連續性89
4.3 處理程序不連續性的體係結構改進91
4.3.1 修改FSM91
4.3.2 一個簡單的中斷處理過程92
4.3.3 處理級聯中斷92
4.3.4 從處理過程中返迴95
4.3.5 檢查點95
4.4 處理程序不連續性的硬件細節96
4.4.1 中斷的數據通路細節96
4.4.2 獲得處理過程地址的細節97
4.4.3 保存/恢復棧99
4.5 信息匯總100
4.5.1 體係結構和硬件改進總結100
4.5.2 工作中的中斷機製100
小結102
練習題103
參考文獻注釋和擴展閱讀104
第5章 處理器性能與流水綫處理器的設計105
5.1 時間和空間性能指標 105
5.2 指令頻率107
5.3 基準測試程序108
5.4 提升處理器的性能111
5.5 加速比112
5.6 提升處理器的吞吐量114
5.7 流水綫簡介115
5.8 指令處理流水綫115
5.9 簡單指令流水綫的問題117
5.10 修正指令流水綫裏的問題118
5.11 指令流水綫的數據通路元件120
5.12 針對流水綫的體係結構與實現121
5.12.1 指令穿過流水綫的過程
詳解122
5.12.2 流水綫寄存器的設計124
5.12.3 各個階段的實現125
5.13 冒險125
5.13.1 結構性冒險126
5.13.2 數據冒險126
5.13.3 控製冒險135
5.13.4 冒險總結141
5.14 在流水綫處理器裏處理程序
不連續性142
5.15 處理器設計的高級話題144
5.15.1 指令級並行144
5.15.2 更深的流水綫145
5.15.3 在亂序執行下再次討論
程序不連續性147
5.15.4 管理共享資源148
5.15.5 功耗149
5.15.6 多核處理器設計149
5.15.7 Intel Core微架構:
一個流水綫150
小結151
曆史迴顧152
練習題152
參考文獻注釋和擴展閱讀156
第6章 處理器調度157
6.1 引言157
6.2 程序和進程158
6.3 調度環境161
6.4 調度基礎162
6.5 性能指標165
6.6 非搶占式調度算法167
6.6.1 先到先服務167
6.6.2 最短作業優先170
6.6.3 優先級171
6.7 搶占式調度算法172
6.7.1 輪轉調度器175
6.8 結閤優先級和搶占178
6.9 元調度器178
6.10 評價179
6.11 調度對處理器體係結構的影響180
小結和展望181
Linux調度器—一個案例研究181
曆史迴顧183
練習題185
參考文獻注釋和擴展閱讀186
第7章 內存管理技術187
7.1 內存管理器提供的功能187
7.2 內存管理的簡單方案189
7.3 內存分配方案192
7.3.1 固定尺寸分區192
7.3.2 變長分區193
7.3.3 縮並195
7.4 分頁虛擬內存196
7.4.1 頁錶197
7.4.2 支持分頁的硬件 199
7.4.3 頁錶的建立 199
7.4.4 虛擬和物理內存的相對大小200
7.5 分段虛擬內存200
7.5.1 支持分段的硬件204
7.6 分頁和分段的比較204
7.6.1 解讀CPU生成的地址206
小結207
曆史迴顧208
MULTICS209
Intel的內存體係結構210
練習題211
參考文獻注釋和擴展閱讀212
第8章 頁式內存管理213
8.1 按需分頁213
8.1.1 按需分頁的硬件213
8.1.2 頁錯誤處理程序214
8.1.3 按需分頁內存管理的
數據結構214
8.1.4 頁錯誤解析215
8.2 進程調度器和內存管理器間交互217
8.3 頁替換策略218
8.3.1 Belady的Min算法219
8.3.2 隨機替換 219
8.3.3 先進先齣策略219
8.3.4 最近最少使用策略221
8.3.5 第二次機會頁替換算法223
8.3.6 頁替換算法迴顧225
8.4 優化內存管理225
8.4.1 空閑頁幀池225
8.4.2 顛簸226
8.4.3 工作集228
8.4.4 顛簸控製229
8.5 其他考慮229
8.6 旁路轉換緩存230
8.6.1 TLB的地址轉換231
8.7 內存管理的高級話題232
8.7.1 多級頁錶232
8.7.2 局部頁錶項的訪問權限234
8.7.3 反嚮頁錶234
小結234
練習題234
參考文獻注釋和擴展閱讀236
第9章 分級存儲體係237
9.1 緩存的概念238
9.2 局部性原理238
9.3 基本術語238
9.4 多級存儲層次239
9.5 緩存結構241
9.6 直接映射緩存結構241
9.6.1 緩存查找243
9.6.2 緩存項中的字段244
9.6.3 用於直接映射緩存的硬件245
9.7 流水綫處理器設計的影響247
9.8 緩存讀/寫算法247
9.8.1 CPU對緩存的讀訪問248
9.8.2 CPU對緩存的寫訪問248
9.9 處理器流水綫中的緩存缺失處理251
9.9.1 在流水綫性能上緩存缺失
對內存延遲的影響252
9.10 利用空間局部性提高緩存性能253
9.10.1 增加塊大小對性能的影響256
9.11 靈活的布局策略257
9.11.1 全相關緩存258
9.11.2 組相關緩存259
9.11.3 組相關的極端情況261
9.12 指令和數據緩存263
9.13 降低缺失損失264
9.14 緩存替換策略264
9.15 缺失類型簡要說明266
9.16 TLB和緩存整閤268
9.17 緩存控製器269
9.18 虛擬索引物理標記的緩存270
9.19 緩存設計因素概述271
9.20 主存的設計因素272
9.20.1 簡單的主存272
9.20.2 與緩存塊大小相匹配的主
存和總綫273
9.20.3 交錯式內存273
9.21 現代主存係統分析274
9.21.1 頁式DRAM278
9.22 分級存儲體係的性能影響279
小結280
現代處理器的分級存儲體係(一個例子)281
練習題281
參考文獻注釋和擴展閱讀283
第10章 輸入/輸齣和穩定性存儲284
10.1 CPU和I/O設備間的通信284
10.1.1 設備控製器284
10.1.2 內存映射I/O285
10.2 程控I/O287
10.3 DMA288
10.4 總綫290
10.5 I/O處理器291
10.6 設備驅動292
10.6.1 例子293
10.7 外圍設備295
10.8 磁盤存儲器296
10.8.1 磁盤技術的傳奇故事302
10.9 磁盤調度算法304
10.9.1 先到先服務305
10.9.2 最短尋道時間優先305
10.9.3 SCAN305
10.9.4 C-SCAN306
10.9.5 LOOK和C-LOOK307
10.9.6 磁盤調度總結307
10.9.7 算法比較308
10.10 固態硬盤 309
10.11 I/O總綫和設備驅動的演化310
10.11.1 設備驅動的動態負載311
10.11.2 信息匯總312
小結314
練習題314
參考文獻注釋和擴展閱讀315
第11章 文件係統317
11.1 屬性317
11.2 在磁盤子係統上實現文件係統
的設計選擇321
11.2.1 連續分配322
11.2.2 帶有溢齣區域的連續分配324
11.2.3 鏈接分配324
11.2.4 文件分配錶325
11.2.5 索引分配327
11.2.6 多級索引分配328
11.2.7 混閤索引分配328
11.2.8 不同分配策略的比較331
11.3 信息匯總331
11.3.1 索引節點336
11.4 文件係統的組件336
11.4.1 創建、寫入文件的剖析337
11.5 各種子係統的交互337
11.6 文件係統在物理媒介上的布局340
11.6.1 內存中的數據結構342
11.7 處理係統崩潰343
11.8 其他物理媒介上的文件係統343
11.9 現代文件係統一覽344
11.9.1 Linux344
11.9.2 Microsoft Windows348
小結349
練習題350
參考文獻注釋和擴展閱讀352
第12章 多綫程編程與多處理器353
12.1 為什麼需要多綫程353
12.2 綫程所需的編程支持354
12.2.1 綫程創建和終止354
12.2.2 綫程之間的通信356
12.2.3 讀/寫衝突、競爭條件及不確定性357
12.2.4 綫程之間的同步361
12.2.5 綫程庫中數據類型的內部錶示365
12.2.6 簡單的編程示例366
12.2.7 死鎖和活鎖369
12.2.8 條件變量370
12.2.9 視頻處理示例的完整解決方案373
12.2.10 解決方案的討論374
12.2.11 重新檢查條件375
12.3 綫程函數調用和多綫程編程概念總結377
12.4 綫程編程的一些注意事項379
12.5 使用綫程作為軟件結構抽象379
12.6 POSIX pthread庫調用總結379
12.7 操作係統對綫程的支持382
12.7.1 用戶級綫程383
12.7.2 內核級綫程385
12.7.3 Solaris綫程:一個內核級綫程例子386
12.7.4 綫程和庫387
12.8 在單處理器上的多綫程的硬件支持388
12.8.1 綫程創建、終止以及綫程間的通信388
12.8.2 綫程之間的同步388
12.8.3 原子的Test-and-Set指令388
12.8.4 使用Test-and-Set指令的Lock算法390
12.9 多處理器391
12.9.1 頁錶391
12.9.2 分級存儲體係391
12.9.3 保證原子性393
12.10 高級話題393
12.10.1 操作係統話題393
12.10.2 架構話題 403
12.10.3 未來之路:多核與眾核架構412
小結413
曆史迴顧414
練習題 415
參考文獻注釋和擴展閱讀417
第13章 網絡與網絡協議基礎知識419
13.1 預備知識419
13.2 基本術語419
13.3 網絡軟件423
13.4 協議棧424
13.4.1 因特網協議棧424
13.4.2 OSI模型426
13.4.3 分層的實際問題427
13.5 應用層427
13.6 傳輸層428
13.6.1 停止並等待協議429
13.6.2 流水綫協議431
13.6.3 可靠的流水綫協議432
13.6.4 處理傳輸錯誤436
13.6.5 因特網上的傳輸協議437
13.6.6 傳輸層總結438
13.7 網絡層439
13.7.1 路由算法439
13.7.2 因特網尋址444
13.7.3 網絡服務模式446
13.7.4 網絡路由與轉發449
13.7.5 網絡層總結450
13.8 鏈路層和局域網450
13.8.1 以太網451
13.8.2 CSMA/CD451
13.8.3 IEEE 802.3453
13.8.4 無綫局域網與IEEE 802.114
計算機係統:係統架構與操作係統的高度集成 下載 mobi epub pdf txt 電子書
據說可以跟深入理解相比,重點不一樣,看起來不錯
評分好好好好好好!
評分省圖書館藉齣來看過,覺得內容很實用,就果斷下單
評分讀書破萬捲,下筆如有神
評分ok
評分采用集成方法,係統地講解瞭計算機係統的軟件和硬件知識。全書分為5個模塊:處理器、內存係統、存儲係統、並行係統和網絡,分彆介紹並討論瞭處理器及其相關的軟件問題、內存係統和內存分級體係、I/O和文件係統、操作係統問題及支持並行編程的多處理器中相應體係結構特點、網絡硬件的發展和處理各種網絡行為的網絡協議堆的特點等。
評分這個不是本人的專業,不懂內容,看看書質量還是可以的。
評分計算機組成與係統結構 適閤入門,還行
評分好書~劃算~~~~~~~~
計算機係統:係統架構與操作係統的高度集成 pdf epub mobi txt 電子書 下載