<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CSAPP,永遠滴神!

          共 1881字,需瀏覽 4分鐘

           ·

          2021-06-24 19:33

          大家好,我是小林。
          今天跟大家聊聊《深入理解計算系統(tǒng)》,這本書的英文全稱叫:
          ComputerSystem:A programer perspective

          英文名翻譯過來是「程序員視角下的計算機系統(tǒng)」,也被簡稱為 CSAPP。

          可能大家以為這本書是講操作系統(tǒng)的,我最開始也以為是這樣。后面當(dāng)我開始啃這本書的時候,發(fā)現(xiàn)我大錯特錯,它遠不止我想的那樣。
          這本書是從程序員的角度學(xué)習(xí)計算機系統(tǒng)是如何工作的,通過描述程序是如何映射到計算機系統(tǒng)上,程序是如何執(zhí)行的,以及程序效率低下的原因,這樣的方式可以讓大家能更好的知道「程序與計算機系統(tǒng)」的關(guān)系。
          CSAPP 涵蓋的內(nèi)容非常多,有計算機組成 + 操作系統(tǒng) + 匯編 + C語言 + Linux系統(tǒng)編程,涉獵的領(lǐng)域比較多,是一本綜合性的書,更是一本程序員修煉內(nèi)功的指引書。
          第一章「計算機系統(tǒng)漫游」內(nèi)容,就很好的把程序與計算機系統(tǒng)有哪些關(guān)系都闡述清楚了,一下就知道了計算機系統(tǒng)的整個脈絡(luò),把一些零散的知識點都串了起來。
          在國內(nèi)已經(jīng)有很多高校開始采用這本書作為大一或大二的教材了,采用用這本書作為教材的學(xué)校,真心給你們點個贊。
          因為這本書其實可以給計算機專業(yè)的同學(xué)指明了一個很好的計算機基礎(chǔ)學(xué)習(xí)方向,這樣后續(xù)在單獨學(xué)計算機組成、操作系統(tǒng)等這些獨立的科學(xué)的時候,會更清楚知道它們在計算機里處在的位置和作用。
          CSAPP 主要包括以下內(nèi)容:
          • 信息表示(如何使用二進制表示整型、浮點數(shù)等);

          • C 和匯編語言的學(xué)習(xí)(通過匯編語言更深入地理解C語言是什么);

          • 計算機體系結(jié)構(gòu)(存儲層次結(jié)構(gòu)、局部性原理、處理器體系結(jié)構(gòu));

          • 編譯鏈接(C語言如何從文本變成可執(zhí)行文件、靜態(tài)鏈接、動態(tài)鏈接);

          • 操作系統(tǒng)的使用(異??刂屏?、虛擬內(nèi)存、多個系統(tǒng)調(diào)用介紹);

          • 網(wǎng)絡(luò)及并發(fā)編程(并發(fā)的基本概念、網(wǎng)絡(luò)相關(guān)的系統(tǒng)調(diào)用的介紹)。

          那學(xué)這本書需要什么基礎(chǔ)呢?
          這本書的作者已經(jīng)在開頭跟大家說清楚了,只需要有 C 語言基礎(chǔ),即使你沒學(xué)過匯編、計算機組成、操作系統(tǒng)也是可以的。
          前面我也提到 CSAPP 是一本程序員修煉內(nèi)功的指引書,為什么說是指引書呢?
          CSAPP 是計算機原理 + 操作系統(tǒng) + Linux 系統(tǒng) + 匯編的一個大雜燴,它不是深入理解匯編、深入理解操作系統(tǒng)、深入理解計算機原理,所以它不會在某個知識點給你涉及很深,比如:
          • 雖然講了虛擬內(nèi)存,但是并沒有說各種頁面置換算法,這部分內(nèi)容得我們?nèi)タ床僮飨到y(tǒng)相關(guān)的書;

          • 雖然講了 Cache,但是并沒有說緩存一致性協(xié)議,這部分內(nèi)容得我們?nèi)タ从嬎銠C組成相關(guān)的書;

          • 雖然說了鏈接,但是講的內(nèi)容比較表面,要想深入這塊內(nèi)容還是得看看《程序員的自我修養(yǎng)》這本書;

          • 雖然說了 Linux 系統(tǒng)的 I/0 和網(wǎng)絡(luò)編程,但是只是說了幾個簡單案例,要想深入理解這些內(nèi)容還得看《APUE》和《UNP》這兩本;

          • 沒有提及操作系統(tǒng)中的文件系統(tǒng)、調(diào)度算法等。

          但是 CSAPP 會給我們建立一個計算機系統(tǒng)的體系,好讓我們在后面對體系里的每一個支點往下深入。
          讀了這本書,你后面在寫代碼的時候,會有不一樣的視角,你會開始思考代碼的底層原理,而不是把計算機系統(tǒng)當(dāng)作一個黑盒子,跑完代碼就完事的那種想法。
          當(dāng)然,單純看書會很乏味,我們可以結(jié)合視頻一起學(xué)。這本書的視頻課程是國外老師錄制的,但是在 b 站已經(jīng)有好人幫我們做了中文字幕,看了這視頻,相當(dāng)于在國外上了一門計算機課的感覺。
          B 站地址:https://www.bilibili.com/video/BV1iW411d7hd
          如果你是在校生,有了一定 C 語言基礎(chǔ)后,非常建議你就開始看這本書,有精力也可以做做 CSAPP 的 lab。越早開始看,你的收益就越大,因為當(dāng)計算機體系搭建起來后,你后面再深入每一個課程的時候,你會發(fā)現(xiàn)學(xué)起來會比較輕松些。
          對于已經(jīng)工作了,但是計算機系統(tǒng)沒有一個清晰認識的讀者,也可以從這本書開始一點一點學(xué)起來,這本書是很厚,但是并不一定要把書完完看完,每個章節(jié)的知識點還是比較獨立的,有關(guān)硬件的章節(jié)我們可以選擇跳過。
          我這里掛個購買鏈接,對這本書有興趣的同學(xué),可以直接購買:
          最后,我也準(zhǔn)備了 5 本 CSAP 送給評論區(qū)點贊前五位的讀者
          想要贊高的小技巧,就是把評論的字數(shù)寫多一點,后面進來的讀者看到,肯定會自覺給你點贊的。
          來吧,大家來留言吧
          瀏覽 246
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天堂影院一区二区 | 午夜无码福利 | 日日夜夜天天操 | 亚洲综合自拍 | 抽插逼逼|