向后兼容
尽管Linux 2.6是大的内核升级,但是对用户层应用的影响几乎是不存在的。主要的例外是线程,一些能够在2.4或2.2上运行的多线程程序将不能在2.6上运行。
当然,一些底层的应用如模块工具将肯定不能工作。另外,/proc目录和/dev目录下的一些文件和格式也发生了变化,如果上层应用对此有依赖,也可能不能继续工作。(当更多的内容被移动到/sys虚拟文件系统中的时候,情况尤其如此。在/dev目录中,向后兼容的设备名很容易就能推出来。)
除了提到的这些明显的变化,还有很多小的变化可能会对一些应用环境产生影响。首先,非常陈旧的(linux 2.0或更早)交换分区需要重新格式化才能在2.6中使用。(由于交换分区并不包含永久数据,这对用户来说不会是问题。)由于多数抑制Apache,Zeus等http服务器接近内核速度的的性能瓶颈已经被解决,之前的允许核心直接提供网页服务的kHTTPd守护进程也被去除。
对诸如陈旧硬盘的OnTrack和EzDriveDOS磁盘管理器以及相应的DOS兼容性的支持也被去除。从软盘上含有核心的启动扇区进行启动的支持也被去除,取而代之的是SysLinux。最后,soundmodem功能也被去除了,但是用户空间的版本维护地更好,并且更加实用。
写在最后
这篇文档主要出自BitKeeper changelogs的长时间的阅读,对源代码的"赏玩"(looking at and playing with),对邮件列表的阅读,以及很多很多为完成本文所进行的Google和Lycos或这或那的搜索。尽管如此,文中可能有遗漏或者理解有误的地方。我也尽量地小心地不过分使用那些被合并入内核的项目网页,因为它们相对官方的内核版本支持要"大大超前"。如果您发现这篇文档中的任何错误,或者希望email给我询问我的情况,您可以email给jpranevich@kniggit.net。
具有更多技术背景的人可能只需要一个公告列表,Dave Jones编写了另一份出色的2.6开发进展的总括:http:/www.codemonkey.org.uk/post-halloween-2.5.txt。他的工作与本文的任何相似之处纯属巧合,因为我们都始于源代码,并且都侧重于x86体系。 |