神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:你或许不知道,安卓和iOS两个充满竞争的操作系统,其实是源自于同一个系统——Unix,直到现在,还在为这两个操作系统提供着支撑力量。
今年,正是Unix诞生的50周年。当时,这个几乎驱动着所有智能手机的操作系统,其实是一个项目失败的产物,开发者这个系统的程序员,并没有的获得支持,只能够使用别人闲置下来不用的计算机。
从一个失败的项目,到无处不在,Unix诞生的早期,到底发生了什么?Ars Technica近日发表了一篇长文,复盘了这一项目的发展历程,文章原题为“Unix at 50: How the OS that powered smartphones started from failure”,作者是RICHARD JENSEN,文章由36氪神译局编译,希望能够为你带来启发。
注:此文较长,分三部分刊出,此为第三部分。
Unix 50年:安卓和iOS操作系统,源自于同一个失败的项目(一)
Unix 50年:安卓和iOS操作系统,源自于同一个失败的项目(二)
尽管实验室没有密切关注研究人员什么时候上下班,但在那个夏天,凯纳迪尽了最大努力保持正常的工作时间。但汤普森和里奇则稍微放松了一些。
他们俩的工作时间都极不规律。汤普森告诉 Unix Oral history 项目,他当时把每天当做27个小时来工作,这使他与其他人的每天24小时工作不同步。
里奇只是一个传统的夜猫子。
因此,这三位开发者聚在一起的时间大多是在午餐时间,甚至在那个时候,有时凯纳迪会打电话到汤普森和里奇家里,提醒他们贝尔实验室的自助餐厅什么时候关门。
在自助餐厅,三位开发者讨论了这个新操作系统的文件管理器的基本原理,几乎没有注意到员工清理他们周围的午餐垃圾。
他们还在计算机科学部门的办公室里研究这个系统。 麦克罗伊的办公室就在凯纳迪对面,他记得那年夏天,他们总是围着一块黑板工作。
最终,当他们在概念上或多或少地完善了文件管理系统后,就到了真正编写代码的时候了。这三个人的字写得都很糟糕,他们决定使用实验室的口述服务。
其中一人打电话给实验室分机,将整个代码库录入磁带录音机。 因此,一些身份不明的办公室工作人员或工作人员很快就遇到了一个麻烦的任务,试图将其转换成打印用的文件。
当然,这个过程并不完美。 在各种各样的错误中,“ inode”作为“ eye node”返回,但是输出仍然被看作是对各种涂鸦的明显改进。
1969年8月,汤普森的妻子和儿子去伯克利度假三周,看望家人。汤普森决定用这段时间编写一个汇编程序、一个文件编辑器和一个管理 PDP-7处理器的内核。
这将使这一组文件管理器成为一个成熟的操作系统。 他慷慨地为每项任务分配了一个星期的时间。
汤普森差不多按时完成了他的任务。 到了9月,贝尔实验室的计算机科学部门已经有了一个运行在PDP-7上的操作系统,而且不是 Multics。
PDP-7当时没有磁带驱动器或硬盘驱动器,系统是通过向其输入一个打孔纸来“启动”。 由于没有附加的驱动器,他们辛苦开发的文件系统不得不再等待一段时间面世,但他们有一个良好的多用户分时环境可以运行。
这个团队还是觉得这是一项成就,并将其操作系统命名为“UNICS ”,即“联合信息与计算系统” (UNIplexed Information and Computing System)的缩写。
第七版 Unix 是从1979年开始的 Unix 操作系统的重要早期版本。这是在AT & T将 Unix 商业化之前,贝尔实验室推广的最后一个版本。
那年11月,汤普森进行述职报告中,包含了对他构建的这个新操作系统的描述。
到了1970年夏天,这个团队已经在 PDP-7上安装了一个磁带驱动器,而且他们蓬勃发展的操作系统也为程序员提供了越来越多的工具选择(其中一些至今仍然存在)。
但是,尽管取得了成功,汤普森、卡纳迪和里奇在申请全新的计算机时,仍然被实验室管理层拒绝。
直到1971年末,计算机科学系才拥有了一台真正现代化的计算机。 在过去一年左右的时间里,Unix 团队已经开发了几个工具来自动格式化文本文件以便打印。
他们这样做是为了简化他们所钟爱的项目的文档制作,但是他们的工具传播出去了了,被顶层其他地方的几个研究人员使用。
与此同时,实验室的法律部门准备在一个名为“ AstroText”的大型主机程序上花一大笔钱。
听到这个风声,Unix 的工作人员意识到他们只需要一点点努力,就可以升级他们自己编写的工具,使之成为法律部门可以用来准备专利申请的东西。
这时,计算机科学部门提出了实验室管理购买 DEC PDP-11,用于文档生产。马克斯·马修斯提出从声学部门的预算中来买。
最后,管理层让步了,买了一台电脑给 Unix 团队使用。
最终,关于这个操作系统的消息泄露了出去,拥有PDP-11的企业和机构开始与贝尔实验室联系,想购买他们的新操作系统。 这家实验室同意免费提供副本,只收取邮资和存储费用。
就这样,他们创造了科技的历史。
到了20世纪70年代末,这个操作系统的一个副本传到了加州大学伯克利分校,在20世纪80年代早期,那里的程序员把它改装成可以在PC上运行。
他们开发的 Unix 版本,也就是BSD操作系统,被 NeXT 的开发人员选中。
NeXT 是史蒂夫 · 乔布斯在1985年离开苹果公司后创立的公司,当苹果在1996年收购 NeXT 时,BSD 成为了 OS X和 iOS 的起点。
Unix 的免费发行在1984年停止,当时美国政府拆分AT & T,之前禁止该公司从贝尔实验室的许多发明中获利的协议也到期了。
然而,Unix 社区已经习惯了免费软件,所以当得知 AT & T 将很快对 Unix 的所有副本收费,并禁止修改源代码时,理查德·斯托曼(Richard Stallman)和其他公司开始使用免费分发给任何人的软件重新创建 Unix,他们称他们的项目为“ GNU”,而且对修改没有任何限制。
1991年,芬兰赫尔辛基的一名大学生林纳斯·托瓦兹(Linus Torvalds)使用几个 GNU 工具,编写了一个可以在 PC上运行的操作系统内核。
他的软件,最终被称为 Linux,在2004年成为 Android 操作系统的基础。
Unix 50年:安卓和iOS操作系统,源自于同一个失败的项目(一)
Unix 50年:安卓和iOS操作系统,源自于同一个失败的项目(二)
译者:尺度。