我知道c语言。我的目标是阅读linux内核。在开始阅读内核之前我应该学习哪些语言(也可以写书),是否有任何书籍可以帮助阅读linux内核
答案 0 :(得分:10)
这本书有点过时了,但是Understanding The Linux Kernel是一个很棒的参考书。它还将为您提供i386功能的速成课程,这些功能可以使许多内核工具成为可能(例如MMU以及中断如何工作。对于操作系统,有时很难理解硬件结束和操作系统开始的位置),以及直接参考了很多关键来源。
另外,请查看LWN Kernel article index以获取更多最新参考资料。
一个好的开始方法是提出一个非常简单的功能,你想添加到内核并开始破解它。 (我在大学时所做的事情是计算每个进程抢占多少次并通过/ proc文件系统导出该值。请教我很多关于调度,/ proc,进程结构和许多其他工具)。另外一个建议是,在VM中执行此操作,除非您计划每15分钟重新启动一次。
对于临时问题,搜索Google可以使用或在IRC上提问。 (当然,恭敬地。)
答案 1 :(得分:1)
Linux内核超过1150万行!成为一名优秀的程序员需要数年时间,如果你想破解Linux内核,你必须成为一名程序员。考虑到您的年龄和经验,如果您将其作为第一个C项目,您很可能会失败。我建议使用C来掌握一些其他很酷的东西。例如,将GreyHat Python书中的代码(调试器,挂钩,模糊和e.t.c)移植到C并为它们添加有趣的功能。如果您真的参与操作系统开发,我建议您阅读有关汇编的好书并编写您自己的小实时操作系统。我看过一个13岁孩子写的实时操作系统,所以这是可能的。祝你好运!
答案 2 :(得分:0)
不久前,在布鲁塞尔黑客空间举办了Linux内核研讨会。您可以查看活动页面https://hackerspace.be/LinuxKernelWorkshop
上的链接答案 3 :(得分:0)
有很多书可以帮助你逐个阅读Linux内核。你还有很多时间自己重写它。