关于Linux内核开发的问题,觉得可以分享下

来源:互联网 发布:linux dhcp server 编辑:程序博客网 时间:2024/05/22 02:22
我是电脑小白,现在刚刚学习完了C语言、C++、C#、java语言,还理解得不太透彻,没有学习过汇编语言。我想基于Linux内核开发一个自定义的Linux发行版系统,请问应该从哪里入手,需不需要学习汇编语言,请给我推荐些相关的书籍与教程,还有,从Linux官网下载的Linux内核是什么语言的,怎样解压和打开阅读代码,最好是能在windows系统中打开。

回答:内核的源文件是用c++和汇编写的,还有一大堆编译配置文件等,如果是初学,建议找0。11版的,有的有中文注释。tar。gz文件是压缩包,可以用rar打开。

linux的核心是基于C及汇编写的,但你要了解一个概念,既然是操作系统本身的核心。它是直接基于硬件的,不可能在直接任何系统包括widnwos中打开
你有这个想法固然很好,但你要走的路会很长,几点建议
1。要对电脑硬件结构十分了解(你若直接在PC上做,肯定要了解PC的硬件结构,若是嵌入式,硬件相当简单些)
2。汇编是必须的,linux的核心部分至少有5%的代码是直接用汇编编写的(最低层的引导部分无法用C完成)
3。要有一个虚拟的硬件平台(实际硬件平台成本高且不方便)
4。若是嵌入式的,非X86结构的硬件,你还需要了解交叉编译器
5。如果想做linux开发,建议就不要考虑用windows系统了
目前你先要做的,安装一个linux系统(若你真要做开发,直接将你的电脑安装centos或ubtuntu,我们的程序员都不用windwos的),然后研究它的程序开发过程(不仅仅是C语言,还有它的工具,如make等),可以下载类似ucliux源码先研究下(毕竟它相当简单)
不要指望有教材可以帮到你(研究这个的教材即使有,也没什么用),只能自己看文档(linux有全套文档的),另外英文是必须的(文档基本都是英文的)
0 0