Linux操作系统目前使用非常的广泛,对开发者来说,了解Unix和Linux的发展历史也是很有必要的,本篇文章就是介绍下Unix和Linux的发展历史。
Unix介绍
在计算机、电信行业的发展过程中,有个大名鼎鼎的名字,贝尔实验室。没错,最早的unix就是贝尔实验室发明的,在1969 年,Ken Thompson用汇编语言写了第一个版本的Unix。大家知道汇编语言是依赖硬件的,也就是cpu架构,移植性很差,因此第一个版本的Unix只能运行在特定的计算机。
1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言。这是一个历史性的时刻,C语言诞生了。之后大神们用C语言重写了Unix,大约90%的代码是用C语言实现,剩下10%的代码用汇编语言来实现,这样Unix就具有了移植性。
在此之后,由于Unix源码可以与它的拥有者AT&T通过协议获得许可证,因此Unix获得了很大的发展,各家厂商、包括大学都开始对Unix做修改,其中一个非常出名的Unix分支就诞生了。1977年,Berkeley大学诞生了伯克利软件发行版,或者叫BSD。于此同时,商业Unix也获得了很大的发展,代表性的有HP-UX、IBM的AIX、Sun的Solaris、Sequent和Xenix。
通过上面可以看出Unix的大发展会带来一个问题,就是标准化问题。各家厂商、大学开发的Unix的兼容性出现了问题。这时,在1988年POSIX标准诞生了,POSIX对操作系统的接口提供规范,包括必须实现接口和可选实现接口。这样就增加了各Unix的兼容性。大约在这个时候,AT&T和Sun发布了SystemVRelease4(SVR4),这是许多商业厂商采用的版本。
到此为止,可以看到Unix出现了两个大分支,BSD以及System V。BSD发展的很快,目前主要有三个分支,这包括FreeBSD、OpenBSD和NetBSD。而我们比较熟悉的MacOS苹果系统,也是基于BSD许可证开发的。
Linux介绍
介绍Linux不得不介绍GNU,其是GNU's not Unix的缩写,GUN是一个项目,是由创办 FSF(Free Software Foundation)基金会的Richard Stallman在1984 年发起的。GNU的目标是希望创建一个作为替代私有Unix系统的真正免费的和开源的系统。当时GNU采取的策略是先开发实用工具和程序,其开发了很多大名鼎鼎的工具,例如GCC,EMAC、Bash Shell、GLIBC。但是GNU当时还没有可运行的操作系统内核,因此这些软件当时只能运行在Unix上。虽然它有一个内核项目正在进行,但结果证实开展起来很困难,这样没有内核,免费并开源操作系统的梦想就无法实现。
这时,1991 年,芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了Linux 内核,其基于POSIX标准来实现的;可以看到Linux和GNU天生一堆,因为Linus是用了GNU的软件开发的Linux。
至此,Linux诞生了。由于Linux是开源免费的,所以Linux得到了极大的发展。
总结Unix Linux
由于POSIX的标准、兼容性,所以Unix和Linux的使用基本一致,软件也基本兼容。
在过去十年中随着这两个社区的日渐成熟,Linux中许多进步已经在Unix世界中被采用了。许多GNU实用程序已经被作为Unix系统的附属而提供,他们提供了开发人员需要的来自不属于Unix的GNU程序的功能。例如,IBM的AIX为Linux应用程序提供了一个AIX工具箱,其中包含数百个GNU软件包(如Bash、GCC、OpenLDAP和许多其他软件包),这些软件包可添加到AIX安装中以简化基于Linux和基于Unix的AIX系统之间的迁移。
私有的Unix仍然存在,并且状况不错,随着许多主流供应商承诺支持其当前版本知道2020年,不言而喻,在可预见的未来Unix依然会出现。此外,Unix树的BSD分支是开源的,而NetBSD、OpenBSD和FreeBSD都有强大的用户群和开源社区,它们可能不像Linux那样可见或活跃,但在近期的服务器份额报告中保持不变,维持在像Web服务等领域以远高于私有Unix数量之上。