兩個月前的一天深夜,熟睡的我被呼啦啦的一聲驚醒,正要往牀底下鑽,透過月光看見散落一地的書——原來是書架塌了。編程
做爲一隻租住在10平小單間的北漂兒,只有個簡易的塑料書架放書,本來就習慣於等活動囤書,再加上單位時不時發放的購書卡,每次三本兩本的,不知不覺就買書如山倒了。知乎、豆瓣裏被人推薦過的、叫得出名字的CS經典書籍基本齊全了。後端
驚魂未定的我看着滿地的書,莫名地有些生氣,這些書的絕大多數,要麼只是偶爾須要時翻兩頁,要麼就是剛買來興致勃勃地看了目錄和第一章就束之高閣了,其中甚至有幾本還沒拆塑封。網絡
因而跟本身打了個賭:認真讀完一本大部頭。若是失敗了就清空書架把書全賣掉,今後不買紙質書;若是成功了,就獎勵本身一個禮物,同時再接再礪持續閱讀。多線程
權衡之下選擇這本《深刻理解計算機系統》做爲目標,一是由於它是CS專業的第一門基礎課,有益於後續的知識銜接,好比計算機網絡、操做系統等;其二難度不大,無論白天工做累不累,均可以堅持下來天天翻看幾頁;第三是篇幅較多,一氣呵成完成以後,面對其餘的大部頭能夠」一覽衆山小「,不會被篇幅嚇倒。學習
寫做本文時,我已經按計劃讀完了700多頁的CSAPP,但並無想象中的興奮和成就感,反而有些失落和迷茫。優化
眼前擺着早就計劃好的第二本書《現代操做系統》,但個人方法真的對嗎?付出的時間值嗎?在讀下一本書以前,我必須搞清楚這個問題。操作系統
翻看這兩個月的筆記,開頭的兩章就像以前計劃的那樣,不抄書、不羅列知識點,而是天天讀完之後合上書,思考和記錄收穫和感想。但差很少從第三週開始,筆記內容就逐漸回到了劃份內容結構、總結羅列知識點以及自我激勵的話。雖然極力剋制着沒有敷衍,但確實思考得愈來愈少,完成做業的感受愈來愈濃。計算機網絡
將第二本書放回了書架,我決定對CSAPP作一次Review。曾經看到過一句話,最好的學習方法就是教會別人。因此此次我會將筆記發表出來,一樣會盡可能避免羅列知識點,而是圍繞書中的知識進行發散思考,撰寫博客而非教程。線程
書歸正傳,本書的第一章是全書的導論,基本上每一小節都是後面一大章節的引子,因此讀時沒必要拘泥於細節,從宏觀上對程序的執行過程以及計算機系統的組成有個概念性的瞭解便可。翻譯
本書在內容上能夠分爲三個部分:
最後講講我的對本書的評價,在讀完以後,我愈加以爲使用本書做爲開始是極爲正確的選擇,它有本身的側重點,就是關於底層硬件的分析和設計,講清楚了計算機從0到1的過程。同時,本書又能夠做爲計算機專業的一份地圖,從底層硬件設計、操做系統原理到應用程序的編寫與優化,爲整個計算機系統學科作了導論性的闡述,引導讀者從1走向無窮。
另外,本書第三版中文翻譯絕對過關,可放心使用!講到翻譯要說一個反例,即將閱讀的下一本書——《現代操做系統》,我只讀了一章就理解了爲何好多人建議讀英文原版了,這本書的翻譯是真的會影響理解,至少要中英文對照着讀。 在CSAPP的筆記更新完成後,接下來會是這本操做系統,大體翻了翻,兩本書在內容上有很大的重疊,但側重點各有不一樣,能夠相互對照着學習。
這纔剛剛第一章,就不作太多的下一本預告了。但願能把這本Review完成吧,雖然就12章,也提早讀完寫了筆記,但真正寫博客的時候才體會到向別人講述有多難。最後,說好的獎勵給本身的禮物:
—— for and by Music Lovers