天天小说网

3、从 UNIX 开始

赫尔辛基大学第一次拥有 UNIX 是在 1990 年秋季开学的时候。 那个强大的操作系统是美国电话电报公司的贝尔实验室于六十年代发明的,然而它的开发却是在别的地方。前一年,也就是我上大学的第一年,我们有一台操作 VMS 的 VAX。这个操作系统糟糕透顶,你决不会说出:“嘿,我在农时也想装一个 VAM”这样的话,它只能让你说:“你怎么会使用这个破玩意?”它用起来极不方便,没有多少工具,也不适合轻松容易地进入因特网,而因特网是在 UNIX 上面操作的。你甚至都无法轻易地估算出文件到底有多大。坦白地说,VAM 可能很适合某些操作,比如数据库。但这种操作系统无法让你为之感到兴奋。

赫尔辛基大学当时意识到应该淘汰诸如 VMS 类的软件。学术界已经对 UNIX 产生了越来越大的兴趣,于是我所在的大学购买了一台操作 Ultrix 的微型 VAX,Ultrix 是 DEC 公司生产的一种 UNIX 版本。

我特别渴望操作 UNIX,将我从安德鲁?塔南鲍姆书上所学到的东西进行试验。要是我有一台 386,它肯定会对我能进行的一切探索感到兴奋不已。但是,我无法凑齐一万八千芬兰马克买一台 386。我知道一旦秋季学期开始后,我就能使用我的 Sinclair QL 进入大学新的UNIX 电脑,直到我自己凑齐了钱买一台 PC 机,再在上面操作 UNIX。 因此,那年夏天我做了两件事。第一件是什么都没做。第二件事是读完了七百一十九页的《操作系统:设计和执行》。那本红色的简装本教科书差不多等于睡在了我的床上。 赫尔辛基大学为微型 VAX 电脑购买了十六个客户执照。这意味着“C 语言和 UNIX”课程的选修学生人数被控制在了三十二名--我想学校的想法是十六个学生白天使用机器,另外十六个学生晚上使用。教师和我们一样,对 UNIX 也不太熟悉。他对此公开承认,因此也没构成什么问题。但他每次都比学生先读一个章节。有时学生也会提前跳读三个章节,因而上课成了一种游戏,学生们问的问题都是在三个章节之后才能学到的,目的是为了难住教师,看他是否已经读了那么多。

我们在 UNIX 的大世界中都是婴儿,一边学习一边完善这门课程。然而关于这门课最明显的是,在 UNIX 背后有一个非常独特的理念。你在这门课的第一个小时就抓住了这一点,剩下来就是解释细节了。

UNIX 的独到之处在于它所追求的基本理想。它是一个干净利索、非常漂亮的操作系统 。

UNIX 具有程序的观点,凡是做任何事情都是一个过程。这里有一个简单的例子。shellcommand 是为进入操作系统而键入的一种指令,在 UNIX 中,它并不像在 DOS 中似的被装在操作系统里。它只是一个任务,同其他的任务相同。这个任务是从你的键盘中读出的,然后再写回到显示器。任何能做的事情的东西在 UNIX 里面都是一个程序,此外还有文件。 吸引我的就是这个简单的设计,它也吸引着大多数对 UNIX 感兴趣的人(至少对我们电脑迷们颇有吸引力)。你在 UNIX 上完成的大部分任务都是通过六个基本操作完成的,它们被称作“系统呼叫”(system call),因为它们是你对操作系统的呼叫,你便让它为你完成任务。通过这六个基本的系统呼叫,任何事情你都可以完成。 此外还有“创建子进程”(fork)的概念,它是 UNIX 的基本操作之一。当一个程序创建子进程时,它便把自身完全复制出来。这样你就有了两个相同的拷贝。复制拷贝多数情况下再去执行另一个程序--用一个新项目替换自己。这便是第二个基本操作。其他四个基本系统呼叫--打开、关闭、读和写--都是为了访问文件的。这六个系统呼叫便组成了 UNIX 的简单操作。

当然,从细节方面讲,还有数不清的其他系统呼叫。然而一旦你明白了这六个基本系统呼叫,你就了 UNIX。UNIX 的好处之一是,你并不需要拥有复杂的连接去创立复杂的事物。你可以通过简单事情的互动来建立任何程度的复杂任务。你只需在简单的程序之间创造出交流渠道,在 UNIX 中叫做“管道”(pipes),就能解决复杂的问题。 一个差劲的系统在做任何你想做的事情时都需要有特殊的连接。UNIX 则恰相反。它提供给你执行任务的材料,这些材料足以让你完成任何事情。这就是所谓的干净利索的设计。 语言其实也是如此。英语有二十六个字母,你可以用这些字母创造出任何单字。另一种语言是汉语。在汉语中,你所想到的任何一件事都由一个字来代替。你一开始用的就是复杂的形态,然后在有限的方式中将复杂的形态组合起来。VMS 的大体上也是这种思路,Windows的方法也是如此。而 UNIX 的理念是越小越漂亮。一小堆简单基本的建筑材料,结合起来就能创造出无限的复杂表述。

物理的规则亦是如此。你努力找出基本的规则,而这些规则都是相对简单的。从那些简单的规则中,通过相互作用产生令人不可思议的复杂性。

更多内容加载中...请稍候...

若您看到此段落,代表章节内容加载失败,请关闭浏览器的阅读模式、畅读模式、小说模式,以及关闭广告屏蔽功能,或复制网址到其他浏览器阅读!