购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1. 第一次了解UNIX

UNIX的发展始于20世纪六七十年代,它是美国电话电报公司(AT&T)贝尔实验室的丹尼斯·里奇(Dennis Richie)和肯·汤普森(Ken Thompson)花费很大精力设计的操作系统,最初是为了更好地在他们的电脑上运行游戏。

那时的美国,还是处于思想泛滥的嬉皮士年代,革命、自由爱情、解放等思想成为当时年轻人的追求。后来的乔布斯就是深受嬉皮士的影响,尽管那时的UNIX还没有走上商业化的道路,但是它的相对开放性还是吸引了许多年轻的计算机爱好者。UNIX诞生的年代,林纳斯还躺在祖父公寓的洗衣筐里睡觉呢!

UNIX之所以很快得到发展,是因为许多人都想在等离子显示器上玩电脑游戏。当时的UNIX只是作为一个休闲娱乐的附属品,在一开始并没有多少人看好这个小玩意儿,就连开发者的老东家美国电话电报公司也认为这个操作系统只是商业上的一次冒险尝试。事实上,规模庞大的美国电话电报公司受到了司法部的制约,被要求不能涉足计算机行业。

UNIX

于是乎,UNIX在学术界就演变成了一个大项目。1975年,肯·汤普森以访问学者的身份回到他的母校——加州大学伯克利分校,在学校的PDP-11/70计算机上安装了UNIX第六版,开始进行UNIX的教学和研究工作。几乎与此同时,作为研究生的比尔·乔(Bill Joy)和马歇尔·克拉克·迈克库塞克(Marshall Kirk McKusid)也来到伯克利分校,从此拉开了BSD版UNIX的序幕。他们把自己开发的Pascal编译器和Ex等软件,连同移植的UNIX V6捆绑在一起,最终开发出了UNIX的衍生系统,被称为伯克利软件套件( Berkeley Software Distribution),简称BSD,从1977年年底开始向外发放。

到了1984年,美国司法部依据《反托拉斯法》拆分AT&T,分拆出一个继承了母公司名称的新AT&T公司和七个本地电话公司。分家后,它已被允许进入电脑业。1983年,AT&T发布了UNIX最新版system V,这是一个商业化版本,付费才能使用,并且不得传播源码。这个决定对BSD构成了限制,为了减少纠纷,伯克利分校规定,BSD本身依然保持免费,但是只能提供给持有AT&T源码许可的公司。不过,与此同时,伯克利的师生也开始着手另一项工作:将AT&T的专有代码从BSD中逐渐去除。

刚好那时候,远在芬兰的赫尔辛基大学为微型VAX电脑购买了16个客户执照。这意味着,学校“C语言和UNIX”课程的选修学生人数被限制到32人。因为学校决定,分2批教学,16个学生白天使用机器,另外16个晚上使用。有趣的是,当时UNIX在芬兰传播开来的时间并不长,学校的教师同学生们一样,对UNIX也不太熟悉,在上这堂课时,他们都是一边学习一边完善这门课程的。

出于对电脑的爱好,林纳斯每次都会比一些同学多读一个章节。不过,也有一些爱好学习的学生会提前读上两三个章节。这样一来二往,上课似乎成为他们之间的一种游戏,学生们为了难住老师,通常会问一些三个章节之后才学到的问题。

UNIX是一个非常简洁漂亮的操作系统,这也是它追求的基本理想和独到之处。比如Shell只是为了访问操作系统而键入的一种命令,在UNIX中,它只是一个任务,与其他任务相同,都是从键盘中读出的,然后再写回显示器,而不是像DOS需要事先装在操作系统里。任何能做的事情在UNIX里只是一个程序和文件。

林纳斯还比较喜欢这个简单的设计,在UNIX上运行的大多数任务都可以通过六个系统调用(System call)进行操作。

UNIX有一基本的操作是创建子进程(Fork),当一个程序在创建子进程的时候,它就会把自己完全给复制出来,这样就有了两个相同的拷贝。复制的拷贝在大多数情况下被用去执行另外一个程序,用一个新的项目替换自己,这就是第二个基本操作。剩下的基本系统调用为:打开、关闭、读和写,都是为了访问文件的。一旦用户熟悉了这六个基本系统调用,也就了解了UNIX。

1991年,几个加州大学伯克利分校毕业的学生,成立了一家Berkeley Software Design Inc.公司,简称BSDi,专门销售BSD的一个商业版本。

尽管他们一再声称自己的产品已经不含有任何AT&T代码,但还是被AT&T公司告上了法庭,不久伯克利分校也卷入其中。这场诉讼使得BSD的所有开发活动都被迫停止,使用BSD的用户也都是人心惶惶,担心受到AT&T的追究。直到1994年,双方达成和解,BSD才恢复开发,但早已经错过了一个黄金的发展时期。

伯克利大学的师生们坚称最初的代码是电报电话公司的,但绝大多数后期工作都是在伯克利完成的。加州大学的校务委员们声称他们有权传播和销售他们的UNIX版本,而且还可收取象征性的费用。而且他们还向人证明,他们已为此做了大量工作,基本上把电报电话公司的软件进行了重写。经过几年的官司之后,Novell公司从电话电报公司买断了UNIX,一部分体系不得不从电报电话公司中分离出去。 而Novell在买到了UNIX的版权之后,并没有花费多少精力去完善和开发它,而是在1995年的时候又转手卖了出去。从此UNIX的原始版本开发正式结束。

林纳斯第一次了解到UNIX的可开发性大概是1991年前后,当时拉尔斯·沃兹尼亚斯拉着林纳斯去赫尔辛基理工大学参加一个集会。林纳斯对社会政治方面的问题了解得不多,他关心的是技术,而不是政治,林纳斯觉得家里的政治已经够多的了,而对这些问题,林纳斯在中年以后又有了很大的转变。学校批准了林纳斯去听这个演讲会,因为学校很想和豪华的赫尔辛基理工大学扯上一点关系。

演讲者是自由软件的鼓吹者——理查德·斯多曼(Richard Stallman)。 他在1983年开始研究UNIX的一个替代物,将其称作GNU系统。

后来理查德·斯多曼撰写了《自由软件宣言》和自由软件产权证书,即GPL。他首先提出的关于开放源代码的概念完全是有意的,而并非出于偶然,这和UNIX最初的开放发展理念是相吻合的。

在赫尔辛基理工学院,林纳斯第一次见到了生活中的黑客。这是一个留着长发、蓄着长胡子的典型的黑客形象,这样的人在赫尔辛基为数不多。

当时林纳斯可能还没有看到自由软件的前景,但理查德说的一些话也多少给了他一些启发。后来,Linux使用的就是GPL。而那场无休止的官司让林纳斯成熟和发展起来。具体地说,Linux获得了时间去占领市场,让林纳斯后来居上,开始领跑自由软件运动。

小补丁 如果不打官司,将会发生什么?

看到现在基本被Windows系统和Linux系统占据的操作系统市场,我们不禁会做出这样的设想:如果美国电话电报公司不打这场版权公司、不对UNIX收费的话,又会发生什么事情呢?

历史的脚步从未停止,更不会倒退。要是当初真的是像设想中的那样发展,那么人类的历史、市场的格局或许会被重新改写。

我们先来看看这场官司究竟影响和改变了什么:

从80年代中后期开始,AT&T固执地捍卫UNIX版权,完全不顾它的创造者和开发者的愿望,导致UNIX丧失活力、一蹶不振,大量开发者无法参与,只好离开了这个平台。

而BSD在1992——1994年期间,开发处于停滞阶段。在官司结束之后,又因为各种原因产生了分裂,变成了FreeBSD、NetBSD和OpenBSD三个版本,这些都使得BSD在之后的操作系统竞争中处于落后地位。

就是这样一场官司,牵涉到了当时非常火热的UNIX和BSD两大操作系统。在90年代初期是计算机工业决定性的时代。因为那时候的Intel 80x86系列芯片有了巨大的发展,成本下降的同时,性能得到了快速上升,一个属于个人电脑的时代呼之欲出。

当时的市场上迫切需要能够运行在Intel 80386(简称386)芯片上的操作系统,而UNIX和BSD就因为这场官司与机遇擦身而过。

这时候,有两个人抓住了这个千载难逢的机会,一个是比尔·盖茨,他推出了Windows,迅速占领了个人电脑市场,他在这段时间让公司赚了几百亿美元,自己也蝉联了多年世界首富的位置。

另外一个年轻人就是我们的主角,当时还是在芬兰的一名大学生——林纳斯·托瓦兹。他当时就是想要学习UNIX,但是自己却买不起工作站,就自己写了一个能在386电脑上运行的Linux操作系统。发展到今天,全世界已经有超过一半的网络服务器都在使用Linux系统,但是他并没有使其商业化,也没有为此而成为亿万富翁,但他对于计算机行业的发展,同样是具有颠覆性的。

林纳斯后来回忆起开发Linux的初衷时,这样说道:“如果当时有基于386的UNIX-like操作系统,或者早早知道BSD没有法律纠纷的问题,他就不会费尽心思去创造Linux。如果真是那样的话,就不会有今天革命性的Linux。”

阿里·莱姆克(Ari Lemke)是赫尔辛基工学院的给一名助教,他给林纳斯回信说,愿意为林纳斯在他们学校的FTP地址上建一个子目录,这样林纳斯就可以把自己捣鼓了好久的操作系统发布下去,让那些感兴趣的人下载。 nAdnL3Be38Tnweo+WD0GSwEujMO48j6d7IiBnRt7qkmIq12YOvRTYU2YkJEkc+hH

点击中间区域
呼出菜单
上一章
目录
下一章
×