【黄金时代厅】
1967年,TOPS-10正式问世。由DEC (Digital Equipment Corporation)主导开发,面向大型机平台用户。
DEC首个分时操作系统,商用分时计算的开拓者。
技术特色:操作系统、分时系统、商业。
影响力评估:技术维度 8/10,商业维度 7/10,文化维度 6/10,用户维度 5/10。
作为黄金时代厅的经典代表,TOPS-10在软件发展史上留下了深刻的印记。
数字设备公司于1967年随大型机发布的TOPS-10,是商用分时计算的重要开拓者,奠定了多用户共享主机的技术基础。
【黄金时代厅】
1967年,TOPS-10正式问世。由DEC (Digital Equipment Corporation)主导开发,面向大型机平台用户。
DEC首个分时操作系统,商用分时计算的开拓者。
技术特色:操作系统、分时系统、商业。
影响力评估:技术维度 8/10,商业维度 7/10,文化维度 6/10,用户维度 5/10。
作为黄金时代厅的经典代表,TOPS-10在软件发展史上留下了深刻的印记。
1967年,当TOPS-10随PDP-10计算机一同问世时,计算机世界正站在一个关键的十字路口。此前,大型机是昂贵而神秘的庞然大物,通常被锁在恒温的玻璃房间里,只有经过严格培训的操作员才能通过穿孔卡片或纸带提交作业。用户将一叠卡片交给操作员,等待数小时甚至数天才能拿到结果——如果运气好的话。这种批处理模式虽然高效利用了昂贵的主机时间,却严重阻碍了人机交互的即时性。与此同时,麻省理工学院、贝尔实验室和通用电气正在联合开发Multics系统,试图构建一种“计算机公用事业”,让用户像使用水电一样随时接入计算资源。Multics的野心过于宏大,进度缓慢,最终未能完全实现其承诺。但在这一探索过程中,分时计算(timesharing)的理念逐渐清晰:通过极快地切换CPU时间片,让多个用户通过终端同时与计算机交互,每个人都能感觉自己独占了整台机器。
正是在这样的技术氛围中,数字设备公司(DEC)做出了一个大胆的决定。这家由肯·奥尔森(Ken Olsen)和哈兰·安德森(Harlan Anderson)于1957年创立的企业,此前以小型机PDP系列闻名,尤其在PDP-8上取得了巨大成功。但DEC的高层意识到,仅仅提供硬件已经不够了。客户,尤其是大学和科研机构,迫切需要一种能够释放计算机潜力的操作系统。PDP-6是DEC第一款36位大型机,于1964年推出,但它缺少一个真正现代化的操作系统。DEC内部的一个小型团队开始着手为PDP-6开发一个分时系统,这个项目最初被称为“Monitor”,后来演变为TOPS-10。团队的核心人物包括丹·墨菲(Dan Murphy)、比尔·斯特雷克(Bill Strecker)和戴夫·罗杰斯(Dave Rodgers)等人。他们并非来自学术界的精英圈子,而是DEC内部一群务实、充满干劲的工程师。他们深知,Multics的复杂性可能让项目陷入泥潭,因此他们选择了一条更务实的路径:构建一个“够用”的分时系统,让用户能够立即工作,而不是等待一个完美的系统。
TOPS-10的全称是“Timesharing Operating System for PDP-10”,但这个名字并非一开始就确定。在早期,它只是被称为“PDP-10 Monitor”或“Monitor”。直到1970年代初期,DEC才正式将其命名为TOPS-10。这个名字本身也体现了DEC的营销智慧:“TOPS”既暗示了“顶尖”的含义,又恰好是“分时操作系统”的缩写。与Multics那种需要特殊硬件支持、复杂到令人望而生畏的设计不同,TOPS-10被设计为直接在PDP-10的标准硬件上运行。PDP-10本身是一台36位机器,拥有18位地址空间(后来扩展到22位),其指令集设计优雅,特别适合符号处理和数值计算。TOPS-10充分利用了这些硬件特性,实现了一个轻量级但功能强大的内核。
TOPS-10的核心创新在于其调度算法和内存管理。它采用基于优先级的轮转调度(priority-based round-robin scheduling),为每个用户进程分配一个优先级,并动态调整。当一个用户正在等待I/O操作时,其进程的优先级会自动降低,让出CPU给其他就绪的进程;当I/O完成时,优先级又会回升。这种机制确保了交互式用户能获得快速响应,而批处理作业则可以在后台默默运行。内存管理方面,TOPS-10使用了分页(paging)技术,将进程的虚拟地址空间映射到物理内存。虽然现代操作系统中的分页技术已经司空见惯,但在1967年,这还是一个相当前沿的尝试。TOPS-10还引入了文件保护机制:每个文件和目录都有所有者、组和公共权限,类似于后来Unix系统中的rwx权限模型。用户可以通过终端命令(如PIP、DIR、RENAME等)管理文件,这些命令虽然不如Unix的管道那么优雅,但已经足够直观。
TOPS-10的另一个重要特性是其强大的批处理能力。分时系统虽然提供了交互式体验,但许多计算任务(如大规模数值模拟、编译大型程序)仍然更适合批处理方式。TOPS-10的批处理子系统BATCH允许用户提交作业,并指定资源需求(如CPU时间、内存大小)。系统会将这些作业排队,按照优先级和资源可用性依次执行。这种“分时+批处理”的混合模式,使得一台PDP-10可以同时服务于交互式用户和后台作业,极大地提高了硬件利用率。此外,TOPS-10还支持远程作业录入(Remote Job Entry, RJE),允许用户通过终端或远程批处理站提交作业,这为后来的分布式计算埋下了伏笔。
TOPS-10的第一个正式版本于1967年随PDP-10 KA10处理器一起发布。KA10是PDP-10的第一代产品,使用分立晶体管逻辑,主频约1 MHz,内存最大支持256K 36位字(约1.1 MB)。在今天看来,这简直是微不足道的配置,但在当时,一台PDP-10可以支持数十个用户同时在线——每个用户通过电传打字机终端(如DECwriter)或视频显示终端(如VT05)与系统交互。TOPS-10的早期版本并不完美,它缺乏虚拟内存(直到后来的版本才引入),文件系统也相对简陋。但DEC的工程师们不断迭代改进。1970年,TOPS-10 5.0版本引入了更先进的内存管理,支持了更大的地址空间。1972年,TOPS-10 6.0版本增加了对分页的支持,使得每个进程可以拥有独立的虚拟地址空间,这大大简化了编程。1975年,TOPS-10 7.0版本引入了文件系统日志和更完善的错误恢复机制。
TOPS-10的黄金时代是1970年代。在当时的大学计算机科学系,PDP-10运行TOPS-10几乎成了标准配置。斯坦福人工智能实验室(SAIL)运行着TOPS-10,这里诞生了早期的自然语言处理程序和机器人控制软件。麻省理工学院的人工智能实验室(MIT AI Lab)同样使用TOPS-10,著名的Lisp机器和Macsyma符号数学系统都在这个平台上运行。卡内基梅隆大学、加州大学伯克利分校、伊利诺伊大学香槟分校等顶尖学府也纷纷部署了TOPS-10。在这些校园里,学生们第一次体验到了“计算机民主”——不再需要等待批处理作业的漫长循环,而是可以直接坐在终端前,编写、调试、运行程序,即时看到结果。这种体验对一代计算机科学家产生了深远影响。许多人后来回忆说,正是TOPS-10让他们爱上了编程。
TOPS-10的商业表现也相当成功。DEC通过PDP-10和TOPS-10的捆绑销售,在1970年代占据了大型机市场的一个可观份额。虽然IBM的System/360系列仍然主导着商业计算市场,但DEC凭借PDP-10/TOPS-10组合,在科学计算、工程设计和学术研究领域建立了牢固的根据地。DEC还提供了多种配置选项:从低端的PDP-10 KI10(使用集成电路,性能提升)到高端的KL10(使用ECL逻辑,速度更快),以及后来的KS10(面向低端市场)。每个新硬件平台都伴随着TOPS-10的相应版本,确保向后兼容。据估计,到1970年代末,全球约有2000台PDP-10在运行,其中绝大多数运行TOPS-10(少数运行ITS或Tenex等其他操作系统)。这些系统支撑着从气象预报到物理模拟、从编译器开发到人工智能研究的广阔应用场景。
然而,TOPS-10的辉煌并未持续到1980年代。1976年,DEC推出了TOPS-20,这是为PDP-10 KL10处理器设计的新操作系统。TOPS-20继承了TOPS-10的许多特性,但引入了更现代的用户界面(如命令补全、在线帮助)和更强大的虚拟内存系统。TOPS-20最初被称为“Twente”,因为它是在TOPS-10基础上融合了斯坦福大学开发的Tenex操作系统的思想。TOPS-20的用户体验明显优于TOPS-10,尤其是在交互式使用方面。DEC逐渐将重心移到TOPS-20上,TOPS-10的开发进入维护模式。1980年代,随着个人计算机和Unix系统的崛起,PDP-10平台本身也开始衰落。1983年,DEC停止了PDP-10的生产,TOPS-10的最后一个版本是7.04,于1984年发布。此后,TOPS-10和TOPS-20都逐渐成为历史,被VAX/VMS和后来的Unix系统所取代。
在博物馆的展台上,TOPS-10的遗产不应被低估。它不仅是商业分时计算的开拓者,更是许多现代操作系统概念的试验场。TOPS-10的进程调度、内存分页、文件保护、远程作业录入等特性,直接影响了后来的操作系统设计。更重要的是,TOPS-10培养了一代用户和开发者。在TOPS-10上成长起来的学生,后来成为了Unix的普及者、个人计算机的推动者、以及互联网的架构师。例如,Unix的创始人之一肯·汤普森(Ken Thompson)曾在贝尔实验室使用过PDP-10和TOPS-10,虽然他对Multics的复杂感到失望,但TOPS-10的简洁高效给他留下了深刻印象。另一个例子是理查德·斯托曼(Richard Stallman),他在MIT AI Lab使用TOPS-10和ITS系统,后来发起了GNU项目,其思想根源可以追溯到他在分时系统上的早期体验。
TOPS-10的轶事也颇为丰富。据说,在DEC内部,TOPS-10的维护团队有一个不成文的规矩:任何导致系统崩溃的Bug,必须由发现者亲自向全公司发送一封道歉邮件,并附上一份详细的故障分析。这种“公开处刑”的做法虽然令人尴尬,却极大地促进了代码质量的提升。另一个有趣的故事是,1970年代早期,斯坦福大学的一位研究生在TOPS-10上编写了一个名为“Adventure”的游戏——也就是后来风靡全球的《巨洞探险》(Colossal Cave Adventure)。这个游戏最初是作为TOPS-10上的一个实验性程序,结果意外地成为了第一个文字冒险游戏,开启了互动小说这一游戏类型。TOPS-10的用户社区也形成了独特的文化:他们会通过终端上的“talk”命令进行实时聊天,使用“send”命令发送消息,甚至在终端上玩“太空大战”(Spacewar!)等早期游戏。
TOPS-10的衰落也折射出整个计算机产业的变迁。1980年代,个人计算机的兴起让大型机分时系统显得过时而昂贵。用户不再需要共享一台昂贵的机器,而是可以拥有自己的桌面电脑。然而,TOPS-10所代表的“计算是一种服务”的理念并未消失。几十年后,云计算的概念重新点燃了分时计算的梦想——只不过,现在的“终端”变成了浏览器,而“大型机”变成了数据中心。从某种意义上说,TOPS-10是云计算的古老祖先,它证明了共享计算资源可以高效、可靠且经济。
如今,TOPS-10的源代码和文档被保存在计算机历史博物馆和网络上,供后人研究。如果你有机会在博物馆的终端前模拟运行TOPS-10,你会看到熟悉的“.”提示符(DEC系统默认的命令提示符),输入“HELP”可以调出命令列表,输入“RUN”可以执行程序。那是一种质朴而直接的交互方式,没有图形界面,没有鼠标,只有闪烁的光标和键盘的敲击声。但正是这种简单,让第一代分时用户感受到了计算的魔力。TOPS-10不是最完美的操作系统,也不是最成功的商业产品,但它是分时计算史上的一个里程碑,一个让计算机从“计算工具”走向“交流平台”的关键一步。它的故事,值得每一位对计算机历史感兴趣的人细细品味。
对技术发展和工程实践的推动程度
对商业模式和市场格局的影响深度
在科技文化和社会层面的持久影响力
用户群体的广度和普及程度