前言
本書(簡稱CS:APP)的主要讀者是計算機科學家、計算機工程師,以及那些想通過學習計算機系統的內在運作而能夠寫出更好程式的人,

我們的目的是解釋所有計算機系統的本質概念,并向你展示這些概念是如何實實在在地影回應用程式的正確性、性能和實用性的,其他的系統類書籍都是從構建者的角度來寫的,講述如何實作硬體或系統軟體,包括作業系統、編譯器和網路介面,而本書是從程式員的角度來寫的,講述應用程式員如何能夠利用系統知識來撰寫出更好的程式,當然,學習一個計算機系統應該做些什么,是學習如何構建一個計算機系統的很好的出發點,所以,對于希望繼續學習系統軟硬體實作的人來說,本書也是一本很有價值的介紹性讀物,大多數系統書籍還傾向于重點關注系統的某一個方面,比如:硬體架構、作業系統、編譯器或者網路,本書則以程式員的視角統一覆寫了上述所有方面的內容,
如果你研究和領會了這本書里的概念,你將開始成為極少數的“牛人”,這些“牛人”知道事情是如何運作的,也知道當事情出現故障時如何修復,你寫的程式將能夠更好地利用作業系統和系統軟體提供的功能,對各種操作條件和運行時引數都能正確操作,運行起來更快,并能避免出現使程式容易受到網路攻擊的缺陷,同時,你也要做好更深入探究的準備,研究像編譯器、計算機體系結構、作業系統、嵌入式系統、網路互聯和網路安全這樣的高級題目,
如何閱讀此書
從程式員的角度學習計算機系統是如何作業的會非常有趣,主要是因為你可以主動地做這件事情,無論何時你學到一些新的東西,都可以馬上試驗并且直接看到運行結果,事實上,我們相信學習系統的唯-方法就是做(do)系統,即在真正的系統上解決具體的問題,或是撰寫和運行程式,
這個主題觀念貫穿全書,當引入一個新概念時,將會有一個或多個練習題緊隨其后,你應該馬上做一做來檢驗你的理解,這些練習題的解答在每章的末尾,當你閱讀時,嘗試自己來解答每個問題,然后再查閱答案,看自己的答案是否正確,除第1章外,每章后面都有難度不同的家庭作業,


對每個家庭作業題,我們標注了難度級別:

本書概述
本書由12章組成,旨在闡述計算機系統的核心概念,內容概述如下:
第1章 計算機系統漫游
這一章通過研究“hello, world” 這個簡單程式的生命周期,介紹計算機系統的主要概念和主題,

第一部分:程式結構和執行

第2章 資訊的表示和處理

第3章 程式的機器級表示

第4章 處理器體系結構

第5章 優化程式性能

第6章 存盤器層次結構

第二部分 在系統上運行程式

第7章 鏈接

第8章 例外控制流

第9章 虛擬記憶體

第三部分 程式間的交流和通信

第10章 系統級I/O

第11章 網路編程

第12章 并發編程

這份計算機系統檔案總計775頁,篇幅有限就不給大家一一展示了,需要獲取的小伙伴可以以下方式即可獲取!

最后
本書的前幾章揭示了C語言程式和它們相對應的機器語言程式之間的互動作用,機器語言示例都是用運行在x86-64處理器.上的GNUGCC編譯器生成的,我們不需要你以前有任何硬體、機器語言或是匯編語言編程的經驗,不要有顧慮,趕緊來提升自己吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225345.html
標籤:其他
上一篇:pta 資料結構 線性表習題
