linux内核开发模式

内容概览

如何为linux内核贡献源码,Linux虚拟开发团队
Linux无穷的魅力吸引了世界各地的优秀开发者为linux内核贡献源码,这些分布在世界各个角落的开发者通过网络组成了虚拟的开发团队。
尽管linux非常优秀,但如果只靠Linus Torvalds一个人的力量,还是很难发展起来的。 关于linux内核的开发,Linus Torvalds选择了一种非常务实开放的开发方式! Linus Torvalds将最新发布的Linux内核源码放在FTP服务器上供用户下载,用户将问题反馈给Linus Torvalds, 这些反馈都会得到Linus及时的响应解决!但并不是所有问题都是Linus Torvalds可以解决的。 例如某些硬件的驱动程序,linus手头没有相应的硬件就很难开发相应的驱动程序。 由于linux一开始就选择的开源,而正好手头有这个硬件的志愿者就可以根据Linux的设计架构,开发出兼容的驱动程序或者软件。 志愿者将新开发的内核驱动程序提交给Linus Torvalds。Linus Torvalds将驱动程序/软件合并进内核中,并加以测试。 只要测试可以运行,并且没有什么大问题,那么他就会很乐意的将志愿者们写的程序代码加入内核中!
对于Linux内核所欠缺的项目,Linus Torvalds抱着先求有且能跑,再求进一步改良的心态! 这让Linux用户与志愿者得到相当大的鼓励! 因为Linux的进步太快了! 用户要求虚拟内存,结果不到一个星期推出新版的Linux! 这不得不让人佩服啊!
内核是一组软件程序,如果这组程序每次加入新的功能都得要重新编译与改版的话就会变得非常麻烦。 为了应对随时都有程序代码加入内核的状况,Linux逐渐发展成具有模块的功能! 模块化之后,原本的内核程序不需要改动,即将某些功能独立出于内核外,在需要的时候才加载到内核中。 如果有新的硬件驱动程序或者其他协议的程序代码进来时,就可以模块化, 大大增加了Linux内核的可维护性!
这也大大有利于linux内核的分工开发。
不过因为Linux内核加入了太多的功能,光靠Linus Torvalds一个人进行内核的实际测试并加入内核原始程序实在太费力~ 结果,就有很多的朋友跳出来帮忙这个前置作业!例如考克斯(Alan Cox)、与崔迪(Stephen Tweedie)等, 这些重要的副手会先将来自志愿者们的修补程序或者新功能的程序代码进行测试, 并且结果上传给Linus Torvalds看,让Linus Torvalds作最后内核加入的源码的选择与整并! 这个分层负责的结果,让 Linux 的发展更加的容易!
特别值得注意的是,这些Linus Torvalds的Linux发展副手,以及自愿传送修补程序的黑客志愿者, 其实都没有见过面,而且彼此在地球的各个角落,大家群策群力的共同发展出现今的Linux, 我们称这群人为虚拟团队! 而为了虚拟团队数据的传输,Linux成立了内核网站: http://www.kernel.org! 而这群素未谋面的虚拟团队们,在1994年终于完成的Linux的内核正式版version 1.0。 这一版同时加入了X Window System的支持! 且于1996年完成了2.0版、2011年发布了3.0版,更于2015年4月发布了4.0版! 发展相当迅速! 正式的2.0推出时,大家要他想一个吉祥物。他在想也想不到什么动物的情况下,因为小时候去动物园被企鹅咬了一口念念不忘, 而 就将这个念念不忘的企鹅当成了Linux的吉祥物了.
Linux是针对386写的,跟386硬件的相关性很强,早期的Linux确实是不具有移植性的。 不过Open source的好处就是, 可以修改程序代码去适合作业的环境。 1994年以后,Linux 便被开发到很多的硬件上面去了! 除了x86之外,IBM、HP等公司出的硬件也都有被Linux所支持! 甚至于小型单板计算机树莓派/香蕉派等与手持设备智能型手机、平板计算机的ARM架构系统,大多也是使用Linux内核!

initroot编辑整理,转载请注明www.initroot.com技术交流群:59909790

100次点赞 100次阅读