← 返回展厅
Multics

Multics

年份:1969
平台:大型机
开发者:MIT, GE, Bell Labs

首个模块化多用户操作系统,启发了Unix的诞生。

浏览:18
点赞:0

简要介绍

【黄金时代厅】

1969年,Multics正式问世。由MIT, GE, Bell Labs主导开发,面向大型机平台用户。

首个模块化多用户操作系统,启发了Unix的诞生。

技术特色:操作系统、分时系统、先驱。

作为黄金时代厅的经典代表,Multics在软件发展史上留下了深刻的印记。

详细介绍

1960年代,计算机世界还是一片蛮荒之地。那时的计算机是庞然大物,占据整整一层楼,造价堪比一艘军舰,只有政府、大型科研机构和极少数财大气粗的企业才敢染指。更令人窒息的是,这些机器只能一次运行一个程序——你带着一摞穿孔卡片去计算中心,把卡片塞进读卡机,等待几小时甚至几天后拿到结果,如果中间有一个穿孔错误,一切就得重来。这种批处理模式,让计算机更像是一种昂贵的计算工厂,而非交互式工具。就在这样的背景下,一个名为Multics的野心计划悄然萌芽,它试图打破所有枷锁,创造一个能同时服务数百名用户、像电话系统一样随时可用的操作系统。而它最终的命运,却充满了戏剧性的转折——失败得如此彻底,却又成功得如此深远。

故事要从麻省理工学院(MIT)的MAC项目说起。1963年,MIT的计算机科学家们开始构思一种全新的计算方式:分时共享。简单来说,就是让一台大型计算机通过快速切换,同时为多个用户提供独立的交互终端。每个用户坐在自己的电传打字机前,输入命令,几乎立刻就能得到反馈,仿佛整台机器都归自己所用。这在今天看来稀松平常,但在当时,简直是天方夜谭。MIT的Project MAC(Multiple Access Computer,多路访问计算机)就是这个理念的试验场,他们开发了CTSS(Compatible Time-Sharing System,兼容分时系统),证明了分时共享的可行性。但CTSS毕竟只是实验品,规模有限,MIT需要的是一个真正能投入生产、能服务整个校园甚至更广范围的系统。

于是,1965年,MIT、通用电气(GE)和贝尔实验室(Bell Labs)三大巨头走到了一起。MIT提供思想和技术原型,GE提供硬件平台——他们当时正在研发的GE-645大型机,贝尔实验室则贡献通信和系统工程的专长。这个联合项目的名字就叫Multics,全称是MULTiplexed Information and Computing Service,即“多路复用信息和计算服务”。这个名字本身就透露着野心:它不仅要提供计算,还要提供信息服务,要成为一个像电力网或电话网一样的基础设施。

Multics的设计目标在当时堪称激进。它要实现真正的模块化——操作系统的各个部分可以独立开发、动态加载和卸载,就像乐高积木一样灵活。它要提供层次化的文件系统,让用户能像管理文件夹一样组织数据,而不是把所有文件都扔在同一个平面目录里。它要支持动态链接,程序在运行时才加载所需的库,而不是在编译时就把所有东西都绑死。它要有多级安全保护机制,防止用户之间互相干扰,也防止程序崩溃导致整个系统瘫痪。更关键的是,它要保证极高的可用性——理论上,Multics系统可以连续运行数年而不需要重启,就像电话交换机一样从不关机。

这些概念放到今天,很多已经是操作系统的标配,但在1960年代,每一项都是前所未有的挑战。尤其是动态链接和模块化,意味着系统内核必须能在运行时自我修改,这涉及到复杂的地址空间管理、内存保护和重定位技术。Multics为此设计了一套环形保护机制(Ring Protection),将系统代码和数据划分为8个同心圆环,最内环(Ring 0)是核心内核,拥有最高权限,最外环(Ring 7)是用户程序,权限最低。任何跨环访问都必须经过严格的检查,这种设计后来被Intel的x86架构直接继承,形成了我们今天熟悉的Ring 0到Ring 3的保护模式。

然而,宏大的愿景往往伴随着巨大的代价。Multics的开发从一开始就陷入了泥潭。MIT的学术界风格追求完美和优雅,GE的程师们则更关心产品化和硬件接口,贝尔实验室的成员夹在中间,两边不讨好。项目进度一拖再拖,预算像雪崩一样膨胀。原本计划1967年交付的系统,到1969年还在修修补补。更致命的是,GE-645的硬件性能远不如预期,Multics庞大的内核和复杂的保护机制消耗了大量资源,导致系统运行缓慢,响应迟钝。用户坐在终端前,敲一个命令,常常要等几十秒甚至几分钟才有反应——这和当初承诺的“实时交互”相去甚远。

贝尔实验室的耐心首先耗尽了。1969年,贝尔实验室的管理层经过评估,认为Multics项目已经看不到成功的希望,继续投入只会是无底洞。他们决定退出联合开发,将资源和人力转向其他更实际的项目。这个决定对Multics团队来说是一个沉重打击,但也是计算机史上最重要的转折点之一——因为贝尔实验室撤走的团队中,有两位年轻人:Ken Thompson和Dennis Ritchie。

Thompson和Ritchie在Multics项目中积累了丰富的操作系统设计经验,但也对它的过度复杂感到厌倦。Thompson曾开玩笑说,Multics的开发者们似乎认为,一个操作系统如果不够庞大、不够复杂,就不算真正的操作系统。他想要的恰恰相反:一个简洁、小巧、能高效运行的系统。在贝尔实验室退出后,Thompson利用业余时间,在一台废弃的PDP-7小型机上,开始从头编写一个更简单的操作系统。这个系统最初被戏称为“UNICS”(UNiplexed Information and Computing Service),与Multics的名字形成对比,后来演变为Unix。Ritchie随后加入,两人共同开发了C语言,并用C重写了Unix,使它具备了可移植性。Unix的哲学——小即是美、每个程序只做一件事、模块化组合——几乎是对Multics的一次彻底反叛。

但Multics并未就此消亡。贝尔实验室退出后,MIT和GE(后来GE将计算机业务卖给了Honeywell)继续推进Multics的开发。1970年代,Multics逐渐成熟,尽管它始终没有成为主流商业产品,但在一些高端领域找到了自己的位置。美国国防部、国家安全局、一些大学和科研机构,以及少数大型企业,成为了Multics的用户。它的安全性和可靠性确实名不虚传——Multics是第一个获得美国国防部“安全操作系统”认证的系统,其多级安全模型后来成为TCSEC(橙皮书)的基准。在一些安装了Multics的站点,系统确实可以连续运行数年而不宕机,这在当时是了不起的成就。

Multics的商业表现却始终平淡。Honeywell试图将其作为高端产品推向市场,但价格高昂、硬件要求苛刻、学习曲线陡峭,让大多数客户望而却步。到1980年代,随着小型机和微机的崛起,大型机的市场逐渐萎缩,Multics的生存空间更加狭窄。1985年,Honeywell停止了Multics的销售,但承诺继续为现有客户提供支持。令人惊讶的是,这些客户中包括一些政府机构和大学,它们对Multics的稳定性和安全性极为依赖,宁愿花大价钱维护老系统,也不愿迁移到新的平台。于是,Multics像一台老旧的钟表,在角落里继续滴答作响。

最著名的Multics用户之一,是加拿大渥太华的卡尔顿大学。该校从1970年代开始运行Multics,用于教学和研究,一直坚持到2000年。2000年10月30日,卡尔顿大学正式关闭了最后一台运行Multics的Honeywell大型机。这一天,全球Multics用户社区举行了一场虚拟告别仪式,系统管理员在终端上敲下最后一个命令,看着屏幕上缓缓滚动的日志,宣告了一个时代的终结。这台机器总共运行了超过30年,堪称“不死的遗产”。

纵观Multics的一生,它像是一位才华横溢却生不逢时的先驱。它在商业上失败了,没有赚到多少钱,没有成为大众市场的宠儿。但它的思想遗产却渗透到了每一个现代操作系的骨髓里。我们每天都在使用的Linux、Windows、macOS,都或多或少地继承了Multics的基因:层次化文件系统(/根目录、/usr、/home等结构直接来自Multics)、动态链接库(.so和.dll文件)、虚拟内存管理、多用户权限控制、安全环保护……甚至Unix和Linux中那个著名的“/etc/passwd”文件,其设计思路也能追溯到Multics的用户管理机制。

更有趣的是,Multics对计算机文化的影响远远超出了技术本身。它教会了后来者一个深刻的教训:过度设计是危险的。Unix的成功,恰恰是因为它敢于做减法,敢于承认“少即是多”。Thompson和Ritchie在Multics的废墟上建立起来的Unix哲学,成为了整个开源运动的基石。而Multics自身的失败,也成为了计算机工程史上最经典的案例之一——它告诉人们,一个项目可以有最聪明的大脑、最充足的资金、最宏伟的目标,但如果执行失控、复杂度爆炸,再好的理念也会被拖入泥潭。

在软件博物馆的展柜里,Multics的展品可能只是一份泛黄的技术手册、一张GE-645的电路板照片、一段模糊的终端日志。但它背后的故事,却是一部浓缩的计算机发展史:从批处理到分时共享,从大型机到小型机,从封闭系统到开放生态,从失败到新生。每一个敲击过键盘的开发者,每一个在终端前调试过bug的程序员,都欠Multics一声感谢——尽管它从未真正成功过,但它定义了我们今天所知的计算机世界的底层逻辑。

如果你有机会走进这家博物馆,请在这块展板前多停留一会儿。看看那些密密麻麻的环形保护图、动态链接的流程图、文件系统的树状结构。它们看起来如此熟悉,却又如此古老。你正在见证的,是一个从未被大众记住、却从未真正离开的幽灵。它的名字叫Multics,它死于1969年,又活在了每一个操作系统里。

深度研究

影响力评价

技术影响商业影响文化影响用户规模9888
8.3
综合影响力评分
评分基于技术、商业、文化、用户四个维度的综合考量
🔧技术创新
卓越9/10

对技术发展和工程实践的推动程度

💼商业影响
显著8/10

对商业模式和市场格局的影响深度

🎭文化遗产
显著8/10

在科技文化和社会层面的持久影响力

👥用户覆盖
显著8/10

用户群体的广度和普及程度

档案资料

历史版本

Multics1969MIT/GE/Bell Labs 联合开发

相关链接

评论区 (0)

登录 后参与评论

加载中...