尽管有人认为Linux 2.4内核与其说是一个革命性的版本,不如说是一个进化版本,但现在全世界的Linux爱好者都在为之欢呼。此时此刻,我想做的是带大家回顾一下Linux内核的发展史。
是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围
设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,发动机自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。内核决定一个系统是否是Linux。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。
最早是由芬兰人Linus Torvalds设计的。当时由于UNIX的商业化,Andrew Tannebaum教授开发了Minix操作系统以便于不受AT&T许可协议的约束,为教学科研提供一个操作系统。当时发布在Internet上,免费给全世界的学生使用。Minix具有较多UNIX的特点,但与UNIX不完全兼容。1991年10月5日,Linus为了给Minix用户设计一个比较有效的UNIX PC版本,自己动手写了一个“类Minix”的操作系统。整个故事从两个在哑端终上打印AAAA...和BBBB...的进程开始的,当时最初的内核版本是0.02。Linus Torvalds将它发到了Minix新闻组,很快就得到了反应。Linus Torvalds在这种简单的任务切换机制上进行扩展,并在很多热心支持者的帮助下开发和推出了Linux的第一个稳定的工作版本。1991年11月,Linux0.10版本推出,0.11版本随后在1991年12月推出,当时将它发布在Internet上,免费供人们使用。当Linux非常接近于一种可靠的/稳定的系统时,Linus决定将0.13版本称为0.95版本。1994年3月,正式的Linux 1.0出现了,这差不多是一种正式的独立宣言。截至那时为止,它的用户基数已经发展得很大,而且Linux的核心开发队伍也建立起来了。
核心的开发和规范一直是由Linux社区控制着,版本也是唯一的。实际上,操作系统的内核版本指的是在Linus本人领导下的开发小组开发出的系统内核的版本号。自1994年3月14日发布了第一个正式版本Linux 1.0以来,每隔一段时间就有新的版本或其修订版公布。发展到现在,Linux内核的稳定版的最后版本有:1.0.9、1.2.13、2.0.37和2.2.11,直至今天最新的2.4.1。
还为Linux选择了精神内核――Copyleft,它使Linux的开发和销售都没有背离原来的轨道。Linus将标准的GNU许可协议改称Copyleft,以便与Copyright相对照。通用的公共许可(GPL)允许用户销售、拷贝和改变具有Copyleft的应用程序。当然这些程序也可以是Copyright的,但是你必须允许进一步的销售、拷贝和对其代码进行改变,同时也必须使他人可以免费得到修改后的源代码。事实证明,GPL对于Linux的成功起到了极大的作用。它启动了一个十分繁荣的商用Linux阶段,还为编程人员提供了一种凝聚力,诱使大家加入这个充满了慈善精神的Linux运动。
Linux内核的发展过程中,我们还不得不提一下各种Linux发行版的作用,因为正是它们推动了Linux的应用,从而也让更多的人开始关注Linux。一些组织或厂家,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。因此把RedHat、Slackware等直接说成是Linux是不确切的,它们是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的操作系统软件包”。根据GPL准则,这些发行版本虽然都源自一个内核,并且都有自己各自的贡献,但都没有自己的版权。Linux的各个发行版本(distribution),都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。每个版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或是不兼容。
90年代初期Linux开始出现的时候,仅仅是以源代码形式出现,用户需要在其他操作系统下进行编译才能使用。后来出现了一些正式版本。目前最流行的几个正式版本有:
Slackware是最早的Linux正式版本之一,它遵循BSD的风格,尤其是在系统启动脚本方面。现有的版本是Slackware 4.0,它是基于Linux 2.2内核。
Debian是一个开放源代码的操作系统,目前基于Linux 2.2内核。它由许多志愿者维护,是真正的非商业化Linux,现有较流行的版本是2.1。
RedHat Linux是Linux最早的商业版本之一。它在美国和其他英语国家市场上获得了较大的成功。现有的最新版本是RedHat Linux 7.1,它是基于Linux 2.4内核。
SuSE由德国人开发出来,是在欧洲大陆最流行的版本之一。现有最新版本是SuSE 7.0,基于Linux 2.2内核。
Caldera OpenLinux是最早关注简易安装方法的Linux正式版本之一,同时,它还在正式版本中集成了办公软件。现有最新版本是Caldera OpenLinux 2.2。
TurboLinux公司是以推出高性能服务器而著称的Linux厂商,在美国有很大的影响。它是亚洲占市场最大的商业版本,在中国、日本和韩国都取得了巨大的成功。现在较流行的版本是TurboLinux 6.0,它是基于Linux 2.2内核。
在中国也取得了可喜的发展。从1999年三四月起,国内涌现出不少颇具实力的中文Linux发行商。如:中科红旗公司推出的第一个桌面应用版红旗Linux桌面版2.0、采用了多项新技术的蓝点Linux 2.0、完全符合国际化标准的中文Linux发行版本――TurboLinux简体中文版6.0、Xteam linux 3.2等。Xteam公司和中科红旗软件公司近期还都宣称将利用Linux2.4内核推出自己的新产品。其中即将发布的红旗Linux V1.1将以Linux 2.4.X为内核;而台式机版红旗Linux V2.0将以Linux 2.4.X以上版为内核。
2.4内核发布后,Linus Torvalds将和Linux内核开发小组着手开发Linux 2.5内核,同时,还将继续维护Linux 2.4内核,提供补丁及错误修正。也许目前的最新Linux内核版本已经是2.4.1了,人们也已经在猜测Linux2.5.0的样子了。来看看厂商们的反应吧,有关人士认为IBM公司将会在以后的Linux 2.4.x内核及Linux 2.5内核的逻辑卷管理程序(LVM)方面起着很大的作用;HP的开发人员则焦急地等待着采用2.4内核的deb软件包的出现;Red Hat将会提供一个RPM软件包让7.0版本的用户通过Red Hat Network升级;MontaVista软件公司基于Linux内核2.4开发了被其称为是硬实时完全优先Linux内核原型,并希望把这种技术或类似的技术在Linux 2.5中制定为基本标准。有了这些厂商和Hacker们的大力支持,想来未来Linux 2.5内核将不会令我们感到失望。
(作者:邹震)