·AMAZON五星圖書(shū),最偉大計(jì)算機(jī)科學(xué)教材之一;
·卡耐基梅隆大學(xué)計(jì)算機(jī)學(xué)院院長(zhǎng),IEEE和ACM雙院士?jī)A力推出;
·超過(guò)80所美國(guó)和世界一流大學(xué)計(jì)算機(jī)專業(yè)選用本書(shū)為教材。
本書(shū)被贊譽(yù)為價(jià)值超過(guò)等重量黃金的無(wú)價(jià)資源寶庫(kù);第一本將軟件和硬件理論結(jié)合講述的教程;覆蓋計(jì)算機(jī)導(dǎo)論、體系結(jié)構(gòu)和處理器設(shè)計(jì)等多門課程;經(jīng)過(guò)大量學(xué)生使用,效果優(yōu)秀,并獲教師和學(xué)生一致推崇;完善的教學(xué)網(wǎng)站,為教師和學(xué)生提供在線支持。所有想寫出更快、更可靠程序的開(kāi)發(fā)人員必讀之書(shū)!
所有想寫出更快、更可靠程序的開(kāi)發(fā)人員必讀之書(shū)!
★ AMAZON五星圖書(shū),最偉大計(jì)算機(jī)科學(xué)教材之一
★ 卡耐基梅隆大學(xué)計(jì)算機(jī)學(xué)院院長(zhǎng),IEEE和ACM雙院士?jī)A力推出
★ 超過(guò)80所美國(guó)和世界一流大學(xué)計(jì)算機(jī)專業(yè)選用本書(shū)為教材
看看指導(dǎo)教師們是如何評(píng)價(jià)這本書(shū)的:
“我堅(jiān)信從程序員的角度來(lái)看計(jì)算機(jī)系統(tǒng)對(duì)教會(huì)學(xué)生計(jì)算機(jī)的內(nèi)部結(jié)構(gòu)非常有幫助。”——Kostas Daniilidis,賓夕法尼亞大學(xué)
“這本書(shū)講述事物的方法與眾不同,但是和我想要的課程進(jìn)行方式類似。”——John Greiner,Rice大學(xué)
“這是一項(xiàng)出色的工作,是這一領(lǐng)域教學(xué)方法的一次革命。”——Michael Scott,羅切斯特大學(xué)
作者Randal E. Bryant是卡耐基梅隆大學(xué)的計(jì)算機(jī)科學(xué)系主任,ACM和IEEE雙院士(Fellow),其研究成果多次獲得ACM和IEEE頒發(fā)的大獎(jiǎng)。
本書(shū)提供了大量的例子和練習(xí)及部分答案。尤其值得一提的是,對(duì)于每一個(gè)基本概念都有相應(yīng)的筆頭或程序試驗(yàn),加深讀者的理解。
內(nèi)容簡(jiǎn)介
從程序員的視角,看計(jì)算機(jī)系統(tǒng)!
本書(shū)適用于那些想要寫出更快、更可靠程序的程序員。通過(guò)掌握程序是如何映射到系統(tǒng)上,以及程序是如何執(zhí)行的,讀者能夠更好的理解程序的行為為什么是這樣的,以及效率低下是如何造成的。粗略來(lái)看,計(jì)算機(jī)系統(tǒng)包括處理器和存儲(chǔ)器硬件、編譯器、操作系統(tǒng)和網(wǎng)絡(luò)互連環(huán)境。而通過(guò)程序員的視角,讀者可以清晰地明白學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的內(nèi)部工作原理會(huì)對(duì)他們今后作為計(jì)算機(jī)科學(xué)研究者和工程師的工作有進(jìn)一步的幫助。它還有助于為進(jìn)一步學(xué)習(xí)計(jì)算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)、編譯器和網(wǎng)絡(luò)互連做好準(zhǔn)備。
本書(shū)的主要論題包括:數(shù)據(jù)表示、C程序的機(jī)器級(jí)表示、處理器結(jié)構(gòu),程序優(yōu)化、存儲(chǔ)器層次結(jié)構(gòu)、鏈接、異常控制流、虛擬存儲(chǔ)器和存儲(chǔ)器管理、系統(tǒng)級(jí)I/O、網(wǎng)絡(luò)編程和并發(fā)編程。書(shū)中所覆蓋的內(nèi)容主要是這些方面是如何影響應(yīng)用和系統(tǒng)程序員的。例如,在講述數(shù)據(jù)表示時(shí),本書(shū)說(shuō)明了用來(lái)表示數(shù)字的表示方法是有限的,它能夠近似地表示整數(shù)和實(shí)數(shù),但是這種表示方法是有限制的,程序員必須了解。在講述高速緩存時(shí),本書(shū)討論了矩陣代碼中的循環(huán)變量的順序是如何影響程序的性能的。在討論網(wǎng)絡(luò)互連時(shí),本書(shū)描述了并發(fā)服務(wù)器如何能有效地處理來(lái)自多個(gè)客戶端的請(qǐng)求。
本書(shū)基于Intel兼容(IA32)機(jī)器,在Unix或者相關(guān)的操作系統(tǒng)(例如,Linux)上執(zhí)行C程序。雖然書(shū)中包括了一些幫助讀者將Java轉(zhuǎn)化成C的提示,但是還是要求讀者對(duì)C或者C++有一定的了解。
您可以通過(guò)本書(shū)的Web網(wǎng)站.csapp.cs.cmu.edu獲得完整的資料,包括實(shí)驗(yàn)和作業(yè),授課筆記和代碼示例。