OS演义(九)
不老的UNIX
也许是由于接触不多吧,对于很多电脑爱好者来说,UNIX是个耳熟能详但却又不知其所以然的名字。它究竟与我们日常使用的DOS、Windows有什么区别?它又给我们的操作系统历史留下了什么样的故事呢?
UNIX最大的特点,就在于它是多用户操作系统。所谓多用户,是指它能够在同一时间供许多用户同时使用,这主要是为了避免计算资源的浪费。在最初开发UNIX的60年代末,全世界只有为数不多的计算机,计算资源极其宝贵,而一个用户单独使用一台计算机时, 实际上有很多时间计算机是无所事事的。 用 NU8 中的System Watch或Windows 95自带的“系统监视器”测一下就知道了——当你在电脑前冥思苦想时,你的CPU的利用率不超过10%!UNIX被设计成多用户系统,正是为了使得宝贵的计算资源得到最大限度的使用。许多人同时在分享同一份资源,这在逻辑上好像有点讲不通,实际上可以通过“时间片”的方法来实现。UNIX系统将计算时间分成许多“时间片”,就好像大家分面包时先切一片给你吃,然后给别人切,等你那一片吃完了,你的下一片也到了——你一直在吃面包,可在你咀嚼时,刀却不闲着。相同的原理,微软用Windows宝刀把“面包片”切给了Word和Excel,实现了PC操作系统的多任务特性。
UNIX在操作系统历史上留下了独一无二的故事——它是历史上版本最多、最开放的操作系统。
1969年,UNIX系统诞生于美国电话电报公司(AT&T)的贝尔(Bell)实验室。这个实验室注定要在人类进步史上留名的——电话交换机、激光……,90年代又投入了光子计算机的开发,无数的新技术诞生于此。UNIX最初是用B语言(这是C语言的前辈)编写、在DEC公司PDP-7小型机上运行的,只在AT&T内部使用,并没有将它商品化,第一个用户是Bell实验室的专利部门。在C语言诞生之后,UNIX被重新改写,这次仍然没有被商品化,相反,AT&T来了个“免费大赠送”——所有的大学、科研机构,谁想要就给谁,而且是带着C 语言的源程序一起给(据说是为了免去日后维护的麻烦)。在第一批得到赠送的大学中,有著名的加州大学伯克利分校,那里的大学生们借助C语言的通用性(当然还有年轻人的热情), 几乎每个人都把自己想到的功能加入UNIX系统的程序中。正是这些大学生的努力,使得UNIX系统有了巨大的发展。AT&T也在不断地充实UNIX系统的功能,在90年代,UNIX系统发展成两大流派:UNIX BSD(Berkeley Software Distribution,伯克利版)和UNIX System V(AT&T的后续版本)版。
谁也没有想到,当初AT&T散发C语言源程序的做法,埋下了天下大乱的祸根。由于C语言严谨可靠、人人爱用,且可移植性特别好,所以实际上每个人都可以按照自己的意愿对UNIX系统加以改造,最后不光各个开发商有自己的版本,就连经销商也都有自己的版本(当初伯克利的大学生毕业后,把UNIX也带到了各自的公司),比如IBM的UNIX叫AIX,微软占领广大低档 UNIX 市场的版本叫 XENIX , SUN 的版本叫Solaris,Santa Cruz的版本叫SCO UNIX,为80x86设计的共享版本叫Linux……象DEC、HP这样的大公司都有自己的版本, 而后起之秀 Novell 也推出了自己的UnixWare。
“话说天下大事,分久必合,合久必分”,1988年,AT&T 将 UNIX BSD 和 UNIX System V统一成了UNIX System V Release 4,从而结束了与老对手的竞争。可是另一方面,以IBM、DEC和HP为首的OSF开发出了开放式的OSF/1,成为AT&T新的对手,Novell也因其NetWare取得局域网操作系统领导地位而使UnixWare 地位日渐重要……,时至今日,这演变仍在进行之中。
虽然历经二十几年的沧桑,UNIX依然宝刀不老,但也“老革命遇到了新问题”——面临来自Windows NT的强有力的挑战。 由于本文结构安排的原因, 好像 UNIX 与Windows NT离得远了点儿,其实,这一老一少今天正在争夺当今正红的Internet:由于本身的特点,UNIX系统很适合于作Internet服务器的操作系统。当你在服务器的目录上找文件时,如果见到“/”,就是那个与DOS相反的目录分隔符,就可以知道那是一台UNIX主机了。而Windows NT则后来居上(按照微软的说法,这市场具有战略意义,必须拿下),借助于其“健壮性”以及与Windows 家族的血缘关系(已经有太多的软件符合Windows的数据标准),再加上 1996 年以来, 微软又在它的Windows NT中免费赠送用来构建Web服务的Information Sever(手法与在95中附带Internet Explorer如出一辙),使得制作Internet主机越来越方便, 费用也越来越低廉,吸引了很多信息服务商转向Windows NT。现在,那些传统的UNIX厂商仍在与微软争夺这块市场。颇为有趣的是,两种产品都是在大势所趋的情形之下,被用作新的领域的,至于谁会是最后的赢家,时间会给出答案的。
谈到UNIX,还有一点不能不提——X Windows系统。千万不要认为这个X Windows又是微软Windows家族的那个远房亲戚,其实它与微软的视窗系列是八杆子打不着的。1984年,X Windows诞生于MIT(麻省理工学院,不是Made In Taiwan),它最初是在DEC的支持下,为了一个名为Athena的计划设计的一套运行在UNIX 系统上的分散式的、与硬件无关的图形用户接口。后来它在MIT内不断发展、改进, 到第十个版本时,其日渐重要的商业价值吸引了很多厂商的加盟,众人拾柴火焰高,当版本号数到十一个时,X Windows已经成为一套标准了。与Windows不同,这套标准是完全开放的,任何厂商均可根据X协议开发自己的X Windows系统或基于X Windows 的应用软件。也许是看惯了微软的Windows商标吧,总有人觉得加在前面的这个X别扭,其实这个X还是有讲法的。早些年,斯坦佛大学曾有人设计过一套名叫W的窗口系统,而MIT的X Windows设计思想正是从它而来,既然承了人家的衣钵,就把名字也承下了。至于那个W从何而来,就只有天晓得了。由于其开放性, 很多厂家都有自己的X Windows产品,其中最著名的是OPEN LOOK(由SUN和AT&T支持)、Motif(由 OSF支持)和Linux上免费的Xfree。
网络霸主NetWare
迄今为止,Novell公司的NetWare是最成功的网络操作系统。一般说网络操作系统,主要是指微机局域网,即PC LAN的操作系统,但随着Internet和Intranet的飞速发展,这个概念正逐渐模糊。
NetWare最初是Bringham Young University(杨柏翰大学,美国一所有着深刻传统文化背景的学校)的一组毕业生共同开发出来的,他们把这种系统叫做Superset和Novell Data System,它允许微型计算机共享打印机和文件。1983年,他们在使用 S- Net 接口卡的 Motorola 68000 芯片的基础上, 专门设计了一个名为ShareNet的产品,每块S-Net板允许在Novell 68服务器上直接连接6个工作站, 后来发展到254个,这就是NetWare68。在80年代中期,Novell 公司推出了为 IBM PC/XT设计的NetWare86版本,从此NetWare系列走上了独立于硬件的“软”道路,Novell公司也将战略重点从硬件领域转向软件领域。
从1985年到1990年,Novell公司陆续推出了一系列以NetWare286为标志的版本,它们都是针对Intel 80286芯片开发的16位系统,经历了2.0、2.1X和2.2 几个阶段:
1986年,NetWare2.0版本发行,这个版本是以纯软件的形式提供的,其设计目的是为了充分发挥Intel 80286芯片的优点,是一个只能在DOS计算机上使用的网络操作系统。它可以支持ARCnet、Ethernet和Token Ring(令牌网络),并且开始以用户许可证的数量为基础来进行销售。这是个比较科学的方法,它使用户为不同的网络规模付出不同的代价,今天仍是网络操作系统的销售惯例。
NetWare系列中,修改次数最多的要数NetWare 2.1X版本了。NetWare 2.10于 1987年发表, 它为用户提供了大量崭新的功能, 其中设计得最成功的是 SFT 功能(System Fault Tolerant,系统容错)。这一版SFT包括了硬盘镜像、硬盘双工、热修复以及TTS(Transaction Tracking System,事务跟踪系统)。NetWare 2.1 比以前的版本在很多方面都有较大改进,比如它的打印操作有了很大的改观,新的工作站外壳也使用户觉得系统更易于使用。但是,NetWare 2.1X也有些地方写得实在不令人满意,首当其冲的是它那沉闷而复杂的安装过程,由于它采用360K的软盘,所以安装盘数量高达45张!并且安装程序组织得不好,让一些对系统不是很精通的用户觉得晕头转向。正是这些小毛病使得NetWare 2.1X版本不得不经历了几十次修订,从NetWare 2.10到NetWare 2.15E,还是有些破绽留给了NetWare 2.2版本。
NetWare 2.2版本是NetWare 286的最后一个产品,它具有2.15E的所有特性, 并且对NetWare 2.1X中的破绽进行了最后的修订。同时,它对内存管理进行了新的更为细致的处理,使Intel 80286芯片能够利用更多的内存。还有,它对NetWare 2. 1X中那令人晕头转向的安装程序进行了大幅改进,重新编写了一个安装程序INSTALL,简化了安装过程。另外,由于采用高密盘作存储介质,安装盘的数量也从45张减少到了十几张。与NetWare 286的早期产品相比, NetWare 2. 2 已经可以在一些非Intel平台(如苹果的Macintosh)上安装了。
习惯上,将NetWare 3.0、3.10、3.11以及3.12称为NetWare386, 它们都是为充分发挥Intel 80386芯片性能的32位网络操作系统。NetWare 3.0于1989年下半年发布,它的新特性包括更先进的内存管理方案,使得它可以对内存进行动态分配,可以在程序卸载之后将内存回收。在NetWare 3.0之后,Novell很快又推出了NetWare 3.10,开始支持TCP/IP协议。下一个改进版NetWare 3.11于1991年推出。1993 年发表的NetWare 3.12开始以光盘的形式向用户提供,这是NetWare 3.X 中现在使用最多的版本。NetWare 3.X 在服务器方面的一个主要进步是使用了 NLM ( NetWare Loadable Module,Novell公司的动态链接库)结构,使得用户可以根据自己的需要载入NLM,并且可以对NLM进行单独的升级。另一个主要的改进是在文件服务器和工作站上采用ODI(Open Datalink Interface,开放数据链接接口),从而为用户提供了对多重协议的支持,包括IPX/SPX、AppleTalk、TCP/IP以及OSI协议。
NetWare系列中又一个里程碑式的作品是NetWare 4.1,它在很多方面又有新的改进。比如,在磁盘操作方面(这两年硬盘的容量和速度的增长是有目共睹的),提供了文件压缩、磁盘块再分配、数据迁移和磁盘缓冲管理;在内存方面,采用分页和环行保护机制。另外,NetWare 4.1 最引人注目的改进是它为用户提供了公共资源命名结构NDS(NetWare Directory Services,NetWare目录服务),可以对用户以及网络资源之间的所有交互作用进行控制,使得很多操作(比如用户登录)变得更方便。在用户刚刚熟悉了4.1版的新特性之后,1996年又有了NetWare 4.11, 增加了Web服务等诸多新的功能……
当然,NetWare并不代表网络操作系统,只是因为它属于“通用型”, 因而市场占有率最大。很多公司还有自己专用的系统,如Banyan公司的VINES 系统主要运行在Banyan公司的专用文件服务器上,3Com公司为其3+Ethernet网络推出了3+系统等等。进入90年代以来,Novell 公司最大的竞争对手是微软——开始是它的 LAN Manager系统(后来发现它不足以对抗NetWare ), 随后是强大的 Windows NT server。虽然NetWare称雄网络操作系统已有数年,但Windows NT server 确有势不可挡的劲头。
一石激起千层浪
这一期说的操作系统都和网络有关,这块巨石也跳不出NET的边际——Internet 和Intranet。
每当新的事物出现的时候,旧有的格局总难免要被打破,随着近几年 Internet 与Intranet 的飞速发展, 已经有很多东西改变了。 前文不是提到 Windows 将会与Internet融合吗,这已经不是传统PC机操作系统的范畴。同时又有更多的东西将要改变或诞生,在OS演义的最后,让我们看看这千层浪花中的点点白光吧。
IntranetWare
看到这个名字,你就可以知道它一定是Novell公司的作品,实际上它正如其名,是用来构建Intranet的。至于什么是Intranet,简而言之就是使得传统的企业网(可能是局域网或广域网——像IBM那种全球范围的办公网络便是广域网了)以WWW的方式呈现出来,并且通过 TCP/IP 协议与 Internet 直接相连。 IntranetWare 是由NetWare演变发展而来——在NetWare的基础之上,增加了由IPX/SPX(这是NetWare的传统协议)到TCP/IP的网关(否则连不到Internet上去)以及相关的Intranet附件,所以IntranetWare给人的感觉像个换代产品。
JAVA OS
要说全新的产品,JAVA OS是当之无愧的——继1995年的JAVA 语言及其相关环境诞生之后,1996年底,JAVA一家又添了这位新成员。与Internet时代众多的老兵相比,它确是为新的时代而来的,虽然它还显稚嫩,但相信随着时间的推移与环境的成熟,它会有所作为的。
后记
煞风景的话还是先说吧:写这篇稿子时,参考了不少前人的资料,自己也做了不少考证,但由于学识与精力的原因,仍难免有失当之处,望各位读者能够见谅。
不知不觉之间,已有三个季节从笔尖悄悄流走,回看操作系统历史上那些曾让人沉浸其中的故事——俨然一部N国演义,不由人不想起罗贯中那段流传千古的开场白:滚滚长江东逝水,浪花淘尽英雄,是非成败转头空。青山依旧在,几度夕阳红。白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中。
当初《大众软件》约这篇稿,主要为了增加一些知识性内容,让初入门的爱好者对行业的历史有个大概的了解,而写完与读完这样的演义故事之后,又不免萌生对历史的慨叹,感慨之余,谨以下面一段文字与读者共勉:
人们为什么总要不断地重读历史?我的历史老师曾给出这样的答案——“过去未去,未来已来”。是的,我们应该向昨天去讨教如何创造明天——这样才会有进步。尤其在电脑这个行业,几年,甚至几个月,就能够感受到技术进步的强烈冲击,这也是它最大的魅力所在。每每感受这种冲击时,便会觉得历史就在我们手中,而这样的机会是不可以不珍惜的!相信《大众软件》的读者中年轻人居多(我本人也是其中一分子),愿大家能够携起手来,共同去创造明天的历史——为技术与人类的进步,为我们的民族。
(全文完)