嗨,大家好,我叫Linux,是一名计算机的“大管家”,日常工作是指挥CPU、内存、硬盘、键盘、鼠标、显示器等设备有条不紊地运行起来。形象地讲,我是底层硬件与用户沟通的桥梁。用户可以通过我输入命令,我负责对命令进行解释,驱动硬件设备,实现用户要求。


Linux诞生记_java


我出生于1991年,是一名标准的90后,我爸是芬兰一位名不见经传的研究生Linus Torvalds。在我3岁(1994年)的时候,我爸准备正式带我出去见见世面,也就是发表Linux正式核心1.0,于是给我造了一个人设——一只名为Tux的企鹅


Linux诞生记_java_02

▲ 诺,就是这个样子


我问我爸为啥给我起这个人设,他跟我说:「企鹅代表南极,而南极又是全世界共有的一块陆地,不属于任何国家。也就是说Linux不属于任何商业公司,是全人类每个人都可以分享的」。


Linux诞生记_java_03

▲ 林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969年~ )著名的电脑程序员、黑客,Linux内核的发明人及该计划的合作者


(哼!我爸这个大猪蹄子)说实话,我半点都不信我爸说的话,我认为我的出生是一个意外。至于为什么呢?这要追溯到很久以前:


大概在我爷爷那个年代,有一个传奇人物——UNIX,UNIX他爸是AT&T贝尔实验室的。


▲ UNIX


对,就是那个研发出电话的实验室,因此UNIX的学习成绩非常优秀。后来,UNIX的源代码被各个大学和实验室采用。作为代价,这些机构需要向UNIX他爸(也就是AT&T贝尔实验室)缴纳一定的许可证费用。


有一天,加州大学伯克利分校的一个小组照着UNIX的模式也培养了一个学生——伯克利UNIX(Berkeley UNIX),大名BSD


▲ 伯克利UNIX(Berkeley UNIX)


后来UNIX名气越来越大,UNIX他爸向各大机构收取的许可证费用也越来越高,伯克利认为发展BSD的时机到了,就开始将BSD身上与AT&T有关的代码彻底摒除,对外宣称:


以后大家用我们家BSD的代码就可以了,只要承认这些成果是我们Berkeley的即可。


这种模式被人们称为:自由可再发行的代码,即自由使用、自由学习和修改、自由分发、自由创建衍生版。


为了更好地交代我的出生,我还要提到一个人——Minix,她生于1987年,跟Unix有点像,被人称为一种基于微内核架构的类Unix计算机操作系统。Minix的一生可以说是完全在象牙塔里度过。


▲ Minix操作界面


因为早期很多大学机构都在使用Unix,但是后来Unix他爸改变了政策,决定将Unix源代码私有化,也就是在大学中不再能使用Unix源代码。教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与Unix兼容的操作系统,以避免版权上的争议。并以小型Unix(mini-Unix)命名,简称Minix。


后来,有使用者发现了Minix的漏洞,建议用补丁完善,但是被Minix的创造者拒绝,以至于保持了其最原始的风范。(当然,这是后话)


而我爸,起初买了一台属于他自己的电脑,当时人们使用的大多是DOS操作系统,他的电脑也不例外。为了满足他日常读写新闻和邮件的需求,于是他想要开发一个属于自己的操作系统。



由于我爸并不喜欢自己电脑上的DOS系统,他看上了隔壁家乖巧的姐姐——Minix。所以他就想:


既然Minix这么棒、这么稳定,那我何不将它移植到个人计算机上呢?


于是我爸读取了Unix核心,并且去除较为繁复的核心程序,将它改写成可以适用于一般个人计算机的x86系统上面。然后,我就是在他这样误打误撞下才诞生的。随后我爸慷慨地把源代码上传到互联网上,并把这个操作系统命名为“Linux”,意思是“Linus的Minix”。


就问:这样赤裸裸地喜欢人家Minix,把我Linux放在何地?


这还不算,我一出门大家就悄悄议论:哇,Linux和Unix好像


Linux诞生记_java_04

▲ 像个锤子


也不得不承认,我确实是Unix的重新实现。因为我爸在创造我的时候,借鉴了Unix的技术和用户界面。另一方面,我爸在创造我的时候也融入了很多独创的技术进行改进,因此,从开发形式和最终产生的源代码来看,我并不属于BSD和AT&T风格的Unix中的任何一种。严格来说,我是有别于Unix的另一种操作系统。


当然,虽然我一直吐槽我爸是个大猪蹄子,但是,不得不说,他在培养方式上真的是独出心裁。从我诞生之初,我爸就把我放到了网上,并发布了一个帖子,大概是:


我写了一个操作系统的内核,但是还不够完善,你们可以随意使用并且不收费,也可以帮助我一起修改。


帖子发出后引起了强烈的反响,大家对这个产生了浓烈的兴趣。


至于为何大家对“培养”我产生如此强烈的兴趣,不得不再提到一个人——Richard Stallman(自由软件之父),他认为软件是全人类的智慧结晶,不应该为某一家公司服务。


Linux诞生记_java_05

▲ 一起来加入GUN运动吧


在八十年代,Richard Stallman发起了自由软件运动,即GUN运动,并发布了GPL协议,这得到了很多人的认同。 而我是遵循GPL协议的,这样一来,爱好编程的“爸爸们”在研究我的时候就不至于惹上官司。


Linux诞生记_java_06


这使得我的成长在互联网上所有技术人员的注视和关怀下度过,可以说是吃着百家饭长大。


于是,超多的人向社区贡献源代码,而且不向我们索取酬劳,同时他们也可以使用我和我的成果。由此,造成了一种全球性的文化现象,他们把这种文化叫做——开源


因此,Linux有很多版本,但是严格说来,Linux实际上只定义了一个操作系统内核,这个内核由kernel.org 负责维护。不同的企业和组织在此基础上开发了一系列辅助软件,打包发布自己的“发行版本”。


各种发行版本可以“非常不同”,却是建立在同一个基础之上的。正是由于“爸爸们”不断地努力和改进,也使得我在某种程度上取得了不凡的成绩。值得骄傲的是,2011年,世界排名前500的超级计算机中,有92.4%(462台)的计算机都采用了我作为操作系统。


Linux诞生记_java_07

▲ 超级计算机


为何我能够取得如此傲人的成绩呢?这跟我身上的独特气质——开源有很大关系。


与占领操作系统大半江山的Windows相比,我的源代码在互联网是可以公开获得的,当使用者发现漏洞后,就可以直接从源代码层面进行漏洞修补 。因此, 有很多需要代码安全审计的用户喜欢选择我,我现在已经在全球范围内受到了热烈追捧。


怎么样,我是不是很厉害?在此,不得不衷心感谢我的亲爸Linus Torvalds,虽然我老说你是个大猪蹄子,但是不得不说,你为人类创造了一个操作系统界的奇迹。

Linux诞生记_java_08