如何閱讀《深入理解計算機系統》這本書?

時間 2021-05-06 04:51:59

1樓:msowb

這本書感覺已經夠淺顯易懂了,個人認為只要學了C語言基礎就可以讀了。讀不下去只能說你不適合幹這行了。讀得慢不是問題,讀懂了,讀一遍基本就可以了。

本身講的也都是一些基礎知識。不必強求用不用得上,跟著做做lab就好了。

2樓:臥樓聽松

別的我不說,我只是建議,看題目這本書之前先看這本:《計算機系統:系統架構與作業系統的高度整合》

基本上是喬治亞理工學院的教材。直接啃深入和編譯原理你會哭,如果不先理解硬體,學軟體會極度抽象。

3樓:Greg

第二章剛看完,第一遍看,一直做筆記,感覺每一句都是重點,畢竟第一次碰系統。然後反思了一下,覺得可以第一次只閱讀,我覺得是細讀,加寫每一道Practice Problem. 然後每一節反思下學到了什麼,什麼是重點。

第二遍讀,粗讀,做筆記,重點的公式和小技巧都記在小本本上,以後直接用。

比如第二章,signed unsogned float加減乘除,truncate, 和C中防止overflow的判斷方法,這就是最實用的。概念性的知識更重要,但是要是記筆記,對我來說幾乎全書了,所以個人覺得就記下上述的知識到筆記本。畢竟這書也不可能只讀寫一遍

4樓:李白的日記本

1.先看英文標題,再看目錄,知道這本書講的是什麼。

3.不一定要短時間內看完,放在桌頭床頭,想看了就看一段。畢竟看了效果也不是立竿見影的,斷斷續續幾個月看個85%左右,打基礎用。

只是看一本書而已,那些動不動讓人先看好幾本書的,問一下,什麼時候才能把這本書看完。這本書,說白了,也就是一本稍微深入的導論。

5樓:

從第二章開始讀,每個概念都搞懂了再往後,習題都好好做。

特別是第三章第四章,更需要反覆咀嚼,做好每個習題。

有時間第三章第四章的實驗也可以做做。

6樓:魂之輓歌

我是在研三上學期開始轉向cs的,花了三個多月的時間在實驗室的電腦上刷完了這本書(做了所有的習題和lab,從早晨刷到晚上)

刷完對於計算機和程式設計就有比較好的概念了。感覺非常適合轉行的同學用來上手,老老實實做題刷lab就行。畢竟名聲在外,刷了肯定不虧。

題目網上有答案,lab有測試,刷的過程如果投入進去,非常有收穫,lab做完也很有成就感

7樓:朝歌

我們學校才大一就開始上這個課,更扯的是我們這學期才開始上C語言,更更離譜到是我們一共只上13周,最絕的是我們還要學第四章。

我覺得學校腦子有屎...雖然這課不是那麼難,但是這個奇葩的安排就離譜..

8樓:魔都吳彥祖

大一上過這門書的課,做了五個實驗,最後92總評拿了滿績。當時是真的煩,剛學完C語言就開始學這個,實驗難的一直懷疑人生。

言歸正傳,這本書肯定是好書,但大家誇的厲害絕不是因為它通俗易懂,而且它的編排並不那麼友好。比如彙編那章,看了十幾頁都是一頭霧水,看到後來才突然恍然大悟。我同學也是,我用我的思路重新組織章節,一遍就給他講清楚了。

國外大部頭或多或少都有這些問題,不一定能馬上習慣下來。

因此建議讀書時一要有耐心,二是最好有個同學一起交流,三是做點書後習題,相比於實驗習題大多還是很友好的。有些章節可以根據興趣選看。

9樓:劉一

乙個做會計的答一下。

有一些初等的Excel ⅤBA基礎,能理解物件導向的概念。手中的是笫三版英文版,讀它純屬興趣。

相當友好與清晰,後悔沒有早遇到。

沒有考試及時間限制,便可從容面對,只是想提高自己這方面的修養,沒有機會從事技術了。

有SQL的基礎,相信讀完這本書,在我面對一些業務系統問題以及與lT人員溝通時,更有效率。

10樓:TUSKI

做實驗吧,光看書容易怎麼看都看不懂。

還有這本書就是容易不懂的時候怎麼看都看不懂,懂了再看就會發現也沒必要看。

所以不如看點別的書,作業系統,彙編一類的,動手做做實驗,mit.6.828這樣的。

11樓:技術人成長

我在十年前讀了這本書,讀的英文版,這書屬於理論知識,要馬上能用起來比較難。如果基礎還不夠,可能讀起來也吃力,但可以以後再次讀。

12樓:huiscool

這本書常讀常新。如果是乙個cs的學生,我建議在學習c語言和資料結構之後閱讀這本書。這本書很厚,約1000頁,想要在乙個學期內啃透還有有點困難的,建議前六章結合計算機體系結構課程學習,後6章結合作業系統課程學習。

另外,lab也是很重要的一部分,完成這些lab會給人極大的成就感。enjoy hacking!

13樓:Queen Frank

我不喜歡這本書

一如我不喜歡曾謹言的《量子力學》

現在回頭來看這本書,我更傾向於把它當做乙個綜述一樣的資料,或者字典一樣工具書。

有時候翻一翻,可以看看還有啥概念自己沒搞懂,可以通過書中的相關講解有個初步的線索認知,收集一波最初的關鍵字,然後用這些東西去找專業細緻的資料,而不是指望用這個來學懂。

這本書整體上結構較為鬆散,並不是前面看不懂後面就會不懂的聯絡緊密的結構,所以閱讀時完全可以跳躍,挑自己需要的和能看懂的看。就醬

14樓:張鵬飛

不請自來。

本科是大工計算機的。基本就是因為大二花了小半年時間吃透了這本書,對整個計算機系統有了非常深入的了解,讓我之後的學習非常順利。現在如果有人讓我推薦一本計算機類的書籍,我肯定會推薦這一本,還有一本是英文版的演算法導論。

不得不說,《深入理解計算機系統》這本書的翻譯非常不錯,我對照讀過原版的,可以說翻譯絕對良心。而且新出的第三版中也開始介紹64-bit的組合語言,這點非常非常好。

至於題主說花了兩周還停留在第五章,太正常不過,我甚至還覺得題主看得太快了。我當時我為了吃透第二章,我沒記錯的話這一章是講計算機內部的資料表示方法的,如補碼,原始碼等,我花了整整兩周,當然還包括完成所有習題,獲益非常大,舉個例子,就是我在申請博士的時候,當時面試的時候問的乙個題目是,

怎麼樣不用額外的記憶體空間交換兩個整型變數的值

而這個題目在本書的第二章講位操作的部分就有。所以我建議題主不要急,慢慢來,多思考,多實踐。最好每一章都花個兩三周去看。

其實我現在時不時把這本書拿起來看,覺得當時自己還是看得太快,囫圇吞棗吶。

15樓:「已登出」

如果你是在所有專業課都學完的情況下開始讀這本書,那他的作用是幫你將這些專業課的知識點連點成線,告訴你那些計算機結構如何構成乙個計算機系統。認真完成課後題,日後有機會在實際問題中用到的話,便可以連點成面。

如果你是在什麼專業課都還沒學習的情況下,那你就把這本書當做計算機專業入門科普書來讀。它可以幫你構建起計算機系統結構的大致框架,開闊你的思維範圍,在日後深入學習每一部分時,可以使當前知識與其他部分連線起來,做到接地氣的學習計算機系統理論。

但是切記這只是一本目錄,一本淺嘗輒止的入門科普書,如果你單純讀了這一本書就以為自己很厲害,那就變成復旦南神那樣膚淺浮躁且盲目自大的人了。

16樓:夜航船

光看不管用,得把習題都做一遍。

目標其實很簡單,把每一章後面的習題都能做出來。

就跟我們小時候老師布置的那樣,其實對於智商普通的人來說,我們從小上學的模式和學習方法都是非常系統正規的,只不過由於各種原因,我們覺得痛苦,所以自己自學的時候內心會不自覺牴觸這些方法。

17樓:

把以下書籍看懂你就懂了

第二章:《數字邏輯電路》《微機原理與介面》《Intel微處理器》

第三章: 《微機原理與介面》《Intel微處理器》

第四五章: 《計算機系統結構》

第六七章:編譯原理

第九章: 《作業系統》《編譯原理》

第10、11、12章 apue和unp

18樓:

當年在CMU某破系讀master,去選15213,一群人包括advisor說最好別選這課可難了

確實不簡單,只拿了乙個A。Lab除了第乙個我故意讓了別人並列第一以外其他的都第一,那學期累死爹了。

A+的標準是對課程做出重大貢獻,太龜毛了。nnd。

19樓:高洋

這書大而全,確實是銜接計算機系統各個領域的很好教材。

但是有些章節其實寫的中規中矩,或者明顯有更好的替代品,我簡單寫一些,這裡統一以最新的第三版為主,且我的標準是更貼近現代系統和工業界實踐:

必讀的章節:1,2,3,5,7相當於本書的特色。

有更好替代書籍的章節:

4,6:這兩章應該看更專業的書,比如《量化研究方法》,也可以對比著看。

最後,我的觀點是本科計算機課程,演算法和系統應該齊頭並重,不能偏頗。

20樓:白雲無盡時

在我看來這是一本講述了原理和思想的概論書,1至13章遞進關係。

讀的時候多思考計算機發展的需求,比如第4章實現的pipe流水線處理器的訪存階段只需要乙個週期,真的這麼快嗎?看到第六章發現CPU對記憶體的訪問通常需要幾十幾百個週期時間,通過SRAM快取記憶體器的區域性性優化得到了一定的效能提公升。而如果快取未命中的話則需要從更高階的儲存器讀入,那麼此時CPU應該等待嗎。。。。。。

建議不要跳太多,計算機史上很多細節問題促成了計算機的發展方向,以設計者的視角目睹計算機的發展豈不痛快

21樓:

我感覺這本書是《作業系統》&&《計算機組成原理》&&《計算機體系結構》&&《計算機網路》等等的合集了,如果你是CS專業的話,本科下來基本上整本書裡涉及的內容都應該學的差不多了

22樓:jack jack

看完了,14年年尾花了三個月時間。

剛開始第3章和4章比較難,有時一天只看半頁。

有答案的練習題一定要自己做完再對答案,收穫很大。

看到上面說書如何難如何需要基礎,

我理解真正的困難不是知識,而是書裡的錯誤,但是第2版幾乎沒有什麼讓閱讀進行不下去的錯誤,這是幸運的。

現在忘的差不多了,不過現在喜歡看厚書,對計算機底層也不感到神秘了。

裡面記憶體優化的部分很有用。

第4章流水線的設計覺得沒講完,只是感到設計精妙。

一句話,這本書看完是一種特別爽的感覺。

23樓:

作者本來就是高屋建瓴,廣而不深,大量書的精簡版。不建議專門閱讀,第一遍粗略瀏覽即可。等到一定層次再翻閱章節,才能明白作者為什麼要這樣寫。

24樓:

初次閱讀該書不用太在意是不是全部看懂。

可以用到的時候再回來翻翻,在實踐應用中會有新的感悟和理解。

當然實踐的乙個比較好的途徑是去做它官網提供的8個實驗。每個都很經典,有助於對於書本知識的理解和鞏固,邊做邊學,效果會好點。

25樓:布客飛龍

2 和 3 很容易找到地方來應用吧,比如你打算破解乙個軟體的時候。

4、5、6 三章卡是正常的,因為硬體的思路和你之前學的程式設計完全不同,而且對於數位電路又沒有給一些鋪墊。我讀這本書之前懂c語言和一些彙編,讀到這裡都卡。後來我發現用hdl把二維的元件和連線一維化之後,會容易一些,不過hdl的資料也不是很多。

要不然你先跳過這三章,去看後面的 linux elf 和 posix api。這三章什麼時候有興趣了什麼時候再啃。

然後我這裡有個補充書單,也就是說某一章你看不下去,可以看這些作為替代,或者看完之後作為補充:

2~3章:

《組合語言》

《加密與解密》看雪

4~6章:

《計算機系統要素》

《計算機組成結構:硬體/軟體介面》

7~8 章:

《程式設計師的自我修養》

9~12章

《現代作業系統》

《apue》

如何閱讀《深入理解計算機系統》

Code Diy 這是乙份地圖,而不是乙個世界。這是乙份地圖,而不是乙個世界。這是乙份地圖,而不是乙個世界。先整體看下目錄 第一章計算機系統的漫遊 第一部分程式結構和執行 第二部分在系統上執行程式 第三部分程式間的互動和通訊 顯而易見主要分為四部分 第一章猶如乙個老練的導遊,以乙個簡單的例子為起點,...

求解答《深入理解計算機系統》和袁春風的《計算機系統基礎》一書中過程呼叫的細節為何有所區別

這個是程式設計裡面的三種強度不同的約束。第一種是規定,intel 的硬體手冊裡面寫,你寫 call Q,那麼 eip 就會跳到 Q 所在的那個位址。如果實現函式,你必須自己準備好引數和返回值。那不準備好引數和返回值可以使用 call Q嗎,當然也可以,但是會出錯。這就是規定的含義 無論你有沒有準備好...

跨考408有必要先看完深入理解計算機系統嗎 或者其他必要性書籍推薦

貪狼天尊 現在你要學的必要性書籍主要是408的那幾門,資料結構,計算機組成原理,計算機作業系統和計算機網路。你需要先把初試給過了,這四門還是要參考輔導書一起複習的,必要時候網課也可以看。資料結構跨考放棄嚴奶奶版,如果你之前學過演算法也也可以繼續學這版,如果沒有選擇其他版本,是正規教材的都行。計算機組...