1700437394
1700437395
1700437396
1700437397
1700437398
1700437399
1700437400
1700437401
第6版Unix主要用C语言编写,也使用了有限的汇编语言来辅助实现诸如设置寄存器、内存映射等访问硬件的功能。同时,史蒂夫·约翰逊还创建了新版本的C语言编译器,这个版本具有“可移植性”,即可以直接重新针对PDP-11以外的架构生成汇编语言。这样一来,只需要重新编译C语言程序就可以把它们迁移到其他类型的计算机上。最有趣的移植程序显然是操作系统本身。这是否可行呢?
1700437402
1700437403
Unix的第一次移植由理查德·米勒(Richard Miller)在澳大利亚新南威尔士的伍伦贡大学完成,目标计算机是Interdata 7/32。米勒没有使用可移植版C语言编译器,而是修改丹尼斯·里奇的原始C语言编译器代码生成器,将Unix移植到Interdata。他的Unix版本在1977年4月就已经开始工作并能自给自足了。
1700437404
1700437405
在不知道米勒做了什么的情况下,史蒂夫·约翰逊和丹尼斯·里奇将Unix移植到了类似的机器Interdata 8/32上。他们的目标是更具可移植性的Unix版本,而不像原来那样逐个做单一机型移植。他们的版本在1977年晚些时候开始运行。史蒂夫·约翰逊回忆了一些背景。
1700437406
1700437407
“还有一种压力迫使我们让Unix变得可移植。DEC的一些竞争者开始抱怨说,受管制的AT&T与DEC的关系过于融洽。我们指出,市场上没有其他像PDP-11这样的机器,但这种观点越来越没说服力。丹尼斯用一句话就把我勾进了可移植性的工作中:‘我认为,把Unix移到另一种硬件上,比重写在不同的操作系统上运行的应用要容易得多’。从那时起,我就全力以赴了。”
1700437408
1700437409
可移植性是很大的进步。在此之前,操作系统大多用汇编语言编写,即使是用高级语言编写的,也或多或少地被捆绑在特定的架构上。但米勒以及约翰逊和里奇等人完成相关项目后,将Unix移植到其他种类的计算机上虽然仍非易事,但基本可以直接实现。当时新老公司都开始制造比PDP-11和Interdata等微型计算机更小、更便宜,使用不同处理器的计算机。Unix变得可移植,对新兴的工作站市场产生了重大影响。
1700437410
1700437411
工作站是科学家和工程师的个人用机器,提供强大、通常不共享的计算环境。工作站款型很多,其中Sun微系统公司的工作站在商业上最为成功。其他制造商包括硅图(Silicon Graphics)公司、DEC、惠普公司、NeXT,甚至IBM。20世纪80年代初,第一批工作站的指标是1 MB主存储器、100万像素的显示屏和每秒一百万次浮点运算的速度,即所谓的“3M”[7]机器。相比之下,我的老款MacBook有8GB内存,每秒至少能做10亿次浮点运算;它的显示屏也不过百万像素,但像素点是24位彩色的,不是单色的。
1700437412
1700437413
工作站市场之所以出现,是因为技术的改进使人们有可能将强大的计算能力装入尺寸较小的物理包装中,并以适中的价格出售。整个系统的价格能够做到合理,部分原因是包括操作系统在内的软件已经存在。新制造商不需要创造新操作系统——只要将Unix及其附带的程序移植到计算机所用的处理器上就可以了。因此,Unix的出现极大地促进了工作站市场的发展。
1700437414
1700437415
IBM个人计算机(Personal Computer,PC)面世于1981年。PC及许多克隆机的价格通常是工作站的五分之一到十分之一。虽然最初在性能上完全没有竞争力,但它们逐渐改进,到20世纪90年代末就后来居上了。工作站和PC之间的界限最终变得模糊。今天,根据应用领域的不同,计算机上最常运行的是微软Windows、macOS、Unix或类Unix系统。
1700437416
1700437417
[1] 意为“备忘录宏”。——译者注
1700437418
1700437419
[2] 分离不定式(split infinitives)是在不定式(to + verb)中间插入修饰副词的结构,不是一种语法错误。WWB中的gram(grammer的简写)命令能帮助识别误用的冠词和分离不定式。——译者注
1700437420
1700437421
[3] 《今日秀》(Today)是创办于1952年的早间资讯娱乐节目,收视率几乎一直冠绝同类节目。两位作者于1981年5月受邀在该节目中展示了WWB系统。——译者注
1700437422
1700437423
[4] 准确而言是指在PWB贝尔实验室商业信息系统计划(Business Information Systems Programs)中使用的PWB Unix系统,而不是PWB的开发环境。——译者注
1700437424
1700437425
[5] 即UK’s Unix and Open Systems User Group(英国Unix和开放系统用户组)。——译者注
1700437426
1700437427
[6] 意为“不指望你懂”。——译者注
1700437428
1700437429
[7] megabyte、megapixel和megaflop的首字母。——译者注
1700437430
1700437431
1700437432
1700437433
1700437434
1700437435
1700437437
UNIX传奇:历史与回忆 第7章 商业化
1700437438
1700437439
“随着Unix在学术界的传播,企业最终从念大学时用过Unix的新聘程序员那里开始了解Unix。”
1700437440
1700437441
——朗讯网站,2002年
1700437442
1700437443
“Unix和C语言是终极计算机病毒。”
[
上一页 ]
[ :1.700437394e+09 ]
[
下一页 ]