Linux的发展历史—UNIX和Minix

作者: 郭子渝 分类: 红帽认证 发布时间: 2020-02-25 16:11 本文共3042个字,阅读需要8分钟。

一、前言

作为一个Linuxer,对Unix和Linux的了解是顺理成章的事情,这可以促进对GNU/Linux的理解。在接触Linux的过程中,大家可能会有下面的疑问:

1、Linux这个产品是属于哪一个公司或者机构?
2、为何Linux有那么多的发行版本?我们应该选择哪一种版本
3、Unix和Linux的关系为何?


本文和技术无关,主要想整理一些Unix的历史和Linux的演化

二、Unix的诞生

美国电话电报公司(AT&T)是一家美国电信公司,成立于1877年,公司规模巨大,长期垄断美国长途和本地电话市场,1984年,美国司法部依据《反托拉斯法》拆分制裁AT&T,分拆出一个继承了母公司名称的新AT&T公司(专营长途电话业务)和七个本地电话公司(即“贝尔七兄弟”:贝尔实验室、商业市场集团、数据系统公司 、通用市场集团 、网络运营集团、网络系统集团、技术系统集团、公司国际集团)

Linux的发展历史—UNIX和Minix-郭子渝的博客
AT&T集团的Logo——郭子渝的博客

1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,要求同时支持 300 个终端访问主机,开发途中,Bell实验室里面的一个叫Ken Thompson,为multics研发了一个游戏 Space Travel(太空旅行)。后来,Multics系统的功能基本实现,GE和BELL实验室就退出了这个研究,由于Bell实验室的退出,Ken无法再免费使用Multics;为此他也是懊恼不已就在实验室游荡起来。

1969年,Ken在Bell实验室的一个角落找到了一台PDP-4的主机,并以此来研究他的Space Trave,但是Space Trave 原本是安装在multics上的,所以又得不研发了一个内核来运行他的Space Trave,为此,这位宅男程序员Ken Thompson(C语言之父)使用汇编语言开发了Unix,并将它运行在DEC公司的PDP-7的小型机上,此时已经是1970年,所以1970年被定义为计算机的元年。但是,因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 所以“太空旅游”依旧不能发布,只能在Ken的小型机上使用;

1971年,同样酷爱Space Travel的Dennis M.Ritchie为了能早点儿玩上游戏,加入了Thompson的开发项目,合作开发Unix。他的主要工作是改造B语言,使其更成熟。

Linux的发展历史—UNIX和Minix-郭子渝的博客
Unix之父(左)和C语言之父(右)

1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了UNIX。

1975年以Dennis Ritchie为第一署名和Ken Thompson为第二署名,在美国The Communications of the ACM发表了论文《The UNIX Time-Sharing System》。并且Ritchie 于 1983 年和 Ken Thompson 一同获得了图灵奖(Turing Award),在 1998 年克林顿时代获得了美国国家技术奖(the National Medal of Technology)

这是Unix第一次与外界取得接触,引起各界的广泛讨论,并逐渐流行起来,各大学、公司对也对其进行各种各样的改进和扩展,衍生出多种版本,并形成两大流派,一支是商业派,另一支是学院派。

商业派:以AT&T公司为代表,不公开源码,视源代码为商业机密,甚至不准大学使用Unix源代码,商业派的发展有点混乱,都是套路,这里整理了一部分,由于不是Linux历史的重点,有兴趣的了解下,也可以直接跳过。


 

苹果和UNIX

1984年System 1发布直接来源是BSD,该系统首次实现GUI

1985年9月乔布斯被迫离开苹果

1988年苹果起诉Windows抄袭System界面

1996年乔布斯回归苹果

1997年乔布斯与盖茨合解

1997年System 7.6开始更名为Mac OS

微软和UNIX

1975年盖茨从哈佛退学创立微软

1979年微软从AT&T获取授权并开发了运行于intel平台的Xenix

1980年微软买下QDOS改名MSDOS应付了与IBM的合作协议

1985年6月看到操作系统的潜力的IBM欲借与微软共同开发OS/2之名将操作系统把控回自己手中

1985年11月基于MSDOS的Windows1.0发布

1987年微软将Xenix出售给SCO应付IBM的同时发力Windows3.0

1987年11月微软发布Windows2.0

1990年具有使用价值的Windows3.0发布

Android和UNIX

2002年Andy Rubin创立Android公司,Android系统基于Linux内核

2005年google收购Android公司

2008年Android1.1发布

附录一张图

 

Linux的发展历史—UNIX和Minix-郭子渝的博客
商业派分支关系图——郭子渝的博客

学院派有个响亮的名字——BSD,叫作“伯克利软件套件”(Berkeley Software Distribution),是加州大学伯克利分校开发的。BSD拥护软件开源,鼓励代码共享。当然,在BSD版本上开发商业版也是允许的,比如苹果的操作系统也是基于BSD Unix,但苹果的系统是闭源的。

Unix进了伯克利之后,很受欢迎,被各色人等改进,逐渐得到完善和改进。伯克利大学也不把Unix归为己有,本着学术交流的目的,把Unix到处传播。他们也不收钱,谁想要给个磁带就帮你复制一份,地址远的把磁带连同运费一起寄过来,拷贝完了给寄回去。

伯克利大学的师生对Unix做了很大的修改,其中有个主要贡献者叫比尔·乔伊(Bill Joy),后来他创建了SUN公司,推出了著名的Java语言。

因为后面AT&T的政策改变,在Version  7 Unix(第七版Unix)推出之后,发布新的使用条款,将Unix源代码私有化,在大学中不再能使用Unix源代码。泰坦鲍姆(Tanenbaum)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与Unix兼容的操作系统,以避免版权上的争议。他以小型Unix(Mini-Unix)之意,将它称为Minix。

Minix最初发布于1987年,开放全部源代码给大学教学和研究工作。2000年重新改为BSD授权,成为自由和开放源码软件。Minix为全球注册商标。这个操作系统非常简单,代码只有12000行,除了启动的部份以汇编语言编写以外,其他大部份都是纯粹用C语言编写。分为:内核、内存管理及档案管理三部份。

如果想了解类Unix系统的内部工作情况,学生可以在他们自己的电脑上运行Minix。这个时候,我们的主角——Linux系统的缔造者:Linuz Torvalds出现了!!!

Linuz Torvalds不喜欢他电脑上的MS-DOS操作系统,安装了Minix,作为一个操作系统,MINIX 并不是优秀者,但它同时提供了用C语言和汇编语言写的系统源代码。这是第一次使得有抱负的程序员或hacker
能够阅读操作系统的源代码。Linuz就是以它为样本开发了原始的Linux内核。

但是,此时的Linux只是具有操作系统内核的勉强的雏形,他只是一个内核,没有与之匹配的软件,Linuz虽然很会写操作系统,但是,写应用软件的能力并不优秀。

想要继续了解Linux发展历史可以翻阅我的下一篇博文《Linux发展历史—-GNU

如果觉得我的文章对您有用,请订阅我的博客。您的支持将鼓励我继续创作!
Scroll Up