DoSERV分析:linux新内核Kernel2.6.23发展趋势

最新版linux内核Kernel 2.6.23的变化令人感到眩目,它把用户易于掌握的商业特性组合在一起,其中包括提供更好的虚拟化支持,更新了所有重要的调度程序,以及常用的新设备驱动程序与修复漏洞。

按照Linus Torvalds的"代码树"进程,Linux每隔2至3个月将会有很大的改变,到目前为止,无可否认这一进程产生了高质量以及可靠的代码。

Torvalds是以新的极端方式推动开源的发展。内核在规模和复杂性两方面获得成长,所以社区志愿者们需要测试和调试它急速重复的应变能力。

Torvalds之所以保持如此高的更新频率,有两个原因。首先,Linux在技术上不能落后,因为落后就要挨打。新的内核可以利用最新的虚拟化功能嵌入到英特尔和AMD的处理器上。第二,Linux需要养活它社区的开发者。新的特性使编程变得越来越无聊,只好把注意力转移到其他项目上,当他们退出时就得吸引新的人才作为程序员。

关于Linux新特性的说明,实际上是非正式的和难以预料的,不断精益求精,保持质量和稳定性的同时增加新的功能。这个持续了16年的开源项目如何衡量下一个16年呢?"没有其他开源项目得到这么大和这么牢固的发展。"IBM公司负责Linux事务的Dan Frye说。"它是第一个这类型的开发者社区。"

企业用户只得依靠些乱七八糟的程序去改进超出Linux系统虚拟化的许多方面的内容,包括电源管理和安全。它可能需要长达两年的时间使这些内核改变,以适用于红帽和Novell。尽管如此,因为内核在不断发展,所以Linux的未来也在继续。

速度 VS 品质

尽管Torvald有限定源代码的数额,并尽可能保持它的功效进入核心,Linux每天获得代码平均达到2000行。Linux系统的内核组件是操作系统的核心,处理所有普通的任务,例如内存管理,中央处理器的请求,输入/输出。它的四周围绕着数以百计的附加功能包,用来处理更多专门的事情,如翻译Linux和Windows之间的文件和配置档案,以供显示在Apache Web服务器上。但内核必须成长,以支持更多的功能,更多的硬件,更多的用户。在1991年的代码有10250行,至现在已经有800多万行了。

有些人认为内核、新的代码每小时的工作频率为86行,超出了软件开发的时速限制。一名LInux的志愿者Alan Cox警告说,在纳入内核前,一些设备驱动程序的改变应该得到更多的测试。Andrew Morton是一个熟练的程序员,被同行称为"Kernel的上校";做为Torvalds的得力助手,Andrew Morton在Linux系统没确定的缺陷问题上一直都直言不违。

但在最近的英国剑桥举行的Linux Kernel Summit(Linux内核首脑)会议上,Torvalds表示,他认为自己在过去对副作用的警告上犯了错误。。如果没有及时从内核维护者和他们信赖的开发专家上得到反馈,这会令投资者失去兴趣。

Torvalds依靠最基本的开源法则,即许多用户测试频繁发布的代码,这样更容易发现缺陷。Linux系统的漏洞经常突然出现,发现某些硬件无法继续工作或与其他软件冲突,不是在内核的内部就是在外部。开发人员提交代码预期能排忧解难,但漏洞的突然出现,往往使他们始料不及。

在这次首脑会议上,Natalie Protasevich被指定为BugMaster,曾经有多于1500的Bug(程序缺陷)在内核的Bugzilla数据库中,现在下降到1400。

这一过程可能会给Linux的商业用户带来麻烦。在欧洲的Amadeus旅行社,Linux是首选系统,Amadeus的高级系统程序员Holger Weisbrodt说,新的特征和调试工具"考虑相当长的时间才能达到目标。"他希望看到把更多的重点放在普遍的调试工具上。在商业操作系统中,往往与这截然不同,而Linux则想做到两全其美。

虚拟化驶上快车道

一名以色列开发者Avi Kivity,提交了一个大型的KVM的虚拟引擎,有12000行。KVM保持了内核中的文件最新进展,KVM虚拟化引擎可以支持英特尔和AMD的处理器。

不过,Andrew Morton认为,加入一个鲜为人知的程序员或一个新兴的公司提交的代码,是一种风险。不过,Linux的代码是独立的,如果外加的代码失去作用后,开发商可以去除它。

在未来两至三年内,Torvalds将发行内核2.6.24 ,用一打或更多的新特性去帮助许多开发商,但没办法预知最终会有多少将变成商务测试版本。