Unix历史及相关概念回顾

欢迎来到Unix的世界

很多人都用了很多年的Unix(其实更熟悉的是叫Linux),也接触到Unix世界中的各种概念,比如GCC、GNU、BSD、POSIX、GPL等等,也大都知道一些传奇的如雷贯耳的人物,比如Ken Thompson、Dennis Ritchie、Linus Torvalds、Richard Stallman等。但是这些概念是怎么发展和相互关联的,以及这些人物是怎么书写历史传奇的,相信能说清楚的人并不多。这里就专门汇总一下这些信息,供大家参考。

另外,了解这些历史本身也是非常有趣的。看起来各种杂乱无章、琐碎纷繁的点点滴滴,最后还是挡不住历史的潮流,演化出了如今精彩纷呈的现实世界(包括有名的Mac OS、IOS、Android等),而这和人类历史的发展竟如此相像~

Unix

下图是对Unit的历史的一个简单汇总,参考了coolshell上的一篇文章UNIX 40年:UNIX年鉴。如果对其详细历史有兴趣的话,可以去这里看看Unix History(那个白色的横条是一个很残暴的PDF文件,作者牛逼到爆)

image-20190131140627679

上图中有几个重要信息:

BSD诞生于1978年,是基于其在1974年收到的Unit的源码拷贝,后面很多重要的发布版本都是源于BSD

1988年为了统一Unit的标准乱象,IEEE提出了POSIX标准

1991年,Linux诞生,但其本身只是一个操作系统的内核,不包含任何的配套软件

1992年,Linux内核被整合近了GNU,GNU+Linux内核,这才是大家常用的Linux系统,实际上应该叫GNU/Linux

2001年,Mac OS诞生,其基于Mach操作系统,Mach系统又是基于BSD,但是替换了其中的Unix内核

Linux

下面的发展简史摘自Linux发展历史,做了少部分改动

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。。

1981 年IBM公司推出微型计算机IBM PC

1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境

1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell软件了

1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(此时还不存在Linux这个名称)

1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生

1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右

1994年3月,Linux1.0发布,代码量17万行,当时是按照完全***免费的协议发布,随后正式采用GPL协议

1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用

1998年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并非是什么***哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动

2001年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能

2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化

其系统的进化是这样的:

1969.9 UNICS(Unix)

1971.11 Unix Time Sharing System Edition Version V1

1972.6 V2 -> 1973.2 V3 ->1973.11 V4 -> 1974.6 V5 -> 1975 V6 -> 1979 V7

1987 Minix V1.0发布,基于Unit Time Sharing System V7

1991.8.1 Linux 0.0.1发布,基于Minix系统

GNU

GNU(GNU's Not Unix)项目是1984年由Richard Stallman发起的一个开源项目,该项目的目标是开发出一个完整的类Unix系统,其源代码能够不受限制地被修改和传播。GNU项目开发出了一个包含Unix操作系统所有的主要部件的环境,除了内核(内核是由Linux项目独立发展而来的)。GNU环境包括EMACS编辑器、GCC编译器、GDB调试器、汇编器、链接器、处理二进制文件的工具以及其他一些部件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggxpz.html