前言
说起来UNIX 或者Linux 多数人都多少会知道点,如果是IT行业可能了解的更多。但是真正说起他们的起源我相信没有太多人能说的清楚,今天咱们就聊聊这几位看着眼熟又不认识的几位仁兄。
UNIX
先说UNIX吧,话说还是1970年的时候,在AT&T的贝尔实验室有个哥们叫Ken Thompson就是下面这位仁兄(后人称之为UNIX之父)
把自己写的一个叫“星际旅行”的程序移植到一台PDP-7的计算机上,因为当时只支持两个使用者,所以就戏称为“Multiplexed Information and Computing Service”,缩写为“UNIXCS",后来根据发音就叫UNIX了,所以说1970年为UNIX的诞生年。
1974年,这哥们发表了一篇文章,结果各大公司和学校都很感兴趣,争着问他要代码。这大兄弟也大方,把当是的UNIX 威武(V5) 就直接公布了。学校拿了代码各种教学研究,公司拿了代码也开始在机器上搞起来,于是就有了后面的学院派和商业派之分。
1979年, AT&T 发现自己公司员工开发出来这玩意现在这么火,可不能随便让别人拿走了,于是就对各大高校发话了,对不起了各位,从UNIX V7以后你们不能用我们的代码了,拿来教学也不中。老教授表示不服气,指着AT&T说:”你行,V7 不让用我们就用V6呗“于是乎到了下一年
1980年,在学校老教授和同学们的努力下,发展出来了一个新的分支,Berkeley的BSD UNIX;另外当然是AT&T为首的商业化分支。详细分化看后面的图。
Berkeley分支均为非商业化分支,包括苹果mac OS IOS
其他的为商业化分支
GNU GNU/Linux Linux
什么是GNU? GNU is Not UNIX. what is fuc? 什么鬼?看不明白就对了。这本身就一个外国人的幽默,就好像一个模仿赵本山的人说,什么是我? 我不是赵本山。 啥意思,意思就是说虽然我不是赵本山,但是我和赵本山很像。这个例子有点不太恰当,是因为GNU并不是模仿UNIX,他只是按照UNIX的标准接口去开发另外一个操作系统。所以GNU你可以理解为一个操作系统,和Window和Unix一样。
1971 有个哥们叫 Richard Stallman(自由软件之父) 兄弟在MIT的自由软件小组工作,当时大家开发软件都是可以自由复制安装,自由修改代码,自由合作。但是到了80年代,世道变了,大家都想拿软件赚钱,以前的自由不复存在,兄弟很郁闷,下个软件还要收费,COPY代码都不行,很不爽。
1983年,一怒之下的Richard Stallman站出来说话了,我要搞个项目,名字就叫GNU,这是个完全自由的操作系统,里面的软件咱们大家一起写,都是免费,并且可以随便玩的,别跟我BB,你没听错,我们要的就是自由的感觉,大家都赶紧来跟我high。
1985年 Richard Stallman 兄弟又成立了自由软件基金会(Free Software Foundation),搞项目光靠大家主动贡献也不行,有些东西还需要请人写,没钱还是不行啊,基金会成立就是为了拉赞助,搞钱。
1989年 Richard Stallman发布了库通用许可证(Library General Public License,简称GPL),既然要搞自由也得有个规矩,不能由着性子乱搞,这个协议基本上就是说你如果用别人的代码,你的代码或者软件必须也开放给别人用。
1990年,整个系统搞的差不多了,什么编译器、编辑器、文本格式化软件、邮件软件、图形界面、应用库、游戏等等都搞好了,但是还缺了关键的一个东西,内核。这东西管理着整个机器硬件的资源可不是拉磨容易写出来,从GNU开始到目前为止,GNU的内核Hurd还没弄出来,大伙表示很郁闷。
1991年,一个叫Linus Torvalds的荷兰天才黑客少年(Linux之父),因为懒,懒,懒,所以随手写了一个磁盘驱动和文件系统,这就成为了今后Linux的内核雏形。
1992年,天才少年在自由之父的感召下,毫不犹豫的把自己写的Linux内核加入了GNU计划,于是乎,呼啦一下,GNU系统终于完成了。
也许是因为Linux内核比较重要,所以大家把GNU 系统就叫做GNU/Linux系统,他是自由软件和Linux内核的合体。 后来慢慢的人们把GNU/Linux以及各种发行版本都统称为Linux。