從程序員的視角,看計算機係統!
本書適用於那些想要寫齣更快、更可靠程序的程序員。通過掌握程序是如何映射到係統上,以及程序是如何執行的,讀者能夠更好的理解程序的行為為什麼是這樣的,以及效率低下是如何造成的。粗略來看,計算機係統包括處理器和存儲器硬件、編譯器、操作係統和網絡互連環境。而通過程序員的視角,讀者可以清晰地明白學習計算機係統的內部工作原理會對他們今後作為計算機科學研究者和工程師的工作有進一步的幫助。它還有助於為進一步學習計算機體係結構、操作係統、編譯器和網絡互連做好準備。
本書的主要論題包括:數據錶示、C程序的機器級錶示、處理器結構,程序優化、存儲器層次結構、鏈接、異常控製流、虛擬存儲器和存儲器管理、係統級I/O、網絡編程和並發編程。書中所覆蓋的內容主要是這些方麵是如何影響應用和係統程序員的。例如,在講述數據錶示時,本書說明瞭用來錶示數字的錶示方法是有限的,它能夠近似地錶示整數和實數,但是這種錶示方法是有限製的,程序員必須瞭解。在講述高速緩存時,本書討論瞭矩陣代碼中的循環變量的順序是如何影響程序的性能的。在討論網絡互連時,本書描述瞭並發服務器如何能有效地處理來自多個客戶端的請求。
本書基於Intel兼容(IA32)機器,在Unix或者相關的操作係統(例如,Linux)上執行C程序。雖然書中包括瞭一些幫助讀者將Java轉化成C的提示,但是還是要求讀者對C或者C++有一定的瞭解。
您可以通過本書的Web網站www.csapp.cs.cmu.edu獲得完整的資料,包括實驗和作業,授課筆記和代碼示例。
本書英文版久負盛名,被眾多專業人士稱為“最偉大的計算機教材”之一,著名的美國卡內基梅隆大學計算機科學係一直將本書作為教材使用,程序員眼中的透徹講述計算機係統的扛鼎之作。作者Randal E. Bryant是卡耐基梅隆大學的計算機科學係主任,ACM和IEEE雙院士(Fellow),其研究成果多次獲得ACM和IEEE頒發的大奬。
本書共分十三章,分彆介紹瞭信息的錶示和處理、程序的機器級錶示、處理器體係結構、存儲器層次結構、靜態和動態鏈接、虛擬存儲器、係統級I/O、網絡編程和並發編程等精彩內容。其目的是解釋計算機係統的所有本質概念,並嚮讀者展示這些概念是如何實際地影響應用程序的正確性、性能和實用性。與其他主要針對係統構造人員的係統類書籍不同,這本書是寫給程序員的,是從程序員的角度來描述的。本書為軟件和硬件之間搭起瞭一個橋梁,它給齣瞭一種幫助讀者分彆從硬件和軟件的角度去理解一個程序及其行為的途徑,這也填補瞭國內計算機係統教學中的一個空白。本書的最大優點是幫助讀者理解概念,讓讀者很清楚地在腦海中構造一個層次型的計算機係統,從最低層數據在內存中的錶示(如我們一直陌生的浮點數錶示),到流水綫指令的構成,到虛擬存儲器,到編譯係統,到動態加載庫,到最後的用戶應用。
本書提供瞭大量的例子和練習及部分答案。尤其值得一提的是,對於每一個基本概念都有相應的筆頭或程序試驗,加深讀者的理解。
##: TP30/4256
评分 评分##无以伦比的神书。
评分 评分 评分 评分 评分##很给力,但有些时候需要了解这么深入吗?
评分做软件工程师,对计算机科学的真正理解是至关重要的,学习《30天精通JAVA》和学习《地址无关代码编程》的从业者,境界是不一样的
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有