LinuxDev 板


LINE

我是苦命專題生 .__./ 因為做專題的關係開始接觸 Linux Kernel, 對這部份略有心得可以稍作分享~ 先說我做的部份是偏無線網路,大略內容是把虛擬化無線網路卡, 讓一張無線網路卡可以同時連上多個AP,這東西之前微軟研究院有在XP上實作過, 叫MultiNet/VirtualWifi,而我是在 Linux 上實作~ 在背景知識部份,如果要看懂Kernel,C語言基礎當然一定要有, 但對那部份實作的背景知識其實更重要。 大方向當然是作業系統本身的概念要熟, 比較須要熟的部份像是process、interrupt、synchronization, 因為這幾部份幾乎不管動哪一塊都會用到。 細節的部份,像我做的部份是 IEEE 802.11 的網路, 所以 802.11 的spec要熟,不然會每一行都看得懂, 但全部合起來就不知道為什麼要這樣實作。 如果你對開機流程有興趣,那就要額外去survey開機流程有關的文件。 文件的部份, 推 O'Reilly 的 Understaning the Linux Kernel 目前出了三版,分別對映到kernel 2.2、2.4、2.6, (自己玩的話,我會推玩新版本的, 一些有的沒的helper(像linked-list操作)比較多,寫出來比較輕鬆方便, 而且這些helper放得進kernel,應該不會有什麼嚴重的bug。) 這本主要是講大方向。 細節的部份,是推看 O'Reilly 的 Linux Device Drivers, 像是會提到怎麼理處 PCI device、USB device、network device等等。 如果是研究網網部份,還有另外兩本 Prentice Hall 的 The Linux Networking Architecture O'Reilly 的 Understanding Linux Network Internals 主要是講 L2 ~ L3(和L4的TCP) 的部份。 除了看書外,就是找出對應的原始碼來看, 原因有二,第一,有些原始碼註解比程式還長(爆) 新的東西不會出現在書上,但原碼裡倒是寫的很清楚。 第二,有些東西用文字講太繞舌,直看code反覺簡單明瞭扼要清楚。 看原碼當然不建議記筆本打開一行行看,要配一些工具,像cscope、ctags。 而我是用一套叫 kscope 的工具來讀程式 http://kscope.sourceforge.net/sshots.shtml 利用cscope、ctags可以把整個原始碼建立索引資料, 所以可以快速查尋某個function(或變數)在哪裡被宣告、定義、或是被參照, 透過這些工具可以加快trace程式流程速度.. 如果硬碟不夠大(kernel解開好像3,4百吧..忘了..再配上建檔的資料應該更大??) 可以用 Cross-Referencing Linux 這個站 http://lxr.linux.no/ 點上面的 Browse the Code ,就可以線上搜查kernel原始碼。 以上是小小心得 .___./ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.138.218.34 ※ 編輯: cole945 來自: 220.138.218.34 (10/31 18:36)
1F:推 Coyote:你做的東西相當有趣 有prototype可以分享嘛 10/31 19:27
2F:推 WalkingIce:好酷 :D 10/31 19:54
3F:→ qrtt1:等他結束了專題再要吧 orz 10/31 19:56
4F:推 RouterHsieh:好文,板主m一下吧XD 10/31 20:37
5F:推 noonOut:我有借到那本書...看來還是偷懶不得@@ 10/31 22:16
6F:→ noonOut:那我要去閉關研讀了XD 謝謝^^ 有心得再上來分享 10/31 22:19
7F:推 cole945:東西一定會公開囉 :p 目前只在zd1211的網上實作.. 11/01 01:49
8F:→ cole945:東西已經差不多了..正在做最後的整理~~ 11/01 01:50







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP