C linux内核一步一步

C linux内核一步一步,c,linux,assembly,kernel,C,Linux,Assembly,Kernel,我懂c语言。我的目标是阅读linux内核。那么,在开始阅读内核之前,我应该学习哪些语言(也要写书),还有什么书可以帮助我阅读linux内核呢?这本书有点过时了,但它是一本非常棒的参考书。它还将为您提供i386功能的速成课程,这些功能使许多内核功能成为可能(例如MMU和中断如何工作。对于操作系统,有时很难理解硬件从何处结束,操作系统从何处开始),并直接参考大量关键源代码 此外,请查看更多最新的参考资料 一个很好的开始方法是提出一个非常简单的特性,您希望将其添加到内核中并开始对其进行黑客攻击。(我在

我懂c语言。我的目标是阅读linux内核。那么,在开始阅读内核之前,我应该学习哪些语言(也要写书),还有什么书可以帮助我阅读linux内核呢?这本书有点过时了,但它是一本非常棒的参考书。它还将为您提供i386功能的速成课程,这些功能使许多内核功能成为可能(例如MMU和中断如何工作。对于操作系统,有时很难理解硬件从何处结束,操作系统从何处开始),并直接参考大量关键源代码

此外,请查看更多最新的参考资料

一个很好的开始方法是提出一个非常简单的特性,您希望将其添加到内核中并开始对其进行黑客攻击。(我在大学时做的一件事是计算每个进程被抢占的次数,并通过/proc文件系统导出该值。这教会了我很多关于调度、/proc、进程结构和许多其他功能的知识)。另外,建议在VM中执行此操作,除非您计划每十五分钟重新启动一次


对于特别问题,搜索Google works或在IRC上提问。(当然是恭敬的。)

不久前,在布鲁塞尔黑客空间举办了一个Linux内核研讨会。您可以查看事件页面上的链接,Linux内核超过1150万行!成为一名优秀的程序员需要多年的时间,如果你想破解Linux内核,你必须成为一名优秀的程序员。考虑到你的年龄和经验,如果你把它作为你的第一个C项目,你很可能会失败。我建议您使用C来了解其他一些很酷的东西。例如,将GreyHat Python手册中的代码(调试器、挂钩、模糊和e.t.C)移植到C中,并为其添加有趣的功能。如果你真的对操作系统开发感兴趣,我建议你阅读关于汇编的好书,并编写自己的小实时操作系统。我看过一个13岁的孩子写的实时操作系统,所以这是可能的。祝你好运

多年前我自己提出了这个问题。然后,我深入研究了Linux内核源代码,以了解它是如何工作的。到目前为止,我对Linux内核的理解仍然是混合的。我认为理解一个程序最好的方法是自己编写。要构建操作系统,我认为这是最低要求:

  • 计算机硬件与体系结构
  • 汇编程序与编译器
  • 装配
  • C语言

有很多书可以帮助你逐条阅读Linux内核。你还有很多时间自己重写

好的。你能写一些关于c的书吗?什么能帮助我深入理解linux代码?至少,深入了解c是开始阅读linux源代码的先决条件。如果你想学习C语言,我相信K&R的“C编程语言”。我想你需要决定的是你的目标是什么,并提出更直接的问题。所以。。我想成为一名系统程序员。我今年15岁。我已经阅读了c语言从新手到专业人士以及c编程语言。我现在能做什么?说“我想成为一名系统程序员”是很普通的,我建议选择具体的目标。比如“我想更改USB驱动程序以在写入数据时输出缓冲区大小”,或者“我想验证某个进程的内存页”或者其他特定的内容,然后决定如何解决该问题。当你决定成为一名系统程序员时,你具体想做什么?开始做任何事情。