周末杂谈:UNIX与NT之争

论坛:江湖谈琴作者:巴山发表时间:1999-10-30 07:15
“江湖”里藏龙卧虎,英雄辈出。咱们除了谈情说爱,掐架过招外,
是不是也拓展一下内容?不妨谈谈各自专业的有趣话题,也算学科
交流,激发思维。 前向有人提到Windows NT正在替代UNIX, 这二
种系统我在工作和学习中均用到,这儿不惮浅陋,点评几句,也算
抛砖引玉,请教方家。

自七十年代初Bell实验室的Ken Thompson和Dennis Ritchie为研究
的目的写出UNIX以来,这种以multi-user, multi-task, real-time
为特点的操作系统已成为小型机和工作站的主流。一个出人意料的
附带成果是: 用来写这种操作系统的C语言成为了最流行,功能最
强的程序语言, 以至于后来兴起的C++, Java, JavaScript, Perl
等语言无不具有C-style。 今天,没有哪一个程序员或软件工程师
敢说自己不懂UNIX和C的。

Microsoft走的是另外一条路。 如果说UNIX是写给精怪的专业人士
的话, Windows一开始就是面向那些坐在计算机面前惊喜万分的普
通PC用户的。 Bill Gates的发家史至今仍是IT界传颂的一个奇迹,
不过当年他拿到第一个IBM的DOS开发合同时,一定是抹一把冷汗,
庆幸自己的garage公司免于其它千百个小公司那样自生自灭的命运。

Windows95是Microsoft的一个巨大成功。人们习惯了Windows-look-
and-feel界面,复杂的程序命令行简化成了懒人杰作的一个 mouce
click, 人机对话被简化成了傻瓜像机式的操作---你不需要知道它
怎么做,只需让它做(Don't have to know how it's done, just
have it do!)。 Internet热潮的兴起更助长了Windows95对PC机的
一统天下,因为Windows95是第一个用户意义上的网络平台。 这个
期间,另一个曾经是IT巨人的Apple完成了它最后的, 却是软弱的
一击,趋于灭亡。。。一个例子可说明,对PC操作系统而言,使用
简便性和用户满意度确是生死悠关的因素! Apple/MAC系统曾有一
个最愚蠢的设计:从软驱中弹出软盘必需通过屏幕上的一个click
(而不象IBM PC那样有一个按健让你在任何时候都可退出),这就埋
下了操作系统失灵软盘卡在机器中无法取出的祸根。这样一个小小
的但却是明显的失误却可能掩盖了Macingtosh的其他光辉。

Windows95的成功使得Microsoft更野心勃勃, 把目光投向了传统上
是UNIX天下的工作站,服务器市场。

1988年,Microsoft以从DEC挖过来的David Cutler领衔,开发一种
32-bit, 支持multi-tasks, cross-platform, client/server model
的新操作系统Windows NT(NT意指New Technology)。开始时NT是针
对那些高速,大内存,强功能的High-End PC工作站的, 但使用结
果是常常被要求提供Server功能, 加上Microsoft推出了一系列配
合Web Application Development tools(IIS, InterDev, COM, DCOM等),
也需要一个具备Server功能的系统平台与之相配, 因此NT从4.0开
始推出Server版。 在这时,Windows操作系统所固有的结构和优点
这时却显示出弱点。

从技术角度看,UNIX有着与NT不同的结构。同为multiuser, multiprocess,
client/server model的操作系统, UNIX严格隔离系统核心程序(kernel)
和服务程序(daemon or server process),它的kernel只包含CPU scheduling,
memory management, interprocess communication, file system,
I/O interface, interrupt handling等系统核心功能, 其它提供
人机对话的Shell, 提供图形界面和开发环境的X Window system及
system utility, network function等一律放在user mode, 用户
的应用程序更是必须经过上述的server process才能与kernel对话,
这就保证了kernel的可靠性和稳定性,即使用户程序crash或是user
mode的server processfailed,也不会导致kernel崩溃,这就是UNIX
很稳定,不易死机的原因。

Windows NT也尽量采用server model结构。用户友好的图形界面是
Windows的一个优点,但这种graphic界面在转换时太占内存,且减
慢运行速度。出于性能的考虑,它又不得不把Window Manager, GDI
和graphic device driver又放回了kernel。 这就一定程度上牺牲
了kernel的简易性,可靠性。在内存结构设计上,NT采用Protected
Memory Model,不再让用户随意读写内存空间的任意部份, 这较以
前的DOS和95大大改进;它的Concurrent Control采用preemptive
multi-tasking方式,避免了一个用户程序crash就hold住了整个系统;
另外,NT除了支持95的FAT文件系统外,还有了自己的NTFS(NT File
System),并基于NTFS组装了支持NSA-level2标准的安全系统。

使用的简易性和继承自Windows95的图形界面是NT的一个优点, 但
在一定程度上也削弱了系统维护的能力。举个例子:shell scripts
和system utility是UNIX系统维护的强有力的工具,它让管理员在
系统出问题时可以迅速做trouble shooting,并赋予了程序员按自
己需要作system programming的灵活性。 我们曾在自己的HP UX系
统上开这么一个玩笑:我们利用UNIX的cron facility(一种可让管
理员设定年,月,日,时间,系统到时自动启动任何用户程序的功
能) 在每天的午餐时间,系统自动就把软件部新进的一个女孩的屏
幕melt down (画面突然消失,然后又恢复),并echo一个message:
Dear Ashley, the system is virus-corrupted, probably due to
your errorane programming.... 当可怜的女孩惊恐万分地跑来叫
我们去看屏幕时,我和Doug都止不住哈哈大笑。。。NT就不会给你
这个乐趣!NT也有设定system backup的功能,但仅限于此。 NT也
有scripts,但功能弱得多,且没有几个人懂,一旦系统down, 大
家能做的多半就是--- reboot!

一般说来, 从用户角度评价一个操作系统大致有如下指标,我们不
妨对这两种系统作一比较。

1。可靠性 (Reliability)
已有近三十年应用史的UNIX无疑在稳定性、可靠性方面具有优势,
这也是NT在军事,国防,大型商业系统和高级科研部门等领域 (老
美叫做mission-critical)难与UNIX竞争的原因。 美国海军曾在一
艘中等级别的巡洋舰“斯塔顿号”上试验用NT系统替代UNIX,结果
一台NT Server的死机导致了全舰计算机系统瘫痪, 这使得军方对
更换计算机系统更为慎重。

2。用户容量 (Scalability)
一台UNIX服务器可以很可靠地同时支持600个用户。虽然Microsoft
声称NT在用户支持量上已逼近UNIX,但目前市场比较公认的看法是,
NT对同时300用户以下的负载表现得比较稳定, 更大的负荷量则使
NT down机的概率大大增加。

3。功能有效性 (Performance/Efficiency)
市场对这一点比较难以取得一致。 就Performance而言,各种测试
报告说UNIX好,或NT好的都有,一个重要的原因是没有一个统一的
各方均接受的测试程序(benchmark)。就计算能力而言,SUN已推出
了与64-bit processor and data bus 相配的 Solaris version,
可运行64-bit application;Microsoft声称NT与Alpha机型相配的
release的Win32 API已经支持64-bit数据类型。 但Win32 API本质
上是一个32-bit的subsystem,如何支持64-bit的application,笔
者没有这方面的实际经验。

4。兼容性 (Adaptability)
NT显然与Intel处理器绑合在一起(有人称之为Wintel), UNIX无论
对硬件还是软件的兼容性都较NT好。 但对市场通行的Microsoft的
各种开发工具包而言,NT无疑是最好的运行平台。

5。维护性 (Administration)
这一点上NT具有优势。NT的Administration无疑比UNIX少,而且容
易得多。培训一个NT Administrator只需三个月,而要做UNIX的系
统管理员,没干过二,三年的system programming,想都别想!

6。安全性 (Security)
UNIX作为一个开放式系统,至今为止没有一个标准的UNIX, 大多数
UNIX vendors能做到的只是kernel符合POSIX1.1标准。最近在谈论
SUSv2(Standard UNIX Specification, version 2)或称“UNIX98”,
但短时间内恐还难以产生一个大家都接受的标准。这使得UNIX的security
一直是一个难题,SUN, SCO, HP, AIX, Digital UNIX 等供应商发
布的"补丁"关于security是最多的,UNIX一开始强调的就是给programmer
最大的能力和灵活性,这也给“黑客”们留下了可乘之机。。。比
较之下,NT要严格得多,NT从来不把过多权力赋予一个telnet的用
户,这无疑是吸取了UNIX的教训。但NT的Security远未臻完美,至
今常常听到人们津津乐道于又发现了一个NT安全“黑洞”。

7。价格比 (Cost-effective)
这无疑是NT的最大优势所在。UNIX系统的昂贵超出人们的想象,以
我工作的HP UX系统为例,一个HP-744处理器板已近$10000, 再购
买HP UX 10.20操作系统(价格随用户数变)再少也得$5000, 这已经
在$15000以上,这还没包括配图形卡和X Window系统的钱。比较之
下,一台最强配置的Pentium III 600 Server不过六,七千元,买
个NT的license也就几百元。 两相比较,Intel/NT无疑在价格上具
有极大优势,这也是为什么越来越多的中小公司选用NT系统的原因。

总体而言, NT已成长为UNIX的极具竟争力的对手。Microsoft即将
推出的Windows 2000采用的也是NT kernel,并将有Workstation,
Enterprise和Server三个versions, 其企图一统PC, 工作站和服务
器市场的野心显而易见。。。但说NT马上就要取代UNIX还为时过早,
NT在大型环境中的稳定性和软硬件兼容性方面还有一段路要走。在
目前很难说谁一定比谁好,在系统选型和设计时,应视具体要求而
定。作为Internet Server,我觉得UNIX适用于出口端(Gateway),
访问繁重,提供数据库服务的大型系统;而NT适用于访问量较小的
Server或公司内部的Intranet。

看一看一些世界顶级公司和最繁忙的站点所用的系统会让你更加深
印象。

世界最大最忙的网上书店(我在那儿买了不下30本书),Amazon.com,
Digital UNIX/AlphaServer 2000
炙手可热的Yahoo, FreeBSD UNIX
波音公司, HP-UX, IRIX, Solaris and some NT
美国邮政总局, multi-processor Pentium PC/Linux
Mercedes-奔驰公司, UNIX,Linux
Cisco, Linux
Dallas Cowboys(我最喜欢的美式足球队), IRIX and SVR4 UNIX
Dow Corning, SUN/Solaris
最有意思的是Hotmail的server。在被Microsoft收购前他们一直用
Sparc/Solaris,Microsoft接手后当然不能再长对手威风,于是换
成NT---很快就发现,对一个有ten millions用户的站点而言,用NT
实在是强人所难!于是又换回了Solaris。

可以这么比喻, UNIX象个高性能的专业像机, 是专业人士的宠物
(看着那些从中学就浸淫于计算机,CS科班出身, 双手在键盘上飞
舞出一种韵律的美, 在text terminal上就把计算机系统玩得溜溜
转的老美们(这儿称之为guru), 你就知道为什么他们看NT是一种居
高临下的目光。。。);比较之下,Windows95象个不值一提的傻瓜
像机,简单好用而已; NT就象加上了许多新功能的高级傻瓜像机,
想在高精度和简易性上求得一个折中 。。。效果如何,见仁见智。
不过,UNIX与NT之争远未结束。。。在遥远的地平线上已经露头的
下一代操作系统---分布式操作系统(Distributed Operating System)
上, 背靠AT&T的Lucent已推出了UNIX的Inferno,而Microsoft则全
力开发它的Millennium系统, 我更乐于看到两者下一回合的较量,
因为,这正是我做的研究方向。

巴山夜雨
10/28/99
标签: 添加标签

0 / 0

发表回复
 
  • 标题
  • 作者
  • 时间
  • 长度
  • 点击
  • 评价
  •   and, more:
  • 俺尽量心平气和 
  • 1999-10-31 13:32
  • 266
  • 405
  • 0/0

京ICP备14028770号-1