《深入理解計算機系統》

《深入理解計算機系統》

《深入理解計算機系統》,作者(美)布萊恩特,奧哈拉倫,由中國電力出版社於2011年1月1日出版。本書適用於那些想要寫出更快、更可靠程式的程式設計師。通過掌握程式是如何映射到系統上,以及程式是如何執行的,讀者能夠更好的理解程式的行為為什麼是這樣的,以及效率低下是如何造成的。

基本信息

《深入理解計算機系統》-基本信息

原書名:ComputerSystemsAProgrammer'sPerspective
原出版社:Pearson
作者:(美)RandalE.BryantDavidO'Hallaron[作譯者介紹]
譯者:龔奕利雷迎春
《深入理解計算機系統》《深入理解計算機系統》

叢書名:國外經典計算機科學教材系列
出版社:中國電力出版社
ISBN:7508321758
上架時間:2004-10-30
出版日期:2004年10月
開本:16開
頁碼:873
版次:1-2
所屬分類:計算機>計算機組織與體系結構>綜合
教材>征訂教材>高等理工
教材>教材彙編分冊>高等理工
本版教材征訂號:0044098049-8
適用專業:計算機

《深入理解計算機系統》-內容簡介

從程式設計師的視角,看計算機系統!
本書適用於那些想要寫出更快、更可靠程式的程式設計師。通過掌握程式是如何映射到系統上,以及程式
是如何執行的,讀者能夠更好的理解程式的行為為什麼是這樣的,以及效率低下是如何造成的。粗略來看,計算機系統包括處理器和存儲器硬體、編譯器、作業系統和網路互連環境。而通過程式設計師的視角,讀者可以清晰地明白學習計算機系統的內部工作原理會對他們今後作為計算機科學研究者和工程師的工作有進一步的幫助。它還有助於為進一步學習計算機體系結構、作業系統、編譯器和網路互連做好準備。
本書的主要論題包括:數據表示、C程式的機器級表示、處理器結構,程式最佳化、存儲器層次結構、連結、異常控制流、虛擬存儲器和存儲器管理、系統級I/O、網路編程和並發編程。書中所覆蓋的內容主要是這些方面是如何影回響用和系統程式設計師的。例如,在講述數據表示時,本書說明了用來表示數字的表示方法是有限的,它能夠近似地表示整數和實數,但是這種表示方法是有限制的,程式設計師必須了解。在講述高速快取時,本書討論了矩陣代碼中的循環變數的順序是如何影響程式的性能的。在討論網路互連時,本書描述了並發伺服器如何能有效地處理來自多個客戶端的請求。
本書基於Intel兼容(IA32)機器,在Unix或者相關的作業系統(例如,Linux)上執行C程式。雖然書中包括了一些幫助讀者將Java轉化成C的提示,但是還是要求讀者對C或者C++有一定的了解。
您可以通過本書的Web網站http://www.hudong.com/wiki/www.csapp.cs.cmu.edu獲得完整的資料,包括實驗和作業,授課筆記和代碼示例。
本書英文版久負盛名,被眾多專業人士稱為“最偉大的計算機教材”之一,著名的美國卡內基梅隆大學計算機科學系一直將本書作為教材使用,程式設計師眼中的透徹講述計算機系統的扛鼎之作。作者RandalE.Bryant是卡耐基梅隆大學的計算機科學系主任,ACM和IEEE雙院士(Fellow),其研究成果多次獲得ACM和IEEE頒發的大獎。
本書共分十三章,分別介紹了信息的表示和處理、程式的機器級表示、處理器體系結構、存儲器層次結構、靜態和動態連結、虛擬存儲器、系統級I/O、網路編程和並發編程等精彩內容。其目的是解釋計算機系統的所有本質概念,並向讀者展示這些概念是如何實際地影回響用程式的正確性、性能和實用性。與其他主要針對系統構造人員的系統類書籍不同,這本書是寫給程式設計師的,是從程式設計師的角度來描述的。本書為軟體和硬體之間搭起了一個橋樑,它給出了一種幫助讀者分別從硬體和軟體的角度去理解一個程式及其行為的途徑,這也填補了國內計算機系統教學中的一個空白。本書的最大優點是幫助讀者理解概念,讓讀者很清楚地在腦海中構造一個層次型的計算機系統,從最低層數據在記憶體中的表示(如我們一直陌生的浮點數表示),到流水線指令的構成,到虛擬存儲器,到編譯系統,到動態載入庫,到最後的用戶套用。
本書提供了大量的例子和練習及部分答案。尤其值得一提的是,對於每一個基本概念都有相應的筆頭或程式試驗,加深讀者的理解。

《深入理解計算機系統》-目錄

譯序
關於術語的翻譯
在第二次印刷中一些重要術語的修訂
前言
關於作者
第1章計算機系統漫遊
1.1信息就是位十上下文
1.2程式被其他程式翻譯成不同的格式
1.3了解編譯系統如何工作是大有益處的
1.4處理器讀並解釋儲存在存儲器中的指令
1.5高速快取
1.6形成層次結構的存儲設備
1.7作業系統管理硬體
1.8利用網路系統和其他系統通信
1.9下一步
1.10小結
第1部分程式結構和執行
第2章信息的表示和處理
.2.1信息存儲
2.2整數表示
2.3整數運算
2.4浮點
2.5小結
第3章程式的機器級表示
3.1歷史觀點
3.2程式編碼
3.3數據格式
3.4訪問信息
3.5算術和邏輯操作
3.6控制
3.7過程
3.8數組分配和訪問
3.9異類的數據結構
3.10對齊(alignment)
3.11綜合:理解指針
3.12現實生活:使用gdb調試器
3.13存儲器的越界引用和緩衝區溢出
3.14*浮點代碼
3.15*在c程式中嵌入彙編代碼
3.16小結
第4章處理器體系結構
4.1y86指令集體系結構
4.2邏輯設計和硬體控制語言hcl
4.3y86的順序(sequential)實現
4.4流水線的通用原理
4.5y86的流水線實現
4.6小結
第5章最佳化程式性能
5.1最佳化編譯器的能力和局限性
5.2表示程式性能
5.3程式示例
5.4消除循環的低效率
5.5減少過程調用
5.6消除不必要的存儲器引用
5.7理解現代處理器
5.8降低循環開銷
5.9轉換到指針代碼
5.10提高並行性
5.11綜合:最佳化合併(combing)代碼的效果小結
5.12轉移預測和預測錯誤處罰
5.13解存儲器性能
5.14現實生活:性能提高技術
5.15確認和消除性能瓶頸
5.16小結
第6章存儲器層次結構
6.1存儲技術
6.2局部性
6.3存儲器層次結構
6.4高速快取存儲器
6.5編寫高速快取友好的代碼
6.6綜合:高速快取對程式性能的影響
6.7綜合:利用程式中的局部性
6.8小結
第2部分在系統上運行程式
第7章連結
7.1編譯器驅動程式
7.2靜態連結
7.3標檔案
7.4可重定位目標檔案
7.5符號和符號表
7.6符號解析
7.7重定位
7.8可執行目標檔案
7.9載入可執行目標檔案
7.10動態連結共享庫
7.11從應用程式中載入和連結共享庫
7.12*與位置無關的代碼(pic)
7.13處理目標檔案的工具
7.14小結
第8章異常控制流
8.1異常
8.2進程
8.3系統調用和錯誤處理
8.4進程控制
8.5信號
8.6非本地跳轉
8.7操作進程的工具
8.8小結
第9章測量程式執行時間
9.1計算機系統上的時間流
9.2通過間隔計數(intervalcounting)來測量時間
9.3周期計數器
9.4用周期計數器來測量程式執行時間
9.5基於gettimeofday函式的測量
9.6綜合:一個實驗協定
9.7展望未來
9.8現實生活:k次最優測量方法
9.9得到的經驗教訓
9.10小結
第10章虛擬存儲器
10.1物理和虛擬定址
10.2地址空間
10.3虛擬存儲器作為快取的工具
10.4虛擬存儲器作為存儲器管理的工具
10.5虛擬存儲器作為存儲器保護的工具
10.6地址翻譯
10.7案例研究:pentium/linux存儲器系統,
10.8存儲器映射
10.9動態存儲器分配
10.10垃圾收集
10.11c程式中常見的與存儲器有關的錯誤
10.12扼要重述一些有關虛擬存儲器的關鍵概念
10.13小結
第3部分程式間的互動和通信
第11章系統級i/o
11.1unixi/o
11.2打開和關閉檔案
11.3讀和寫檔案
11.4用rio包進行健壯地讀和寫
11.5讀取檔案元數據
11.6已分享檔案
11.7i/o重定向
11.8標準i/o
11.9綜合:我該使用哪些i/o函式?
11.10小結
第12章網路編程
12.1客戶端-伺服器編程模型
12.2網路
12.3全球ip網際網路
12.4套接字接口
12.5web伺服器
12.6綜合:tinyweb伺服器
12.7小結
第13章並發編程
13.1基於進程的並發編程
13.2基於i/o多路復用的並發編程
13.3基於執行緒的並發編程
13.4多執行緒程式中的共享變數
13.5用信號量同步執行緒
13.6綜合:基於預執行緒化的並發伺服器
13.7其他並發性問題
13.8小結
附錄a處理器控制邏輯的hcl描述
a.1hcl參考手冊
a.2seq
a.3seq+
a.4pipe
附錄b錯誤處理
b.1unix系統中的錯誤處理
b.2錯誤處理封裝函式
b.3csapp.h頭檔案
b.4csapp.c源檔案
參考文獻
索引

《深入理解計算機系統》-作者簡介

RandalE.Bryant1973年獲得密西根大學(UniversityofMichigan)學士學位,隨即就讀麻省理工學

Randal E. BryantRandal E. Bryant

院(MassachusettsInstituteofTechnology)的研究生院,並在1981年獲計算機博士學位。他在加州理工學院(CaliforniaInstituteofTechnology)做了三年助教,從1984年至今一直是卡內基梅隆大學(CarnegieMellon)的教師。他現在是計算機科學的主任級教授和計算機科學系的系主任。他同時還受邀於電子和計算機工程系。他從事本科和研究生計算機系統方面課程的教學超過20年。在講授計算機體系結構課程多年後,他開始把關注點從如何設計計算機轉移到程式設計師如何在更好地了解系統的情況下編寫出更有效和更可靠的程式。他和O’Hallaron教授一起在卡內基梅隆大學...(展開全部)RandalE.Bryant1973年獲得密西根大學(UniversityofMichigan)學士學位,隨即就讀麻省理工學院(MassachusettsInstituteofTechnology)的研究生院,並在1981年獲計算機博士學位。他在加州理工學院(CaliforniaInstituteofTechnology)做了三年助教,從1984年至今一直是卡內基梅隆大學(CarnegieMellon)的教師。他現在是計算機科學的主任級教授和計算機科學系的系主任。他同時還受邀於電子和計算機工程系。他從事本科和研究生計算機系統方面課程的教學超過20年。在講授計算機體系結構課程多年後,他開始把關注點從如何設計計算機轉移到程式設計師如何在更好地了解系統的情況下編寫出更有效和更可靠的程式。他和O’Hallaron教授一起在卡內基梅隆大學開設了“計算機系統導論”課程,那便是此書的基礎。他還教授一些算法和編程方面的課程。Bryant教授的研究涉及幫助硬體設計者驗證其系統正確性的軟體工具的設計。其中,包括幾種類型的模擬器,以及用數學方法來證明設計正確性的形式化驗證工具。他發表了100多篇技術論文。包括Intel、Motorola、IBM和Fujitsu在內的主要計算機製造商都使用他的研究成果。他還因他的研究獲得過數項大獎。其中包括SemiconductorResearchCorporation頒發的兩個發明榮譽獎和一個技術成就獎,美國計算機學會(AssociationforComputerMachinery,ACM)頒發的Kanellakis理論與實踐獎,還有電氣和電子工程師協會(InstituteofElectricalandElectronicsEngineers,IEEE)授予的W.R.G.Baker獎和50年金質獎章(aGoldenjubileeMedal)。他同時是ACM和IEEE的院士。
DavidR.O’Hallaron1986年在維吉尼亞大學(UniversityofVirginia)獲得計算機科學的博士學位。在通用電氣工作一段時間後,於1989年作為系統科學家成為卡內基梅隆大學的教員。他目前是計算機科學系和電子及計算機工程系的副教授。他教授一些本科生和研究

David R. O’HallaronDavid R. O’Hallaron

生的計算機系統方面的課程,例如計算機體系結構、計算機系統緒論、並行處理器設計和Internet服務。和Bryant教授一起,他開設了“計算機系統導論”課程,那便是此書的基礎。O’Hallaron教授和他的學生從事計算機系統領域的研究。特別的,他們開發了一些軟體系統,幫助科學家和工程師在計算機上模擬自然界。其中最著名的是Quake項目,一群計算機科學家、土木工程師和地震學家致力於在強烈地震中預測大地運動的能力,這些強烈地震包括南加洲、古巴、日本、墨西哥和紐西蘭的大地震。同Quake項目中其它人員一起,他獲得了CMU計算機科學院頒發的AllenNewell優秀研究獎章。他為Quake項目創立的基準程式,183.equake,被SPEC(StandardsPerformanceEvaluationCorporation)選入非常有影響的SPECCPU和OMP(OpenMp)基準程式包中。

《深入理解計算機系統》-編輯推薦

·AMAZON五星圖書,最偉大計算機科學教材之一;
·卡耐基梅隆大學計算機學院院長,IEEE和ACM雙院士傾力推出;
·超過80所美國和世界一流大學計算機專業選用本書為教材。
本書被讚譽為價值超過等重量黃金的無價資源寶庫;第一本將軟體和硬體理論結合講述的教程;覆蓋計算機導論、體系結構和處理器設計等多門課程;經過大量學生使用,效果優秀,並獲教師和學生一致推崇;完善的教學網站,為教師和學生提供線上支持。所有想寫出更快、更可靠程式的開發人員必讀之書!
所有想寫出更快、更可靠程式的開發人員必讀之書!
★AMAZON五星圖書,最偉大計算機科學教材之一
★卡耐基梅隆大學計算機學院院長,IEEE和ACM雙院士傾力推出
★超過80所美國和世界一流大學計算機專業選用本書為教材
看看指導教師們是如何評價這本書的:
“我堅信從程式設計師的角度來看計算機系統對教會學生計算機的內部結構非常有幫助。”——KostasDaniilidis,賓夕法尼亞大學
“這本書講述事物的方法與眾不同,但是和我想要的課程進行方式類似。”——JohnGreiner,Rice大學
“這是一項出色的工作,是這一領域教學方法的一次革命。”——MichaelScott,羅切斯特大學
作者RandalE.Bryant是卡耐基梅隆大學的計算機科學系主任,ACM和IEEE雙院士(Fellow),其研究成果多次獲得ACM和IEEE頒發的大獎。
本書提供了大量的例子和練習及部分答案。尤其值得一提的是,對於每一個基本概念都有相應的筆頭或程式試驗,加深讀者的理解。

盤點計算機書籍

從計算機的類型、工作方式、構成器件、操作原理、套用環境等劃分,計算機有多種分類。計算機(Computer)是一種能夠按照事先存儲的程式,自動、高速地進行大量數值計算和各種信息處理的現代化智慧型電子設備。
《電腦程式設計藝術》
《計算機組成原理》
《計算機基礎》
《計算機英語》
《計算機科學導論》
《計算機網路》
《大學計算機基礎》
《計算機系統概論》
《計算機網路與通信》
《計算機網路套用技術教程題解與實驗指導》
《計算機圖形學的算法基礎》
《高中計算機學習指導》
《計算機科學概論》
《計算機組成:結構化方法》
《計算機算法》
《計算機數學》
《計算機網路高級軟體編程技術》
《計算機學科專業基礎綜合聯考輔導教程》
《計算機視覺:一種現代方法》
《虛實世界:計算機仿真如何改變科學的疆域》
《證券期貨投資計算機化技術分析原理》
《計算機維修工》
《計算機組成與結構》
《計算機系統結構:量化研究方法》
《計算機網路系統方法》
《計算機視覺》
《計算機圖形學》
《計算機系統要素:從零開始構建現代計算機》
《深入理解計算機系統》
《計算機作業系統》
《計算機安全學:安全的藝術與科學》
《計算機視覺-計算理與算法基礎》《電腦程式的構造和解釋》
《計算機體系結構量化研究方法》
《計算機網路:自頂向下方法》
《計算機科學導論學習指導與習題解答》
《計算機組成與系統結構》
《微型計算機技術及套用》
《計算機視覺中的數學方法》
《基於OpenCV的計算機視覺技術實現》
《微型計算機原理與接口技術套用》
《計算機視覺中的多視圖幾何》
《英漢計算機詞典》
《計算機安全學——安全的藝術與科學》
《計算機視覺——算法與系統原理》
《計算機文化》
《用計算的觀點看世界》
《計算機網路技術項目教程》

《嵌入式微計算機系統實時接口技術》
《高等學校計算機基礎教育教材精選:計算機硬體技術基礎》
《計算機套用基礎教程——計算機上機指導》
《計算機網路原理——計算機網路繫結構》
《IT通史:計算機技術發展與計算機企業商戰風雲》
《2011計算機套用基礎》
《多媒體技術套用》
《高等學校計算機輔助設計與繪圖課程系列教材·計算機輔助設計》
《計算機套用基礎實訓》
《計算機專業學生畢業論文指導及範例》
《數值方法與計算機實現》
《走進新科學:計算機》
《計算機組成與設計硬體:軟體接口》
《計算機組裝與維護實訓指導書—計算機套用技術專業》

相關詞條

相關搜尋

熱門詞條

聯絡我們