[爆卦]linux kernel入門是什麼?優點缺點精華區懶人包

為什麼這篇linux kernel入門鄉民發文收入到精華區:因為在linux kernel入門這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者bendog (bendog)看板LinuxDev標題Re: [問題] 學Kernel方法時間S...


※ 引述《shihyuyao (shihyuyao)》之銘言:
: 請問一下學習Linux kernel 前需要先學 Linux 系統程式嗎?
: 如果我直接學kernel 會不會有什麼困難度?
: 我有唸過恐龍書, 基本的 process ,thread 也有概念只是沒有寫過很多Linux 系統程式
: 網路看到有人建議學kernel 可以從 linux driver 入門
: 先看 Linux Device Drivers, 3rd Edition
: 這樣學方式對嗎?
: 如果從 kernel 書入門先看
: Robert Love 在 Linux Kernel Development (3rd Edition) 是嗎?
: 還有看到前面PO文可以用Qemu + kernel + gdb 學kernel 這樣效果好嗎?
: 謝謝

可以先決定要看哪一部分,例如memory, process, network, file system. 我是從netwo
rk 進入。看書搭配linux 2.6 source code. 通常英文書都只講個大概,如果要細講sour
ce code 的話,簡體書比較多。 看kernel 先專注自己想知道的部分,比如封包在ipv4
層的接收處理,其實稍微想一下就是fragment, option, 拔header, 往上送的處理。但是
會看到spin_lock, spin_lock_bh ... , timer, kmalloc, softirq, netlink 等一堆不
是主要ipv4層 概念的程式碼。我會選擇性忽略一些像是timer 的做法只專注我想知道的
地方,我只要知道哪些API 可以對imer做處理。當然也可以trace timer code, 但就偏掉
原本想知道的部分。我覺得入手不要直接看device driver 。Driver 有很大一部分是處
理hardware 的程式碼,只有一小部分是銜接linux kernel. 你的是動機是想學linux ker
nel ,但沒有特別針對哪一部分的話,可以先看 kernel context 有哪些,比如 hardwar
e irq, softirq, kernel thread. 然後是spin_lock, rcu 的實現,這些在kernel 蠻長
看到的。另外,我是用gtags/htags 來trace code 的。

--
Sent from my Android

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.31.26
※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1420305398.A.788.html
mshockwave: 推! 01/05 08:50
hl4: http://eudyptula-challenge.org/ 有人玩過這個嗎? 01/05 22:28
wgst88w: 樓上那個Challeng表示國外真的有人已經注意到這個問題: 01/06 12:00
fyon: 2F的那個挑戰蠻有趣的,雖然小弟也是新手,但寫信去挑戰了 01/09 21:21

你可能也想看看

搜尋相關網站