Unix50驱动智能手机的操作系统如何从失败开始

妄生
阅读

Unix50驱动智能手机的操作系统如何从失败开始

也许它的普遍性早已掩盖了它的起源。但 Unix 是一种操作系统,几乎在全球范围内销售的所有智能手机都以一种或另一种衍生形式提供支持,它诞生于 50 年前,它诞生于一个雄心勃勃的项目的失败,该项目涉及贝尔实验室、通用电气和麻省理工学院等巨头。很大程度上是贝尔实验室的几个程序员的创意,Unix 的不太可能的故事始于在新泽西州默里山庞大的贝尔实验室综合大楼的一个原本不起眼的附件的顶层会议。

那是 1969 年 3 月的最后一天,一个明亮寒冷的星期一,计算机科学系接待了贵宾:贝尔实验室副总裁比尔贝克和研究主任埃德大卫。Baker 即将终止 Multics(一种多重信息和计算服务的浓缩形式),这是一个计算机科学部门已经研究了四年的软件项目。Multics 逾期两年,远远超出预算,并且仅在对该术语的最松散的理解中发挥作用。

在部门内部,这一宣布并不出人意料。程序员敏锐地意识到项目范围和他们被要求为其构建的计算机的各种问题。

尽管如此,这仍然是一件值得努力的事情,只要贝尔实验室在开发 Multics,他们就会有一台价值 700 万美元的大型计算机在业余时间玩。从事 Multics 的程序员之一丹尼斯·里奇 (Dennis Ritchie) 后来说,他们都认为该项目的成功与此息息相关,尽管他们知道成功的可能性非常渺茫。

Multics 的取消意味着计算机科学系程序员必须从事的唯一项目的结束,也意味着计算机科学系唯一一台计算机的丢失。在 GE 645 主机被拆开并拖走后,计算机科学部门的资源减少到只有办公用品和几个终端。

正如另一位参与该项目的程序员 Ken Thompson 在 Unix 口述历史项目中讽刺地观察到的那样,“我们的个人生活方式将变得更加简朴。”

幸运的是,对于计算机爱好者来说,约束有时会带来巨大的创造力。所以有史以来最有影响力的操作系统不是由风险投资家资助的,编写它的人也没有因此成为亿万富翁。Unix 的出现是因为贝尔实验室雇佣了聪明的人,让他们有自娱自乐的自由,相信他们的项目往往会很有用。在 Unix 之前,贝尔实验室的研究人员已经发明了晶体管和激光器,以及计算机图形学、语音合成和语音识别方面的许多创新。

为 Multics 让路

Multics 已经开始充满希望,尽管乍一看它的目标有点含糊不清,而且有点奢侈。

一项涉及 GE、麻省理工学院和贝尔实验室的合作,Multics 被推广为一个项目,该项目将把计算能力变成像电力或电话服务一样容易获得的东西。贝尔实验室的研究人员将在他们的办公室安装一个插孔,将他们的终端连接到 Multics 大型机,他们将能够实时访问大型机的全部资源。他们还可以在大型机上存储文件并随意检索它们。

如果所有这些听起来非常微不足道,那就证明了这些功能迅速变得多么重要——即使对于简单的计算任务也是如此。但是,当 Multics 在 60 年代初最初构想时,文件存储是一个新事物,“分时”(或多个用户共享对单台计算机资源的访问的能力)只是实验性的,而不是在生产环境中完成的拥有大量用户。

1960 年代初期的计算机一次一个地运行程序。贝尔实验室的一名研究人员会编写一个程序,将其转换为计算机接受的任何形式的输入(打孔卡、纸带或真正精美机器的磁介质),然后将其放在计算机中心。计算机操作员将程序排队,运行它,然后将打印的结果和原始程序提供给研究人员。

如果代码中有错误,打印打孔卡,将它们带到计算机中心,然后等待结果的麻烦会得到打印输出的奖励,上面写着“语法错误”。也许您还可以获得线路参考或其他一些可能有用的信息。

随着程序变得越来越复杂,这种调试代码的方法变得比以前更加令人沮丧。但没有一家公司或大学,甚至贝尔实验室,能够为每个研究人员购买一台大型机——1965 年,贝尔实验室用来开发 Multics 的 GE 645 的成本几乎与波音 737 一样多。

因此,人们对时间共享产生了广泛的兴趣,它允许多个研究人员同时在大型机上运行程序,并在他们的远程终端上立即获得结果。通过分时,程序不会打印在打孔卡上,而是写入并存储在大型机上。理论上,研究人员可以在不离开办公室的情况下即时编写、编辑和运行他们的程序。Multics 的构想就是为了这个目标。它于 1964 年启动,最初的交付期限为 1967 年。

麻省理工学院已经开发并使用了一个名为 CTSS 的原始分时系统,它将提供规范,GE 将提供硬件,GE 和贝尔实验室将分担编程任务。

阅读
本文由用户上传,如有侵权请联系删除!

撰写回复
更多知识