对Vista的商业用户来说,Linux内核的开发可能非常复杂神秘,因为由几十个人维护着不同的部分,有几百名志愿者提交代码,你很难判断新功能的走向。
从本质上来说Linux的开发也没有线路图。要一窥全豹,以下是7个值得关注的开发热点,基于对开发人员和内核维护人员的采访。不是所有的新功能都进展顺利,下文展现了各新功能进入内核的崎岖之道。
1、虚拟化
认识到虚拟化在这十年里日益成为“大趋势”,Linux内核维护者把它作为优先考虑的功能,加快了虚拟化技术添加到内核的进程。由初创公司 Qumranet的Avi Kivity提供的KVM虚拟管理程序,就包含在2006年末发布的内核中并在上个月的发布中继续升级。这个例子很好地展现了快速内核发布和缓慢企业版进展之间矛盾。
Novell公司的副总裁霍尔格·杜尔夫(Holger Dryoff)表示“我们认为KVM还不适合企业使用。”他补充说,在KVM能被加到SUSE Linux之前,它需要在内核子系统包括调度器的交互上经过更多的测试。
最近被Citrix Systems耗费5千万美元收购的商业开源虚拟化公司XenSource,一直在游说想把自己架构的Xen虚拟机管理程序(Hypervisor)加入到内核里。内核维护人员认为添加这种虚拟化功能会大大增加维护工作量。最终XenSource的工程师放弃了,但仍继续调整Xen以配合内核的运行。它暂时还进不了内核,只能先增加了一些支持,使Linux在运行虚拟环境时可以识别它。
其他的虚拟化功能发展迅速,包括KVM和Lguest。Lguest是由IBM工程师Rusty Russell开发的一个只有5000行代码的精简hypervisor(虚拟机管理程序),它已经包括在最近版本的内核里了。和KVM相似,它支持 Intel和AMD芯片的最新虚拟化技术。但又与VMware公司的ESX Server不同,在Lguest创建的虚拟机里的操作系统知道自己是被虚拟出来的。所以在调用CPU周期时它可以直接向真正的硬件发出请求,而不是作为中间媒介而降低了效率,因此这种架构大大提高了效率。
2、实时操作
Linux在实时操作上获得了长足的提升,因为现在它常常被用作手机和其它设备上的嵌入式系统。但最近发布的2.6.23内核显示它在实时操作上“稍有退步”,商业嵌入式Linux厂商MontaVista 的首席技术长官(CTO)和创始人吉姆·瑞尔迪(Jim Ready)抱怨说。这个新的进程调度器更强调“公平”——这意味着要由最终用户告诉处理器哪些待处理的任务可以获得更高的优先级。
“实时用户不需要公平,”瑞尔迪认为,因为实时要求无论CPU在做什么,都可以插入一个新的优先级以中断操作。一个简单的例子是,在医疗设备里监控病人呼吸的软件在发现病人呼吸停顿时,能发送一个即时警告,软件无论在处理什么任务都要先中断停下来。瑞尔迪表示,除非实时性能有改善,否则 MontaVista不会把新的内核整合到自己的产品中来。Gartner分析师乔治·维斯(George Weiss)预测标准版的Linux要到2008年才能成为有竞争力的实时系统。