進入 C 代碼部分 第一部分 準備 1。內核代碼結構 核心從 / arch/kernel/head.s 跳轉出來后,進如了 c 語言廣闊的海洋。在浩如煙海的代碼中有很多東西是" name="description" />

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 準備好開始讀LINUX 內核了嗎?

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    linux 讀核裝備 MI LY: 宋體; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">進入 C 代碼部分 第一部分 準備 1。內核代碼結構 核心從 / arch/kernel/head.s 跳轉出來后,進如了 c 語言廣闊的海洋。在浩如煙海的代碼中有很多東西是

    linux 讀核裝備

    MILY: 宋體; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'">進入C代碼部分

     

    第一部分 準備

    1。內核代碼結構

           核心從/arch/kernel/head.s跳轉出來后,進如了c語言廣闊的海洋。在浩如煙海的代碼中有很多東西是讀核心可以放棄的。對于大部分windows菜鳥來說,還是使用source-insight來讀代碼吧,不過如果把所有的代碼都加到source-insight里去(180M180M),速度太慢。在建立工程前先瘦身。

        1,NET,(你想做一個過時的黑客嗎?如果不想放棄吧)

     

        2,sound,2。6的核心居然有這么個單獨的目錄,我都沒有仔細看就把它放棄了。

     

        3,drivers,如果想知道驅動怎么寫,可以看看,linux device driver 2nd Edition,網上有英文版的,書店有中文版。沒有必要乍在這里看成千上萬行程序代碼。

     

        4,fs,里面有太多流浪狗沒有見過的文件系統,最多留下ext2,ext3就可以了。當然fs/*.c還是要留下的。

     

        5,如果是完整的代碼,archinclude里還有很多別的體系結構的代碼,我的CPUPiii所以留下i386部分。里面還有些amd-cpu的東西,不過不太多可以留下。

     

        6,其他還有幾個小目錄都可以留下,不過重要的是,kernel ,mm,ipc,init,include,arch,

     

        7,打開source-insight如果覺得它字體不太適應,可以在options--preferences--syntax formatting--basics里勾上,use-only-color-formatting。其他的東西再慢慢熟悉把。

     

        8,在source-insight工程里jump to definition 和回退的快捷鍵分別是Ctrl+=Alt+,

           9,完成如上準備后就可以開始旅行啦,yeah?。?!

     

    2。閱讀核心的準備。

        流浪狗也不知道閱讀核心代碼需要多少基礎知識,不過我會列舉一些我覺得會用到的知識和我喜歡的書。因為流浪狗是非計算機專業的門外漢,所以很多東西可能對計算機專業的高手不太適合。

        0,必須會使用計算機?。?!

        1,C語言知識。

        2,操作系統基礎知識,我比較喜歡的書是《現代操作系統》。

        3,和unix系統的一些基本知識。ext2文件結構,fork等。

        4,X86proctect-mode??梢缘骄W上找

     

        總之,基礎知識是很重要的,如果沒有積累,恐怕也不可能看懂核心。比如下面幾個簡單的東西。如果你還不明白,想看懂核心恐怕有點難。

            進程控制塊,進程扇,進程鏈。downup操作,生產者,消費者。。。,LRU

     

        下面是部分書和資源,還有和很多一時想不起來了。

     

        OReilly - Understanding the Linux Kernel - 2nd Edition.chm(深入理解linux kernel),流浪狗看了一遍又一遍。

     

        OReilly - linux device driver- 2nd Edition,補充對設備驅動的理解。

     

        LINUX內核源代碼情景分析(上,下),有的地方講得比較詳細,不過電子版(D版)很難看。說真的我很討厭這本書的前言。

       

        google查找利索腳。

     

        joyfire筆記,是個網站。經常在csdn上逢人便說歡迎訪問http://joyfire.net/。

     

        浙江大學的 linux分析報告 98 96,一個是研究生班,一個是本科班,如果有興趣可以看看研究生是怎么畢業的 :-)

       

        NB的當然還是www.google.com了。

     

        核心第一個c代碼函數是start-kernel,位置在init/main.c,let's go!!!

     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>