在内存只有24KB的电脑上写操作系统,是怎样的体验?

作者 | Aholiab 责编 | Carol
出品 | CSDN(ID:CSDNnews)

道生一,一生二,二生三,三生万物

——老子

 


与人类的历史相比,软件的历史很短,但如果给软件的历史找一个奇点,那这个奇点就是UNIX。

 

UNIX是什么?它是计算机历史上的一座丰碑、一种文化、一种哲学、一个传奇。它看不见,但万物中都有它的影子。如果没有它,谷歌、脸书、亚马逊可能不会存在;Office办公软件可能要晚很多年出现;苹果电脑也不再优雅,因为没有了MacOS;导航软件、智能家电、物联网也不会大大改变人们的生活;而如今人人离不开的手机,也会因缺少安卓系统而少了很多精彩。

 

自1969年在贝尔实验室的阁楼中诞生以来,UNIX的发展远远超出了创造者们的想象。本期视频就让我们走近UNIX的传奇,回到计算的「原点」。


点击视频更精彩👇👇

 


 

UNIX的起点

 


1969年的美国是传奇的一年,阿姆斯特朗在月球迈出了「人类的一大步」;胡士托音乐节上,50万人在阴雨中,被「和平、反战、博爱」点燃;在纽约一个叫「石墙」的酒吧里,同性恋者与警察的对抗,成为了世界同性恋权利运动的起点。在这样的背景下,一个运行在一台过时计算机上的操作系统的诞生,并没有引起人们的注意,但随着50年的发展,它却真正改变了世界。

 

上世纪60年代,麻省理工大学希望对当时的「兼容分时系统」CTSS进行升级,做一套向大众提供计算服务的信息处理工具,他们把这套系统命名为MULTICS。这么大的项目MIT一个人肯定搞不定,所以它拉上了通用电气和贝尔实验室。

 

可能是劲儿使大了,什么功能都想往MULTICS上加,导致它越来越复杂,最后变成了一个巨大的四不像。

 

眼看着MULTICS要跨,贝尔实验室率先决定退出这个项目。当时实验室里有六七个研究员参加了MULTICS项目,其中就包括肯·汤普森和丹尼斯·里奇。虽然项目不做了,但肯·汤普森仍然想继续研究操作系统,但一朝被蛇咬,实验室死活都不愿意给汤普森批预算,想买硬件更是没门。

 

无奈之下,汤普森只好找来一台没人用的PDP-7计算机来折腾,这款机器是1964年出产的,距离当时已经五年,早就过时了。它只有16KB内存,而且还是做电路设计用的。好在它的图形显示非常漂亮,汤普森就为它写了个「太空旅行」的游戏。

 

跟今天小巧的电脑不一样,PDP-7十分巨大,上面高耸着磁盘驱动器,里面是高速运转的磁盘,一不小心飞出来,可以把人瞬间KO。汤普森想这也太危险了,于是他写了个磁盘调度算法;为了测试这个算法,他还需要写一个批量写数据的程序。这个程序包含三个部分:a)用来创建代码的编辑器;b)将代码转化为机器语言的汇编器;c)再加上内核的外层。要是一周写一个,三周就能写完。一个操作系统的雏形基本就实现了。

 

巧的是,这个时候汤普森的老婆正好休假,要带着儿子去加州看公婆,来回正好三周。

 

1969年末,第一版有明确UNIX特征的系统已可以运行,UNIX正式诞生。

 

 

从PDP-7到PDP-10


 

虽然UNIX的雏形完成了,但第一版UNIX直到2年后的1971年才正式运行。这两年间汤普森和里奇对UNIX进行了持续的改进。但巧妇难为无米之炊,PDP-7根本带不动这么大的系统,当务之急是要换一台更好的计算机。

 

他们首先句瞄上了当时在高校和科研机构里最受欢迎的PDP-10,它的性能强大,当然价格也不菲,要50万美元。

 

贝尔实验室是个巨大的研究机构,每年都会产出大量的专利。专利申请的文档有严格的格式要求。现有的计算机系统无法满足,所以公司只能购买专门的硬件来处理,但有些格式仍然无法实现,例如「标出行号」等。

 

这不正是个机会吗,于是他们提议,可以买一台PDP-11,让UNIX小组在上面编写专门申请专利的程序。PDP-11是当时DEC新出的计算机,但售价只有PDP-10的十分之一,只要6.5万美元。

 

PDP-11到手后,汤普森和里奇将UNIX系统从之前的PDP-7上移植了过来。汤普森和里奇在新电脑上的工作卓有成效,他们白天写专利申请软件,晚上写UNIX系统。两项工作在同一台计算机上运行,互不干扰,一个小小的失误就会造成系统崩溃、文件丢失。领导也对他们的工作很满意,终于批准他们再买一台PDP-11用于UNIX的研发。

 

 

UNIX的重要里程碑


 

在UNIX的发展中,第六版和第七版是两个重要的里程碑,分别发布于1975年和1979年。这两个版本,一个是正式对外发布的版本;一个是后面遍地开花的「类UNIX系统」的分叉点。C语言和C++也是在这两个版本中诞生的。

 

第六版包含了众多令人惊叹的功能,如分层文件系统;可兼容的I/O;管道、正则表达式、grep等。但最引人注目的,还是C语言。

 

C语言的基础是汤普森发明的B语言,它跟Fortran很像。在PDP-11到货后,里奇发现它的操作单位是字节,而非之前的字(PDP-7的块单位是18位,约2字节)。B语言并不适合以字节为操作单位的PDP-11,所以开始着手对B语言进行改造,并为其编写了编译器。他给这个语言起名为NewB,NewB最后进化成了C。第6版UNIX的内核就是由9000行C语言和700行汇编语言写成的。

 

C语言让系统的维护和修改变得更加容易,也让其可以更方便地移植到不同架构的计算机,打破了操作系统互不兼容的局面。

 

1975年,汤普森带着UNIX第6版在加州大学伯克利分校教授「操作系统课程」,有个叫比尔·乔伊的研究生对这个系统很入迷,他修改了UNIX的本地版本,添加了一些自己的程序,包括vi编辑器和csh,以及至今仍在使用的TCP/IP网络接口。后来他修改的这一版本演化成了UNIX最重要的分支BSD(伯克利发行版)。

 

从第7版开始,UNIX有了两条发展线:官方商业版和BSD版


第7版是最后一个发布并被广泛使用的UNIX的版本。第8版、第9版分别于1985年、1986年问世;1989年,第10版完成,这是最后的科研版本,但没有对外发行。此后,肯·汤普森等人开始研发新的操作系统——Plan9,此项目创造了UTF-8编码,今天互联网上几乎所有文本都是用它来编码的。


第7版之所以有两条路线,一方面,是看到UNIX有利可图,贝尔实验室的母公司AT&T于1984年发行了其第一个商业版本SVR4抢占市场,并..了UNIX的商标;另一边BSD也不弱,先后对UNIX进行重构,用新的代码来重写相同的功能,还在1991年发布了不包含AT&T专利材料的UNIX版本,不但一举打赢了跟AT&T的专利官司,还缔造了庞大的BSD家族——FreeBSD、OpenBSD、NetBSD。就连苹果操作系统MacOS的核心Darwin所使用的NextSTEP也是BSD的衍生版本。

 

从80年末,到90年代初,AT&T围绕UNIX的版权之争旷日持久,一团乱麻。最后以网威买下了UNIX的版权,而不打算继续扯皮而告终。

 

在这场持续了十年的版权拉锯战中,还诞生了另外两个最著名的UNIX分叉——Minix和Linux。

 

如当初汤普森和里奇没有想到UNIX的成功一样,林纳斯也没想到自己做着玩的东西竟然能以商品化操作系统的形态,运行在今天全球数十亿台设备上。从谷歌、亚马逊、脸书的服务器;到汽车、电视、手机、Kindle的操作系统。


Linux早已成为了互联网基础设施的一部分。它的代码也从当年的几千行,发展到了今天的两千多万行。

 

 

 UNIX即出,则万物生


会不会有另一个UNIX横空出世,在几十年内占领世界?历史是否会重演?不太可能。但可以肯定的是,操作系统会变得更好,只是同时继续携带这大量的UNIX的基因。UNIX的成功技术固然重要,但更多来源于贝尔实验室伊甸园般的研发环境和一系列幸运的意外。

 

在一个远离喧嚣的园区中,一群天才没有生存压力、没有KPI、不需要做工作计划,可以年复一年的根据自己的兴趣研究一个课题。晶体管、太阳能电池、负反馈放大器、激光机、手机、通信卫星,都是那个时期的重要发明。从贝尔实验室中走出了9个诺贝尔奖。

 

更有甚者,喜欢飞行的汤普森,还带着一帮研究员成立了一个「1127空军」(1127:贝尔实验室计算科学研究中心内部编号)。在苏联解体后,他还专门跑去俄罗斯开了一次米格战斗机。

 

如今UNIX早已化为了DNA写进了互联网的基因中,他是「道」,一既出,则万物生。

点击视频更精彩👇👇

 



..·..·..


本视频内容基于《UNIX传奇》;作者:Brain Kernighan;中国工信出版集团、人民邮电出版社。


3月14日前,在本文下留言的小伙伴,抽取点赞最高的5个留言赠送本书每人一本,欢迎踊跃留言、点赞、转发! 

15 万个监控摄像头被黑,医院、学校、监狱都被看得一清二楚!

☞RedMonk 编程语言排行榜:JS持续霸榜,Dart 快速上升!

CTO 写的低级 Bug 再致网站被黑,CEO 的号都被盗了!

百度92年程序员因“篡改数据”被抓;运营商辟谣首批 5G 用户被抛弃;特斯拉回应上海工厂摄像头被入侵 | 极客头条

标签:
CSDNnews
CSDN 微信号:CSDNnews 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 刻纸图案可打印图片(儿童刻纸图案可打印图片)

    大家好,小丽今天来为大家解答刻纸图案可打印图片以下问题,儿童刻纸图案可打印图片很多人还不知道,现在让我们一起来看看吧!1、动漫人物本

  2. 2 u盘启动uefi和legacy的区别(u盘启动legacy和uefi什么区别)

    大家好,小伟今天来为大家解答u盘启动uefi和legacy的区别以下问题,u盘启动legacy和uefi什么区别很多人还不知道,现在让我们一起来看看吧!1、一、意

  3. 3 2024年 春季 第八周 色彩油画

    列位家长好,每周我都邑按照教室情形给孩子的各项示意进行打分。( 注重,打分只针对孩子自身在该节课的情形,不与前一节课和后一节课对照,

  4. 4 电脑屏幕文字识别软件(电脑的文字识别软件)

    大家好,小豪今天来为大家解答电脑屏幕文字识别软件以下问题,电脑的文字识别软件很多人还不知道,现在让我们一起来看看吧!1、ABBYY FineReade

  5. 5 风流邪神在都市(风流邪神在都市)

    大家好,小乐今天来为大家解答风流邪神在都市以下问题,风流邪神在都市很多人还不知道,现在让我们一起来看看吧!1、《风流邪神在都市》网络

  6. 6 个人创业:额度最高50万元,期限最长3年!

    本期介绍小我创业担保贷款及贴息1.适用对象在法定劳动岁数段内且未打点按月领取根基养老保险金手续、无不良信用记录的劳动者。2.申请前提(

  7. 7 完全变态和不完全变态(完全变态和不完全变态的相同点和不同点)

    大家好,小伟今天来为大家解答完全变态和不完全变态以下问题,完全变态和不完全变态的相同点和不同点很多人还不知道,现在让我们一起来看看

  8. 8 冀教版三年级英语课程同步辅导

    发布教育资讯,流传教育理念,展示教育功效,供应教授资源。竭诚为张家口教育成长办事,为学生、家长和恢弘教育工作者办事。因微信公号改版

Copyright 2024 优质自媒体,让大家了解更多图文资讯!