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灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP