亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2706 | 回復(fù): 5
打印 上一主題 下一主題

Linux內(nèi)核學(xué)習(xí)計劃 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-01-09 22:31 |只看該作者 |倒序瀏覽

第一周:
1.linux和unix相比有哪些特點?
2.內(nèi)核編程和用戶空間編程相比有哪些不同之處?
3.自己編譯一下內(nèi)核,你編譯成功了么?如果不成功,有什么問題?使用你新編譯的內(nèi)核, 能順利啟動么?有什么問題?
4.linux內(nèi)核源代碼樹中你能找到sg設(shè)備驅(qū)動是在那個文件中實現(xiàn)的么?sg是什么含意?
清楚地了解一下內(nèi)核中源代碼樹的結(jié)構(gòu)。
第二周:
    主要是lkd中文版第一版第二章(英文第二版版第三章)的內(nèi)容,比較重要。
     1.和進程管理相關(guān)的內(nèi)核文件都有哪些?找出來大致瀏覽一下.
     2.什么是進程和線程?在Linux中有什么獨特的地方?
     3.什么是進程描述符?怎樣得到當(dāng)前進程的進程描述符?進程的內(nèi)核棧有多大?
     4.進程的狀態(tài)都有哪些?在什么情況下發(fā)生轉(zhuǎn)化?
     5.Linux中所有進程之間的關(guān)系是怎么樣的?
     6.用戶線程和內(nèi)核線程的區(qū)別和聯(lián)系?
     7.Linux是怎樣創(chuàng)建進程和線程的?
     8.Linux怎樣終結(jié)進程?
     9.對照相應(yīng)的內(nèi)核源代碼文件,分析一下問題3、5、6、7。
第三周
        1.進程調(diào)度最基本的原理是什么?
        2.列舉出幾個I/O消耗性和處理器消耗型的進程。
        3.Linux都采用了哪些調(diào)度的算法?詳細解釋一下這些算法。
        4.進程什么時間進入運行態(tài)?什么時間進入休眠(阻塞)狀態(tài)?
        5.了解進程搶占的算法;
        6.討論一下Linux進程調(diào)度的實時性怎么樣,還有哪些需要提高的地方?
        7.自己查找進程調(diào)度的相關(guān)文件,分析為題3-6。
第四周
        1、什么是系統(tǒng)調(diào)用?
         2、為什么需要系統(tǒng)調(diào)用?
         3、實現(xiàn)系統(tǒng)調(diào)用相關(guān)的代碼有哪些,找出來瀏覽一下
         4、詳細閱讀getuid()這一下系統(tǒng)調(diào)用的實現(xiàn)代碼
         5、如何導(dǎo)出sys_call_table,有幾種方法,注意不同內(nèi)核版本的區(qū)別
          6、嘗試自己給kernel添加一個簡單的系統(tǒng)調(diào)用。 功能要求:調(diào)用這個系統(tǒng)調(diào) 用,使用戶的uid等于0。
          7、采用添加系統(tǒng)調(diào)用的方式實現(xiàn)一個新功能的利弊有哪些,替代方法是什么?
第六周計劃:
1、如何理解中斷、中斷上下文和進程上下文的區(qū)別、為何中斷不能睡眠
2、關(guān)于x86中選擇子、描述符和各種門的理解
3、查閱相關(guān)資料和內(nèi)核源碼理解:
中斷是如何發(fā)生以及硬件和內(nèi)核是如何相應(yīng)的,如何返回的
x86上中斷發(fā)生時上下文(寄存器)如何保存以及中斷返回時上下文如何恢復(fù)的,系統(tǒng)的第一個任務(wù)是如何啟動的
4、內(nèi)核中安排下半部的理由
5、軟中斷及其他的下半部策略適用于什么樣的任務(wù)和場合?
6、下半部可以睡眠么?為什么?
7、2.4和2.6內(nèi)核中下半部包括哪些部分,為何2.6內(nèi)核相比2.4內(nèi)核會做這樣的改進
8、閱讀內(nèi)核中關(guān)于軟中斷、tasklet以及工作隊列的代碼、相關(guān)書籍和資料,總結(jié)如下兩個問題:
軟中斷、tasklet以及工作隊列是如何初始化,注冊以及觸發(fā)的,使用了哪些關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)及內(nèi)核變量?
軟中斷、tasklet以及工作隊列都在什么場合下使用?
第七周計劃:
內(nèi)容:內(nèi)核同步的理論知識。
         
問題:
         1.為什么要進行內(nèi)核的同步?
         2.內(nèi)核中怎么定義原子操作?
         3.競爭產(chǎn)生的條件與加鎖的順序?
         4.要保護的對象?
         5.死鎖產(chǎn)生的條件與解決辦法?
         6.你有什么比較好的方法來調(diào)試多線程的程序?
         7.據(jù)一個內(nèi)核中產(chǎn)生競爭的例子。
第八周        
     本周內(nèi)容:TIMERS AND TIME MANAGEMENT
   1.HZ和jiffies值的定義?
   2.內(nèi)核中怎樣解決jiffies的回繞?為什么這樣可以解決jiffies回繞?
   3.時鐘中斷處理程序有哪些值得注意的地方?
   4.xtime_lock鎖和seqlock鎖?
   5.定時器的實現(xiàn)、使用和競爭條件?
   6.udelay()&mdelay()?
第九周
       內(nèi)存管理
   學(xué)習(xí)內(nèi)容
   內(nèi)存管理是比較龐大的一個部分,在lkd這本書中用了很少的篇幅,從這里面我們基本能看清楚 內(nèi)存管理的概貌。《情景分析》一書關(guān)于內(nèi)存管理的部分講得比較多,代碼分析比較透徹也比較深入。 但是相對的難度也比較大,建議先看看lkd這本書,然后再看《情景分析》一書的內(nèi)存管理。
   
   問題:
   1.內(nèi)核中內(nèi)存的分頁、分區(qū);
   2.內(nèi)核中有哪些函數(shù)來獲得內(nèi)存?內(nèi)核中分配內(nèi)存要注意什么?
   3.為什么使用slab?slab對象的詳細分析。
   4.內(nèi)核棧上內(nèi)存的靜態(tài)分配問題;
第十周
    虛擬文件系統(tǒng)
   1.為什么要設(shè)計虛擬文件系統(tǒng)?
   2.Linux支持哪些常見的文件系統(tǒng)?各有什么特點?
   3.虛擬文件系統(tǒng)和物理文件系統(tǒng)是怎么銜接起來的?
   4.虛擬文件系統(tǒng)的核心數(shù)據(jù)結(jié)構(gòu)及其操作?
   5.分析一下用戶空間中打開或者讀寫一個文件的時候內(nèi)核中都進行了那些操作?
   6.分析一種文件系統(tǒng)的實現(xiàn)?ext2,fat32,reiserfs。
第十一周
       塊I/O層
1、什么是塊設(shè)備,塊設(shè)備和字符設(shè)備有什么本質(zhì)區(qū)別
2、塊大小是根據(jù)什么確定的,典型值是多少?
3、I/O調(diào)度程序的目的是什么?I/O調(diào)度和進程調(diào)度的異同?
4、I/O調(diào)度程序如何減少磁盤尋址時間?
5、什么是linus電梯?它是如何工作的?
6、最終期限調(diào)度和預(yù)測調(diào)度解決了什么問題?
內(nèi)核學(xué)習(xí)第十八周計劃
第十二周:
進程地址空間
問題:
1.內(nèi)存區(qū)域中的各種對象及其作用?
2.進程描述符和內(nèi)存描述符聯(lián)系?內(nèi)存描述符的分析和使用,在對待內(nèi)存的問題上,
   線程和進程有什么區(qū)別?
3.struct vm_area_struct在虛擬內(nèi)存管理管理上的作用?
4.理解/proc//map中的各種屬性并自己做實驗。
5.內(nèi)核中定義的內(nèi)存操作函數(shù)及其使用。
第十八周
第14章 頁高速緩存和頁回寫
1.你的linux系統(tǒng)中,RAM中的一頁和磁盤上的一塊大小各是多少?
   頁緩存為什么要緩存一個RAM的頁面大。磕懿荒芨淖円幌?
2.理解clean_pages,dirty_pages,locked_pages.
3.提高緩存的命中率的方法通常有哪些?
第15章 調(diào)試
1.你曾經(jīng)調(diào)試過內(nèi)核么?你用什么方法進行調(diào)試?
2.調(diào)試內(nèi)核的方法通常有哪些?
3.怎么提交一個內(nèi)核的bug?提交bug要注意什么 ?
4.為什么有的人常常說printk打印不出來信息?怎么解決?
5.自己造出一個bug,并把它調(diào)試出來。
第16章 可移植性
1.可以從linux內(nèi)核的目錄結(jié)構(gòu)中看出linux內(nèi)核的可移植性有什么特點?
2.數(shù)據(jù)對齊、數(shù)據(jù)類型與字節(jié)順序在移植的時候需要注意什么?
3.網(wǎng)上有大量的移植uclinux到不同平臺上的文檔,找一個來看看。
第十七章 補丁、開發(fā)和社區(qū)
1.如果你寫的代碼風(fēng)格不好,怎么修改它?
2.訂閱linux內(nèi)核郵件列表并研究它。


本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u3/105531/showart_2144657.html

論壇徽章:
0
2 [報告]
發(fā)表于 2012-05-03 20:06 |只看該作者
有一定的道理!

論壇徽章:
0
3 [報告]
發(fā)表于 2012-05-03 20:26 |只看該作者
成功不是將來才有的,而是從決定去做的那一刻起,持續(xù)累積而成

支持~~頂頂~~~










signature..................................
天才相師最新章節(jié)

論壇徽章:
0
4 [報告]
發(fā)表于 2012-05-14 12:42 |只看該作者
支持 頂頂            

論壇徽章:
0
5 [報告]
發(fā)表于 2012-05-22 22:30 |只看該作者
希望樓主能堅持下去

論壇徽章:
0
6 [報告]
發(fā)表于 2013-08-21 20:48 |只看該作者
樓主,你不工作么?還是說是大牛,你這個計劃后來實行的怎么樣了??
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP