Next Previous Contents

1. Linux 的简介

Linux 是 POSIX 规格的完整重新实作,有著 SYSV 及 BSD 扩充,(这表示它看起来及运作上就像 Unix,但不包含相同的基础原始程式码),可以原始程式码及二进位执行档两种形式取得。 它的版权属於 Linus Torvalds < torvalds@transmeta.com>,以及其它的贡献者,在 GNU General Public License (GPL) 下可自由的散布。 GPL 的一份拷贝包含在 Linux 原始程式码里,你也可以自 ftp://prep.ai.mit.edu/pub/gnu/COPYING 取得一份拷贝。

Linux, 本质上来说,只是作业系统的核心,就是控制硬体,管理档案,行程等等。 有数种将 Linux 及工具程式和应用程式集组合成的一个完整作业系统。如此的组合叫做 Linux 的一个 发行套件(distribution). Linux 这个字,虽然就严格的意义来说是指系统的核心,但这字也广泛而正确地用来指明利用 Linux 核心建构的整个作业系统。 关於不同发行套件的列表及简短描述可见 http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html. 没有一种套件可以叫做是``正式的 Linux''.

Linux 不是公益软体,它也不是共享软体(shareware)。 它是`免费'软体,通常叫做 freeware,或是开放性原始码(Open Source Software)[tm], 参见 http://www.opensource.org), 而你可以送人或贩买拷贝,但你必须包含原始程式码,或是让程式码可由你送出或贩买执行档相同的方式取得。 如果你散布任何的修改,你必须散布这些修改的程式码。详情请见 GNU General Public License。

Linux 在 2.0 版仍然是免费的,而且仍会一直是免费的。由於 Linux 遵循 GPL 的关系,让它变成非免费是不合法的。 特别注意: `免费'的部份是指不需用金钱来获得原始程式码; 散布 Linux 而收取费用是完全合法的,即使你连同原始程式一起散布。 这是广义的推论; 如果你想知道细节,请阅读 GPL。

Linux 可在具 ISA, EISA, PCI 及 VLB 汇流排的 386/486/Pentium 机器上执行。 MCA (IBM 专利的汇流排)在 2.0.x 及更早的版本上还未完全支援,但目前发展中的核心 2.1.x 已经加入支援了。 如果你有兴趣,请看 http://glycerine.itsmm.uni.edu/mca

有一个移植到多重 Motorola 680x0 平台(目前在一些 Amigas, Ataris, 及 VME 机器上执行)的版本,运作得相当良好。 它需要具 MMU 的 68020, 68030, 68040, 或是一 68060, 而且也需要一个 FPU. 网路及 X 视窗目前都可运作。请见 news:comp.os.linux.m68k

Linux 在 DEC's Alpha CPU 上执行得很好,目前支援 "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (以 Multia 较知名),及许多其它的平台。 想了解更多资讯,参见 http://www.azstarnet.com/~axplinux/FAQ.html

Linux 也在 Sun SPARCs 上执行得很好; 许多 sun4c, sun4m 及 sun4u 机器现在执行 Linux,而 sun4 的支援正在发展中。 Red Hat Linux 是(在本文写作时)是唯一可在 SPARCs 上执行的 Linux 套件; 参见 http://www.redhat.com/support/docs/rhl-sparc/

Linux 正被移植到 PowerPC 架构上,包括 PowerMac (Nubus 及 PCI), Motorola, IBM 及 Be 机器。 参见 http://www.cs.nmt.edu/~linuxppc/ 以及 http://www.linuxppc.org/

移植到其它的机器,包括 MIPS (参见 http://linus.linux.sgi.com/http://lena.fnet.fr/) 及 ARM, 正在计画中而且已有许多的进展。 别期望太高,但如果你有兴趣而且想尽一份力,你将会发现其它的发展者愿意与你共同工作。

Linux 自 1994 年三月十四号发表第一版以来已不再认为是在 beta 测试阶段。 系统中仍有错误,而且新的错误将持续出现,并且随著时间的进行而被修正。 因为 Linux 遵循了``开放发展模型(open development model)'',所有新的版本都将被公开发表,不论它们是否被认为具有``产品品质''。 然而,为了帮助人们分辨他们是否取得一稳定的版本,如下的方案被采用: 版本 n.x.y, 其中 x 是一偶数,是稳定的版本,而且当 y 增加时只有错误修正会加进去。 因此从 1.2.2 到 1.2.3, 其中只有错误修正,而没有新的特性。 版本 n.x.y, 其中 x 是奇数,是给发展者 beta 性质的发表,可能不稳定而且可能当掉,还有随时可能有新的特性加入。 随著时间进展,目前发展的核心逐渐稳定,它将被冻结为新的``稳定''核心,而发展将会在一新版本的核心继续下去。 注意大部份发表出来的 Linux 核心,不论是否为 beta 版本,都是相当强固的(robust); ``稳定(stable)''在本文中除了``强固(robust)''之意外,还有``改变得很慢''的意思。

目前稳定的核心是 2.0.35 (当新的驱动程式及错误修正加入时这会继续改变),而实验的 2.1.x 核心也已经开始发展。 Linux 核心的原始程式码中也包含了一个档案, Documentation/Changes, 解释你整某一核心更新到另一核心时应注意的改变。 然而,大部份的 Linux 使用者只是偶尔简单地升级他们的套件就可以得到一新版本的核心。

大部份的 Linux 版本,不论是否为 beta 版,都相当的稳定,而且如果它能符合你的需要你仍可继续使用下去而不必感到难过(? on the bleeding edge)。 有一个站台执行 0.97p1 (从 1992 年夏天起)超过 136 天而没有一样错误或当掉。(它还可持续更久如果不是因为助理操作员操作电源失当...) 其它人还报告过超过一年的开机时间的。最近一项报告有一个站台执行 Linux 0.99p15s 超过 600 天的。

有一件值得注意的事是 Linux 是以开放且分散模式发展的,而非像许多其它的软体的封闭且集中模式。 这表示目前发展的版本总是公开的(最多有一星期到两星期的延迟)因此任何人皆可使用。 这结果是每当一具有新功能的版本发表时,它几乎总是包含有错误的,但它也导致一非常快速的发展因而错误很快地被发现且修正,通常在数小时内,因为许多入努力去修正它们。

相对地,封闭而集中的模式意指只有一个人或一团队为此计画工作,而它们只发表他们认为运作得很好的软体。 通常这会导致较长的发展周期,较长等待的错误修正,还有较慢的发展。 如此软体最後公开发表的版本有时会有更好的品质,但发展的速度一般来说是慢许多的。

关於这两种模式的讨论,请见 Eric Raymond 的 ``教堂与市集的发展模式(The Cathedral and the Bazaar, http://sagan.earthspace.net/~esr/writings/cathedral-bazaar/)'' 一文。

在 1998 九月一号为止,目前 Linux 的稳定版本是 2.0.35, 而最新发展中的版本是 2.1.119.


Next Previous Contents