• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            星光燦爛

            C元素

            讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》

             

            第二章 從內(nèi)核出發(fā)

             

            內(nèi)核開發(fā)特點:

            1. 沒有l(wèi)ibc庫。 kernel是一個不依賴任何庫的,包括標準C函數(shù)庫。kernel中使用的一些常見函數(shù),比如memset, strcpy都是在kernel代碼中自己實現(xiàn)的。
            2. 請使用gcc來編譯內(nèi)核,因為內(nèi)核中的代碼并不完全符合ANSI C的標準。
            3. 沒有內(nèi)存保護,非法的內(nèi)存操作可能會使系統(tǒng)掛起。
            4. 不要使用浮點數(shù)
            5. 內(nèi)核棧容量很小( 2 * 頁面大小 )
            6. linux是搶占多任務(wù)操作系統(tǒng),進程,內(nèi)核都可以搶占,而且支持多處理器,所以內(nèi)核代碼需要考慮并發(fā)和同步的問題。
            7. 盡量要兼容所有架構(gòu)(arch),良好的移植性

             

             

             

            第三章 進程管理

             

            內(nèi)存描述符及任務(wù)結(jié)構(gòu)

            1. 每個進程都對應(yīng)有一個進程描述符,即task_struct結(jié)構(gòu),用來記錄這個進程的所有信息:打開的文件,地址空間,進程狀態(tài)……
            2. linux通過slab(個人感覺類似于pool)分配task_struct。 進程的task_struct指針存放在位于內(nèi)核棧底的一個叫做thread_info的結(jié)構(gòu)里面。
            3. 內(nèi)核通過PID來標識進程,默認設(shè)置最大值,即默認系統(tǒng)最大進程數(shù)為32768。內(nèi)核中一般通過current宏來獲的當(dāng)前進程的task_struct,不同的體系架構(gòu)下,實現(xiàn)方法可能會不同。
            4. 進程狀態(tài),可以通過set_task_state來設(shè)置
              1. TASK_RUNNING 進程可執(zhí)行;它正在運行,或者是在任務(wù)隊列中等待被運行。
              2. TASK_INTERRUPTIBLE 進程可中斷;進程被阻塞,但是可以通過信號,或者其他方法喚醒。
              3. TASK_UNINTERRUPTIBLE 進程不可中斷;進程被阻塞,而且不受任何干擾,不會響應(yīng)信號而被喚醒。
              4. TASK_ZOMBIE 進程僵死;進程已經(jīng)運行完畢,但是父進程沒有調(diào)用wait4系統(tǒng)調(diào)用,此時子進程的task_struct保留,等待父進程查詢相關(guān)信息。【Agaric:相似的,在windows上,進程的HANDLE通過(CreateProcess或者OpenProcess得到) 在程序運行完畢后,在CloseHandle 前,也是仍然有效,用于查詢進程相關(guān)信息,比如Exit code 等等】
              5. TASK_STOPPED 進程停止;
            5. 進程上下文: 進程通過系統(tǒng)調(diào)用或者異常陷入內(nèi)核,此時內(nèi)核是"代表進程"在工作,這個工作環(huán)境,叫做進程上下文,內(nèi)核程序可以通過宏來獲的當(dāng)前進程的task_struct
            6. 進程家族樹: 除了init,每個進程都有父進程, 每個進程都可能有子進程及兄弟進程。

            (待續(xù))

            posted on 2008-03-06 00:00 菌子 閱讀(1784) 評論(7)  編輯 收藏 引用 所屬分類: 讀書

            評論

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2008-09-03 10:17 ddd

            陳利君的書感覺就是大雜燴,
            自己沒搞懂,
            東拼西湊各種概念

            寫linux內(nèi)核的書從2.2就開始了  回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2010-12-09 08:23 ji

            [url=http://www.iebook.cn]電子雜志[/url]
            [url=http://www.iebook.cn]iebook第一門戶[/url]
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:00 便箋本印刷

            http://www.iein.cn 明信片印刷
            http://www.iein.cn 手提袋印刷
            http://www.iein.cn 便箋本印刷
            http://www.iein.cn 快印
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:00 便箋本印刷

            http://www.iein.cn 印功夫
            http://power.iebook.cn 企業(yè)電子畫冊
            http://power.iebook.cn iebook超級精靈
            http://power.iebook.cn 超級精靈
            http://power.iebook.cn 電子雜志制作系統(tǒng)
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:02 便箋本印刷

            http://diy.iebook.cn 電子相冊制作軟件
            http://sc.iebook.cn 電子雜志模板制作器
            http://tj.iebook.cn 電子雜志統(tǒng)計系統(tǒng)
            http://tj.iebook.cn 統(tǒng)計精靈
            http://pf.iebook.cn 超級皮膚
            http://pf.iebook.cn iebook皮膚
            http://pf.iebook.cn 電子雜志皮膚
            http://pf.iebook.cn 雜志皮膚
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:02 便箋本印刷

            http://sc.iebook.cn 電子雜志模板制作器
            http://www.iein.cn 印刷
            http://www.iein.cn 在線印刷
            http://www.iein.cn 在線設(shè)計
            http://www.iein.cn 名片印刷
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:03 便箋本印刷

            http://www.iebook.cn 企業(yè)電子雜志
            http://www.iebook.cn 企業(yè)電子商刊
            http://www.iebook.cn 第一門戶
            http://www.iebook.cn iebook第一門戶
            http://mb.iebook.cn 超級模板
            http://sc.iebook.cn 電子雜志模板
            http://sc.iebook.cn 電子雜志模板下載
            http://sc.iebook.cn flash電子雜志模板
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:03 便箋本印刷

            http://www.iebook.cn 電子雜志
            http://www.iebook.cn 電子雜志制作軟件
            http://www.iebook.cn 電子雜志制作
            http://www.iebook.cn 電子雜志軟件
              回復(fù)  更多評論   

            # re: 讀《Linux 內(nèi)核設(shè)計與實現(xiàn)》 2011-06-14 17:04 便箋本印刷

            http://www.iebook.cn 電子畫冊
            http://www.iebook.cn 電子商刊
            http://www.iebook.cn 時尚雜志
            http://www.iebook.cn 雜志
              回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            <2011年6月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            統(tǒng)計

            常用鏈接

            留言簿(8)

            隨筆分類

            隨筆檔案

            令一片星空

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久亚洲欧洲日产国码二区| 久久国产免费直播| 精品久久久久久久久中文字幕| 久久久久久亚洲Av无码精品专口| 午夜天堂精品久久久久| 99久久精品国产一区二区| 亚洲AV乱码久久精品蜜桃| 久久精品水蜜桃av综合天堂| 国产综合久久久久久鬼色| 久久99热这里只有精品国产| 久久青青色综合| 久久久久99精品成人片直播| 久久艹国产| 国产精品久久久久无码av| 四虎久久影院| 97超级碰碰碰碰久久久久| 国产偷久久久精品专区 | 色欲av伊人久久大香线蕉影院| 69久久夜色精品国产69| 怡红院日本一道日本久久| 免费精品国产日韩热久久| 国产精品对白刺激久久久| 久久夜色精品国产| 国产亚洲美女精品久久久久狼| 波多野结衣久久一区二区| 99久久国产主播综合精品| 久久久久亚洲AV无码麻豆| 亚洲乱码日产精品a级毛片久久| 久久狠狠色狠狠色综合| 久久久久久国产精品免费无码| 久久精品卫校国产小美女| 欧美亚洲另类久久综合婷婷| 久久亚洲国产精品一区二区| 色综合久久中文字幕无码| 久久www免费人成看片| 久久只有这精品99| 欧美日韩精品久久久久| 综合久久精品色| 亚洲精品无码久久久久AV麻豆| 久久www免费人成精品香蕉| 亚洲国产成人久久精品影视|