曹逸君 Blog

9月 28, 2014

Linux 历史简介

Linux 历史简介

关于Linux的起源以及Linus的故事。

(本文为谷歌营全员学习计划Linux教学的一部分)

关于Linux的详细历史可以看<Just for Fun> Linus自传。

起因

大概是1991年,芬兰大学生Linus Torvalds同学觉得Unix太特么贵了。自己买不起,自己从小就倒腾各种电子产品,敲代码,就自己动手花了几个月仿照Unix写了个操作系统。

并通过邮件列表和BBS发布了出去。由于十分的不完善,Linus同学把它标记为0.01版。

一开始长这样。

linux_0.01

早期所有操作系统的界面都是这幅样子。你输入一个命令进去。比如ls,回车。它就返回当前目录下所有文件。

linux_0.01_commands

这些都是0.01所支持的命令。其实就是一个个小程序。

whoami 这个很有意思,返回当前的用户名。【比较严谨的黑客电影里有时会出现这个命令 $whoami root root是Linux自带的最高权限用户】

*nix系统设计理念

这种一个个小程序只做一小部分事情,然后通过组合来完成更复杂事情的思想是C语言创始人Dennis Ritchie,在贝尔实验室经历过一次想做大而全操作系统的失败后所做的Unix建立的思想。

*nix中让每个程序相互合作的方式是标准输入输出和管道

比如查看当前进程的命令是ps,但我想找出某个进程的信息,就可以通过grep[类似于搜索的命令]来搜索。像这样: ps -ef|grep python

Linux快速的发展

恩,回到正题,Linus同学的Linux 0.01 虽然是抄袭Unix,也很不完善,但是它诸多碉堡的地方比如支持多线程。当时大家用的Minix【Unix的一支】一次只能运行一个程序,并且,任何程序出错,整个操作系统都会崩溃得重启。

Linus本来以为这个自己做的小项目只会维持几个月。但外界热情的反馈和Linux的快速成长都让他停不下来。

到了1992年,Linux已经比Minix更受欢迎。这搞得Minix作者很不爽,在网上跟Linus吵嘴架,后来Linus吵最架的能力逐年高升,经常在邮件列表里爆别人菊花。

后面的发展我就不细说了。基本上是Unix在打官司、微软和苹果搞起图形,IBM由于硬件厂商体质操作系统层面由微软靠商业操作占领PC端,Mac封闭式体系占有率不及微软[主要初期不兼容当时巨头IBM的PC],Linux成为全球最大开源合作项目,由于图形界面发展慢。不得PC端。占领了大块服务器份额。

开源的思想

开源通常意味着 1.使用它不用付费或受任何其他限制。 2.你可以得到它的源码,并做任意更改。重新发布。 所以你也可以找个发行版改个名字重新发布。当然这种程度的改动只会被其他人嘲笑而不会有人去使用它。

开源也有多种不同的协议版本。Linux所使用的GPL最狠。除了可以对程序+源码想干嘛干嘛外,如果你写的程序中含有使用GPL协议的代码,你的程序也必须使用GPL协议。

gpl_mit.jpg

不必详细记住。知道GPL最严格。MIT最最随意即可

正是由于开源的自由主义理念,才得以让Linux在全球最顶尖的Coders&Hackers维护更新下茁壮成长,发展出庞大的家族以及走在业界最前列。比如OS X上一个版本Mavericks新加的内存压缩技术。在这四年前Linux中就出现了。还有更碉堡的CPU、内存热插拔。

至今Linux的内核仍在以每天都有新代码提交的速度更新。https://github.com/torvalds/linux [注:linux内核是后来迁入github的。linux的历史可要比github早好多。事实上git就是Linux们为了方便如此大规模的协同开发而开发的。]

Written with StackEdit.