本書英文版久負盛名,被眾多專業(yè)人士稱為“最偉大的計算機教材”之一,著名的美國卡內(nèi)基梅隆大學(xué)計算機科學(xué)系一直將本書作為教材使用,程序員眼中的透徹講述計算機系統(tǒng)的扛鼎之作。作者Randal E. Bryant是卡耐基梅隆大學(xué)的計算機科學(xué)系主任,ACM和IEEE雙院士(Fellow),其研究成果多次獲得ACM和IEEE頒發(fā)的大獎。
本書共分十三章,分別介紹了信息的表示和處理、程序的機器級表示、處理器體系結(jié)構(gòu)、存儲器層次結(jié)構(gòu)、靜態(tài)和動態(tài)鏈接、虛擬存儲器、系統(tǒng)級I/O、網(wǎng)絡(luò)編程和并發(fā)編程等精彩內(nèi)容。其目的是解釋計算機系統(tǒng)的所有本質(zhì)概念,并向讀者展示這些概念是如何實際地影響應(yīng)用程序的正確性、性能和實用性。與其他主要針對系統(tǒng)構(gòu)造人員的系統(tǒng)類書籍不同,這本書是寫給程序員的,是從程序員的角度來描述的。本書為軟件和硬件之間搭起了一個橋梁,它給出了一種幫助讀者分別從硬件和軟件的角度去理解一個程序及其行為的途徑,這也填補了國內(nèi)計算機系統(tǒng)教學(xué)中的一個空白。本書的最大優(yōu)點是幫助讀者理解概念,讓讀者很清楚地在腦海中構(gòu)造一個層次型的計算機系統(tǒng),從最低層數(shù)據(jù)在內(nèi)存中的表示(如我們一直陌生的浮點數(shù)表示),到流水線指令的構(gòu)成,到虛擬存儲器,到編譯系統(tǒng),到動態(tài)加載庫,到最后的用戶應(yīng)用。
本書提供了大量的例子和練習(xí)及部分答案。尤其值得一提的是,對于每一個基本概念都有相應(yīng)的筆頭或程序試驗,加深讀者的理解。
作者簡介
Randal E. Bryant 1973年獲得密歇根大學(xué)(University of Michigan)學(xué)士學(xué)位,隨即就讀麻省理工學(xué)院(Massachusetts Institute of Technology)的研究生院,并在1981年獲計算機博士學(xué)位。他在加州理工學(xué)院(California Institute of Technology)做了三年助教,從1984年至今一直是卡內(nèi)基梅隆大學(xué)(Carnegie Mellon)的教師。他現(xiàn)在是計算機科學(xué)的主任級教授和計算機科學(xué)系的系主任。他同時還受邀于電子和計算機工程系。 他從事本科和研究生計算機系統(tǒng)方面課程的教學(xué)超過20年。在講授計算機體系結(jié)構(gòu)課程多年后,他開始把關(guān)注點從如何設(shè)計計算機轉(zhuǎn)移到程序員如何在更好地了解系統(tǒng)的情況下編寫出更有效和更可靠的程序。他和O’Hallaron教授一起在卡內(nèi)基梅隆大學(xué)開設(shè)了“計算機系統(tǒng)導(dǎo)論”課程,那便是此書的基礎(chǔ)。他還教授一些算法和編程方面的課程。 Bryant教授的研究涉及幫助硬件設(shè)計者驗證其系統(tǒng)正確性的軟件工具的設(shè)計。其中,包括幾種類型的模擬器,以及用數(shù)學(xué)方法來證明設(shè)計正確性的形式化驗證工具。他發(fā)表了100多篇技術(shù)論文。包括Intel、Motorola、IBM和Fujitsu在內(nèi)的主要計算機制造商都使用他的研究成果。他還因他的研究獲得過數(shù)項大獎。其中包括Semiconductor Research Corporation頒發(fā)的兩個發(fā)明榮譽獎和一個技術(shù)成就獎,美國計算機學(xué)會(Association for Computer Machinery,ACM)頒發(fā)的Kanellakis理論與實踐獎,還有電氣和電子工程師協(xié)會(Institute of Electrical and Electronics Engineers,IEEE)授予的W. R. G. Baker獎和50年金質(zhì)獎?wù)拢╝ Golden Jubilee Medal)。他同時是ACM和IEEE的院士。
David R. O’Hallaron 1986年在維吉尼亞大學(xué)(University of Virginia)獲得計算機科學(xué)的博士學(xué)位。在通用電氣工作一段時間后,于1989年作為系統(tǒng)科學(xué)家成為卡內(nèi)基梅隆大學(xué)的教員。他目前是計算機科學(xué)系和電子及計算機工程系的副教授。 他教授一些本科生和研究生的計算機系統(tǒng)方面的課程,例如計算機體系結(jié)構(gòu)、計算機系統(tǒng)緒論、并行處理器設(shè)計和Internet服務(wù)。和Bryant教授一起,他開設(shè)了“計算機系統(tǒng)導(dǎo)論”課程,那便是此書的基礎(chǔ)。 O’Hallaron教授和他的學(xué)生從事計算機系統(tǒng)領(lǐng)域的研究。特別的,他們開發(fā)了一些軟件系統(tǒng),幫助科學(xué)家和工程師在計算機上模擬自然界。其中最著名的是Quake項目,一群計算機科學(xué)家、土木工程師和地震學(xué)家致力于在強烈地震中預(yù)測大地運動的能力,這些強烈地震包括南加洲、古巴、日本、墨西哥和新西蘭的大地震。同Quake項目中其它人員一起,他獲得了CMU計算機科學(xué)院頒發(fā)的Allen Newell優(yōu)秀研究獎?wù)隆K麨镼uake項目創(chuàng)立的基準(zhǔn)程序,183.equake,被SPEC(Standards Performance Evaluation Corporation)選入非常有影響的SPEC CPU和OMP(Open Mp)基準(zhǔn)程序包中。