我最近更新我的生锈Ç技巧,我一直在试图找到一个项目,尝试出来的,所以我选择了内核开发(毕竟,C是一种系统语言)。那么,我想知道哪一个更容易开始,Linux或者其中一个BSD? Linux有一个更大的用户群(所以我可能会有更多的支持),但它也有一个巨大的代码库(上次我检查了900万行),BSD会更容易开始,因为它们将用户基和内核合并为一个庞大的代码库?另外,最好是刚开始阅读内核源代码?而且,他们是否试图实施SMP和新驱动程序之外的新功能?LINUX VS BSD内核开发
回答
我使用,并为Linux多年的发展,但我缺乏与BSD任何实际经验来推荐两种方式。
你的声音缺少内核黑客经验。只是阅读内核源代码可能很有洞察力,但并不会真正教会你。除了驱动程序之外,Linux内核中还有很多。例如,最新的2.6.38专注于桌面响应。 DRM堆栈不断变化,可以使用更多的人力。
我会建议开始轻松,beta驱动程序等的小修补程序等。
当你说我缺乏经验时,你的意思是内核黑客攻击还是C和一般编程? – 2011-04-02 15:29:23
我不知道你的C语言技能,以及你对linux的熟悉程度。我在谈论Linux内核,内核黑客和编程。尽管如此,有关于Linux内核黑客的资源,只是搜索网络,它应该让你开始。 – ssteinberg 2011-04-02 15:36:01
不幸的是,我只能说自己的Linux内核黑客攻击。目前我正在一个实习中从事内核工作,而我从来没有这样做过。但是由于几个原因,我能够在很短的时间内学到很多东西(同样,我想指出,我不知道他在BSD社区覆盖了多少):
- 教程。 Linux社区是相当大的,因此你会发现很多关于内核黑客的初学者信息。我觉得开始的标准是this guide。如果你读它,你会看到,即使内核黑客与世界你好启动;)
- Linux Cross Reference。一个伟大的工具。它涵盖了完整的香草源代码,并显示了每个功能/结构/定义/任何定义和实施,所以没有长在寻找一些东西
- 了Linux的模块化版本(我假设同样适用于BSD)显然你将无法查看9百万行代码。但是你可以从一个可加载的内核模块开始,然后再深入。也许看看其他模块首先,入侵它们,并最终挖掘到直接编译的东西
- 庞大社区的规模。不仅内核邮件列表,而且论坛或Q &一个个这样的网站之一,您可一定要得到帮助,如果你不知道该怎么办的数量庞大;)
只是我的2美分;)
- 1. linux内核开发
- 2. 内核开发
- 3. Linux内核 - alloc_skb vs dev_alloc_skb vs netdev_alloc_skb
- 4. 使用linux进行Android内核开发
- 5. 使用KVM进行Linux内核开发
- 6. 在Python中开发Linux内核模块
- 7. 使用Qemu进行Linux内核开发?
- 8. qemu中的x86 linux内核开发
- 9. Linux内核开发首选编辑器
- 10. Debian,make-kpkg和Linux内核开发
- 11. 设置Netbeans/Eclipse的Linux内核开发
- 12. Linux内核函数和内核模块开发
- 13. 其他内核的Linux内核模块开发编译
- 14. bsd内核用户空间事件kqueue
- 15. 当使用Linux内核add_timer VS queue_delayed_work
- 16. 协作内核开发
- 17. iOS内核开发
- 18. 如何开始使用Linux内核开发
- 19. 如何开始开发和调试Linux内核?
- 20. 了解linux或BSD内核内部结构的最佳方式是什么?
- 21. 针对linux内核开发的发行版
- 22. Linux内核add_timer
- 23. 展开阵列Linux内核模块
- 24. 解开Linux内核调度程序
- 25. 从哪里开始linux内核编程?
- 26. Linux内核AIO,开放系统调用
- 27. virtualbox上的内核开发
- 28. 配置Eclipse for Linux内核模块开发
- 29. 公司Linux内核开发的Git工作流程
- 30. 嵌入式linux/android内核开发工作流程
为什么投票下来?我认为这个问题非常具体。 – 2011-04-02 23:37:26