← 返回展厅
EXEC I 操作系统

EXEC I 操作系统

年份:1962
平台:大型机
开发者:UNIVAC

UNIVAC 1107上的早期多道程序操作系统。

浏览:17
点赞:0

简要介绍

【创世纪厅】

1962年,EXEC I 操作系统正式问世。由UNIVAC主导开发,面向大型机平台用户。

UNIVAC 1107上的早期多道程序操作系统。

技术特色:操作系统、多道程序、大型机。

影响力评估:技术维度 8/10,商业维度 6/10,文化维度 3/10,用户维度 5/10。

作为创世纪厅的经典代表,EXEC I 操作系统在软件发展史上留下了深刻的印记。

详细介绍

1962年,当UNIVAC EXEC I操作系统首次在1107大型机上运行时,它所处的世界与今天截然不同。那时,计算机还是一种昂贵、庞大且稀有的机器,通常只有政府机构、大型企业和研究机构才能负担得起。一台典型的计算机,如UNIVAC 1107,售价高达数百万美元,占据整个房间,需要专门的空调系统和一组维护工程师。在这样的环境下,如何让这台昂贵的机器尽可能高效地运行,成为每一个计算机用户和开发者面临的核心问题。而EXEC I,正是为解决这个问题而诞生的先驱。

在EXEC I出现之前,大多数计算机系统采用单道批处理模式。这意味着一次只能加载和执行一个程序。操作员需要手动将打孔卡或纸带上的程序输入计算机,等待程序运行完毕,取出结果,再放入下一个程序。这个过程不仅缓慢,而且效率极低——当程序等待I/O操作(如读取纸带、打印输出)时,CPU大部分时间处于空闲状态。想象一下,一台价值数百万美元的机器,其核心处理单元有近90%的时间在空转,等待着缓慢的机械外设完成工作。这种浪费在当时是难以容忍的,也催生了人们更高效操作系统的迫切需求。

正是在这样的技术背景和社会需求下,UNIVAC——当时世界上最大的计算机制造商之一——决定为其新推出的1107大型机开发一个革命性的操作系统。这个系统被命名为EXEC I,其核心目标是实现多道程序并行处理。所谓多道程序,是指允许多个作业同时驻留在内存中,由操作系统动态地分配CPU使用权,当一个作业等待I/O时,CPU立即切换到另一个作业继续执行。这个概念在今天看来理所当然,但在1962年,它是一项巨大的技术突破。

EXEC I的开发团队面临着令人难以想象的挑战。UNIVAC 1107的内存容量仅为约32K字(这里的“字”是36位字长,换算成现代字节约为144KB)。在今天,一张普通的手机照片都可能超过这个大小。但就在这区区144KB的空间里,开发者们需要容纳操作系统内核、多个用户作业、以及各种缓冲区和管理数据结构。这迫使开发团队将系统核心压缩到极致,每一个字节都被精打细算。据说,为了节省内存空间,部分功能甚至被以微代码的方式固化在只读存储器中,这在当时是一种极为前卫的做法。

开发过程本身充满了艰辛和轶事。那时没有高级的集成开发环境,没有版本控制系统,甚至没有交互式终端。程序员们的工作方式是:在纸上编写程序,用打孔机将程序代码打在纸带或打孔卡上,然后提交给计算机运行。一次调试循环可能长达数小时。有说法称,EXEC I的开发团队经常熬夜工作,一次因误操作导致整卷纸带报废,迫使程序员不得不重写数天的工作成果。这种挫折在今天是难以想象的,但在那个时代,却是程序员们习以为常的日常。

尽管条件艰苦,EXEC I的技术创新却是革命性的。它首次在商用大型机上实现了中断驱动的I/O管理。在传统系统中,CPU必须主动轮询I/O设备状态,浪费大量时间。而在EXEC I中,当I/O操作完成时,设备会向CPU发送中断信号,操作系统随即处理中断并调度下一个任务。这极大地提高了CPU利用率。同时,EXEC I引入了内存保护机制,防止一个用户作业的错误影响到其他作业或操作系统本身。这在多道程序系统中至关重要,因为多个作业共存于内存中,任何一个作业的越界访问都可能导致整个系统崩溃。

EXEC I的另一个关键创新是作业控制语言(JCL)。这是一种用于向操作系统描述作业需求的语言,用户通过JCL指定要运行的程序、所需的资源(如内存大小、I/O设备)、以及作业之间的依赖关系。JCL的出现,使得操作员可以将多个作业的批处理流程编写成脚本,由系统自动调度执行,大大减少了人工干预。虽然JCL的语法在当时被认为晦涩难懂,但它为后来的操作系统作业管理奠定了基础。

1962年,EXEC I随UNIVAC 1107正式发布。它支持Fortran编译器的批处理运行,这在当时是科学计算领域的核心需求。很快,UNIVAC的客户发现,安装了EXEC I的1107系统比使用传统单道批处理的系统吞吐量提高了数倍。一台原本只能一天处理几十个作业的机器,现在可以轻松处理上百个。这对于那些需要大量数据处理任务的机构——如保险公司、银行、政府统计部门——来说,意味着巨大的成本节约和效率提升。

EXEC I的成功直接推动了其后续版本的开发。1963年,UNIVAC推出了EXEC II,这是一个重要的改进版本。EXEC II增加了对COBOL语言的支持,COBOL是当时商业数据处理领域的主流编程语言。此外,EXEC II引入了更复杂的作业控制语言,允许更灵活的作业依赖关系和资源管理。它还改进了内存管理,支持更大规模的作业并发。EXEC II的推出,使UNIVAC 1107系列在商业计算市场上的竞争力进一步增强。

但真正将EXEC系列推向巅峰的是1965年随UNIVAC 1108发布的EXEC 8操作系统。1108是1107的升级版,性能更强,内存更大。EXEC 8继承了EXEC I和EXEC II的核心设计思想,但进行了全面的重构和扩展。它支持多达数十个作业的并发执行,引入了分时处理能力,允许用户通过终端交互式地使用系统。EXEC 8还率先实现了实时处理支持,能够处理来自传感器、通信线路等外部源的实时数据。这些特性使UNIVAC 1108成为当时最强大的商用计算机系统之一,广泛应用于航空订票、银行交易、军事指挥等关键领域。

在市场影响方面,EXEC I及其后继系统帮助UNIVAC在1960年代保持了商业计算领域的领先地位。当时,UNIVAC的主要竞争对手是IBM。IBM在1964年发布了System/360系列和OS/360操作系统,但OS/360的开发过程充满波折,直到1966年才相对稳定。而UNIVAC的EXEC系列早在1962年就实现了成熟的多道程序批处理,这给了UNIVAC一个宝贵的市场窗口期。许多早期的计算机用户,如美国空军、通用电气、西屋电气等,都选择了UNIVAC 1107/1108系统,部分原因就是其优秀的操作系统。

EXEC I的文化遗产同样深远。虽然它本身只是一个为特定硬件开发的操作系统,但其设计理念——多道程序、中断驱动I/O、内存保护、作业控制语言——成为了后来所有通用操作系统的基础。更重要的是,EXEC I的开发团队中,有一些工程师后来加入了贝尔实验室,参与了Multics和Unix操作系统的开发。Multics是第一个实现分层安全模型和虚拟内存的主流操作系统,而Unix则是迄今为止最具影响力的操作系统之一,其设计哲学影响了Linux、macOS、iOS、Android等几乎所有现代操作系统。可以说,EXEC I通过其开发者,间接连接了从1960年代到今天的操作系统演进脉络。

EXEC I的影响还体现在对IBM OS/360的间接作用上。OS/360是IBM为System/360系列开发的操作系统,其批处理子系统(Job Entry Subsystem,JES)的设计借鉴了EXEC系列的作业调度思想。虽然IBM和UNIVAC是竞争对手,但技术人员之间的交流是不可避免的。有说法称,IBM的工程师在开发OS/360时,曾仔细研究过EXEC I和EXEC II的文档,从中汲取了关于多道程序批处理的经验。这种技术思想的传播,使得EXEC系列的创新成果惠及了整个行业。

在博物馆的展柜中,EXEC I的原始文档、纸带样本和操作手册静静地陈列着。这些泛黄的纸张和脆弱的纸带,承载着1960年代计算机先驱们的智慧和汗水。它们讲述着一个关于如何在资源极度匮乏的条件下,通过创新和坚持,创造出改变世界的技术的故。当你站在这些展品前,不妨想象一下那个没有显示器、没有键盘、没有鼠标的时代:程序员们坐在打孔机前,一个字符一个字符地将代码敲在纸带上;深夜的机房里,巨大的磁带机嗡嗡作响,打印机咔嗒作响;而就在这些嘈杂声中,EXEC I正默默地管理着多个作业,让一台价值数百万美元的机器几乎不停歇地运行着,为人类探索科学、管理商业、服务社会提供着前所未有的计算能力。

EXEC I的诞生,标志着操作系统从简单的监控程序向复杂的资源管理系统的转变。它证明了多道程序批处理的可行性,为后来的分时系统、实时系统、通用操作系统铺平了道路。虽然今天已经很少有人记得EXEC I的名字,但它所开创的技术和理念,已经深深地融入了我们日常使用的每一个操作系统中。从你的手机到云端服务器,从自动驾驶汽车到航天器,那些在1962年首次实现的调度算法、内存保护、中断处理机制,仍然在默默地工作着。这就是EXEC I的遗产——一个隐藏在数字世界底层,却支撑着整个现代计算大厦的基石。

深度研究

影响力评价

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

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

💼商业影响
显著8/10

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

🎭文化遗产
卓越10/10

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

👥用户覆盖
显著8/10

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

评论区 (0)

登录 后参与评论

加载中...