← 返回展厅
Chilton Atlas 操作系统

Chilton Atlas 操作系统

年份:1962
平台:大型机
开发者:曼彻斯特大学与费朗蒂公司

最早实现虚拟存储的操作系统之一,开创内存管理新纪元。

浏览:17
点赞:0

简要介绍

【创世纪厅】

1962年,Chilton Atlas 操作系统正式问世。由曼彻斯特大学与费朗蒂公司主导开发,面向大型机平台用户。

最早实现虚拟存储的操作系统之一,开创内存管理新纪元。

技术特色:操作系统、虚拟内存、经典。

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

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

详细介绍

1957年的秋天,当苏联的斯普特尼克一号卫星在太空中发出“哔哔”的信号声时,大西洋彼岸的英国曼彻斯特大学计算机实验室里,一群工程师正围着一台庞大的机器发愁。这台名为“曼彻斯特马克一号”的计算机虽然能执行程序,但每次运行新任务时,操作员必须手动拔插电缆、设置开关,整个过程堪比一场复杂的外科手术。这种笨拙的操作方式让计算机科学家们意识到:如果计算机要真正成为通用工具,就必须先学会管理自己。这个朴素的愿望,最终在五年后催生了计算机史上一个划时代的作品——Chilton Atlas 操作系统。

要理解Atlas操作系统诞生的伟大之处,必须回到那个计算机还是“巨型计算器”的年代。20世纪50年代末,计算机的硬件成本极其昂贵,一台IBM 7090的价格超过200万美元(相当于今天的1800万美元),而内存更是金贵得令人咋舌——每千字节的成本高达数百美元。当时的程序开发人员必须像精打细算的管家一样,小心翼翼地将程序和数据塞进有限的内存空间。如果程序太大,程序员就得手动将程序切分成“覆盖段”,通过纸带或磁带逐段加载运行。这种原始的“覆盖技术”不仅效率低下,还经常导致程序崩溃,因为哪怕是一个微小的内存地址计算错误,整个系统就会陷入混乱。

正是在这样的技术困境中,曼彻斯特大学计算机实验室的负责人汤姆·基尔伯恩(Tom Kilburn)萌生了一个大胆的想法:为什么不设计一种机制,让计算机自己处理内存分配的问题?基尔伯恩是一位沉默寡言的工程师,1948年就参与了世界上第一台存储程序计算机“曼彻斯特小规模实验机”的研制。他深知,计算机的潜力远未被挖掘,而最大的瓶颈恰恰在于人类对机器的微观管理。据他的同事回忆,基尔伯恩经常在实验室的黑板上画着复杂的图表,嘴里喃喃自语:“如果硬件能理解‘地址’与‘位置’的区别,一切都会不同。”

这个想法最终演变成了“一级存储”(One-Level Store)概念,也就是我们今天所说的虚拟内存。它的核心思想是:让程序认为它拥有一整块连续的、无限大的内存,而实际上,物理内存(当时称为“核心存储”)只是这块虚拟空间的缓存。程序访问的每一个地址都需要经过一个硬件单元——地址转换表——将其映射到实际的物理位置。如果数据不在物理内存中,硬件会自动从磁鼓或磁盘上加载,整过程对程序完全透明。

1960年,曼彻斯特大学与英国费朗蒂公司(Ferranti)正式合作,启动了Atlas计算机项目。费朗蒂是一家以生产雷达和电子设备闻名的公司,在二战期间积累了丰富的电子工程经验。项目的目标非常明确:制造一台“超级计算机”,同时运行多个程序,并且让程序员无需关心内存细节。然而,这个目标在当时的工程条件下近乎疯狂。Atlas计算机的硬件设计极其复杂,仅地址转换表就需要数百个晶体管和二极管,而当时整个英国晶体管的年产量还不到10万只。

1962年,Atlas计算机终于问世,它的操作系统也随之诞生——这就是后来被公认为“世界上第一个真正意义上的现代操作系统”的Chilton Atlas。为什么是“Chilton”?据说这个名字来源于曼彻斯特大学计算机实验室所在的那条街道——奇尔顿街(Chilton Street)。基尔伯恩团队可能觉得“Atlas操作系统”听起来太简单,于是加上了这个带有地理标签的前缀,仿佛在宣告:这个系统属于曼彻斯特,属于奇尔顿街的这间实验室。

Atlas操作系统的技术突破是全方位的。首先,它实现了真正的“多道程序”运行。在此之前,计算机只能一次执行一个程序,而Atlas可以同时驻留多个程序,操作系统负责在它们之间切换CPU时间。这个调度器(Scheduler)的设计非常精巧:它根据程序的优先级、I/O等待时间和计算需求动态分配时间片,甚至能自动将长时间未活动的程序“换出”到磁鼓上,为高优先级任务腾出空间。这种机制后来成为所有现代操作系统的标准配置。

其次,Atlas的I/O控制系统也极具前瞻性。当时的计算机外设速度极慢,一台纸带阅读机每秒只能处理几百个字符,而CPU的速度却高达每秒数十万次操作。如果CPU要等待I/O完成,那将是巨大的浪费。Atlas引入了中断系统(Interrupt)来解决这个问题:当I/O设备完成操作时,它会给CPU发送一个信号,CPU暂停当前任务,执行中断处理程序,然后再返回。这种异步I/O模型让CPU的效率提升了数倍,而中断机制至今仍是操作系统的核心。

但Atlas最革命性的创新还是虚拟内存。基尔伯恩团队设计了一套“页式存储”方案:物理内存被划分为固定大小的“页框”(每个页框512字),而程序的地址空间也被划分为同样大小的“页”。地址转换表(Page Table)记录了每个虚拟页对应的物理页框。当程序访问一个地址时,硬件会检查该页是否在内存中;如果不在,硬件会触发一个“缺页中断”,操作系统则从磁鼓上加载该页。为了优化性能,Atlas还引入了“最近最少使用”(LRU)置换算法——这在当时是学术前沿,因为LRU算法直到1965年才由彼特·丹宁(Peter Denning)正式提出,而Atlas早在1962年就实现了类似机制。

不过,Atlas的虚拟内存并非完美无缺。由于磁鼓的访问速度远慢于核心内存(磁鼓的旋转延迟约为10毫秒,而核心内存的访问时间仅为1微秒),频繁的缺页会导致系统性能急剧下降。基尔伯恩团队后来发现,如果程序的数据访问模式是随机的,缺页率会高得惊人。这种“抖动”(Thrashing)现象后来成为虚拟内存研究的重要课题,而Atlas的早期经验为后续系统提供了宝贵教训。

1962年12月,Atlas计算机正式在曼彻斯特大学安装运行。当时的计算机杂志《计算机杂志》(The Computer Journal)评价道:“Atlas是英国计算机工业的骄傲,它的操作系统设计理念领先世界至少五年。”然而,商业上Atlas并不成功。费朗蒂公司原本计划将Atlas作为商用产品推出,但高昂的成本(每台约50万英镑)和复杂的维护需求让大多数潜在客户望而却步。最终,只有两台Atlas计算机被制造出来:一台在曼彻斯特大学,另一台在伦敦的英国国家物理实验室。1963年,费朗蒂公司放弃了Atlas的商业化计划,转而专注于更便宜的小型机。

尽管如此,Atlas操作系统的思想却像种子一样播撒到了世界各地。1964年,IBM在开发OS/360时,其首席架构师弗雷德里克·布鲁克斯(Frederick Brooks)专门研究了Atlas的调度器和虚拟内存设计。他在回忆录《人月神话》中写道:“Atlas的操作系统是第一个让我们看到‘操作系统’应该是什么样子的系统。它不仅仅是一个管理硬件的程序,更是一个让程序员从底层细节中解放出来的抽象层。”1965年,麻省理工学院在开发Multics系统时,也借鉴了Atlas的一级存储概念,并将其扩展为分段式虚拟内存。Multics后来直接影响了Unix的设计,而Unix又塑造了Linux、macOS和Windows NT。

在计算机历史博物馆的档案室里,至今保存着Tom Kilburn于1962年撰写的一份内部备忘录。他在文中写道:“Atlas操作系统的目标很简单:让计算机变得好用。我们不想让程序员记住内存地址,不想让他们考虑如何覆盖代码,不想让他们等待I/O完成。我们想让他们专注于问题本身。”这份备忘录的结尾处,基尔伯恩用铅笔加了一句话:“也许有一天,计算机会像电话一样普及,每个人都能用它。如果这一天真的到来,操作系统将是那个让一切变得简单的魔法。”这段话在几十年后被反复引用,因为基尔伯恩几乎预言了个人电脑和智能手机时代的到来。

关于Atlas操作系统,还有一个广为流传的轶事。1963年,一位名叫约翰·麦卡锡(John McCarthy)的美国计算机科学家访问曼彻斯特大学,他是人工智能领域的先驱。当他看到Atlas运行多个程序时,惊讶地问基尔伯恩:“这个系统是怎么知道哪个程序该运行多久的?”基尔伯恩耸耸肩说:“我们给每个程序分配了一个‘信用积分’,如果它用完了CPU时间,我们就把它挂起。如果它总是占用CPU,我们就降低它的优先级。”麦卡锡后来在斯坦福大学设计了分时系统,他承认Atlas的调度算法给了他很大启发。

1965年,Atlas计算机因硬件老化而退役,但它的操作系统却以另一种形式延续了生命。曼彻斯特大学的工程师们将Atlas的操作系统移植到了新款计算机上,并持续运行到1971年。在此期间,英国政府资助的多个研究项目都基于Atlas进行,包括早期的自然语言处理和气象模拟。1973年,当最后一台Atlas计算机被拆除时,一位参与维护的工程师在日志中写道:“它就像一位老人,虽然步履蹒跚,但智慧的光芒从未熄灭。”

今天,当我们站在计算机历史博物馆的展柜前,看着Atlas操作系统的原始穿孔纸带和设计图纸时,很难想象这些泛黄的纸张上承载着多么革命性的思想。虚拟内存、多道程序、中断处理、调度算法——这些我们现在习以为常的概念,在1962年却像是来自未来的魔法。而创造这个魔法的,不过是一群在曼彻斯特阴冷潮湿的实验室里埋头工作的工程师。他们从未想过要“发明操作系统”,他们只是想解决实际问题:让计算机更容易编程。正如Tom Kilburn后来在一次采访中幽默地回忆:“我们只是想让这台机器更容易编程,结果不小心发明了操作系统。”

这句话或许是对Atlas操作系统最好的注脚。它提醒我们,伟大的创新往往始于一个简单的愿望,而改变世界的技术,常常诞生于最不起眼的角落。在计算机的编年史中,Chilton Atlas可能不是最耀眼的那颗星,但它点亮了一盏灯,照亮了通往现代计算世界的道路。

深度研究

影响力评价

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

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

💼商业影响
显著8/10

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

🎭文化遗产
卓越10/10

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

👥用户覆盖
显著8/10

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

评论区 (0)

登录 后参与评论

加载中...