unix操作系统 《Just for fun》-Linux之父Linus的传奇人生
1969年12月28日,Linus 出生于芬兰赫尔辛基,他从小就是一个书呆子,矮个子,读书不错,但是不擅长运动,不善社交。
Linus的外公是赫尔辛基大学的统计学教授,1981年L
?Linus 的计算机启蒙 1969年12月28日,Linus 出生于芬兰赫尔辛基,他从小就是一个书呆子,矮个子,读书不错,但是不擅长运动,不善社交。 Linus的外公是赫尔辛基大学的统计学教授,1981年Linus 11岁的时候,外公买回来一台Commodore vic-20计算机,用来在家进行统计学计算。Linus 就帮助外公输入他事先写在纸上的basic程序。一开始是机械的输入外公写好的程序,后来是根据计算机的使用手册,把示例程序敲出来。 然后Linus 对计算机的兴趣就一发不可收拾,买了很多计算机的书和杂志,然年后发现计算机是机器语言来控制的,于是他开始研究机器语言编写程序,在外公过世后,这台计算机归了Linus 所用,从此,他开始了更疯狂的计算机学习(玩电脑)。 commodore vic-20 在家玩电脑,熬通宵是常有的事情,别的男孩是躲在被窝里悄悄的阅读《花花公子》,他则是假装睡着,等妈妈走开在坐到电脑跟前。因为玩的太沉迷,他妈妈会和她的一些记者朋友们说,Linus 是个很好养的小孩,只要把他和一台电脑关在一个黑乎乎的小屋里,再时不时的丢一点面条进去就行。 Linus 的程序员气质也是从小养成的,小学的时候学校当时有好些女生想要得到他这位数学天才的辅导,他却都不理不睬的。到中学的时候,带女孩子回家辅导数学,就真的辅导数学,女生的暗示都没有听懂。 这就是程序员的注孤生buff吧,女生哪有计算机有意思。 Linux操作系统的诞生 读高中的时候,因为数学特别好,拿了奖学金,加上日常攒钱和打工,Linus 花了2000美金,买了一台sinclairQL。 Linus 的操作系统之旅是从驱动程序开始的,他买了一个软盘控制器,但是自带的驱动程序特别差,所以他就自己写了一个,结果在写驱动的时候,发现了sinclair自带的Q-DOS操作系统的bug,于是他开始对操作系统进行反汇编,把操作系统的机器语言翻译为汇编语言,但是Q-DOS只有钩子机制可以加载自己的代码,系统本身不支持任何修改,这给年轻的Linus 埋下了做操作系统的种子。 Linus 充分诠释了什么叫我行我上 每个人都可能会遇到一本改变自己一生的书,对Linus 而言,改变他一生的书是安德鲁·坦尼鲍姆所著的《操作系统:设计与实现》。 这本书里阿姆斯特丹自由大学的教授坦尼鲍姆讨论了他为Unix操作系统编写的教学辅助工具-Minix操作系统。Minix是一个小型的Unix系统,是为了介绍Unix操作系统如何实现而做,也是最好入门Unix操作系统的代码示例。这本书让Linus 脱胎换骨,在操作系统领域达到了一个全新的高度,为他编写Linux解决了大量技术问题。 Linus 在学习Minix操作系统的过程中,对自带的终端仿真程序非常不满,于是自己写了一个。然后他不想在Minix系统里写,想要在无系统的裸硬件上写,来更好的理解计算机的执行原理。于是他需要知道cpu的工作原理,知道如何写入屏幕,如何读取键盘的输入,如何读写modem,这就是操作系统的雏形。Linus 用这个终端程序登入学校的电脑,查阅电子邮件,参加Minix新闻组的讨论,但是他还想上传和下载文件,于是还需要磁盘驱动程序和文件系统驱动,这是巨大的工作量。他的日程从此变成了编程-睡觉-编程-睡觉的循环,在过程中,这个终端越来越像操作系统,于是Linus 干脆决定把这个终端做成操作系统。 要做成操作系统,还有一个巨大的挑战,那就是要实现Posix规范,也就是Unix系统里的系统调用,有了这些系统api,其他Unix的程序就可以在这个操作系统上运行。Linus 在电子邮件新闻组里求助未果后,找到Sun公司Unix系统的用户手册,然后根据基本版的系统调用标准,开始自己实现这些功能。 同时他在电子邮件讨论组里的求助邮件,引起了赫尔辛基理工大学的助教阿里·克莱姆的注意,阿里为他提供了FTP站点,让Linus把他的操作系统代码可以共享出来。 Linus在开发到一定程度之后,决定把代码开源出去。在1991年9月17日,Linus把操作系统上传到FTP上,那个时候的Linux操作系统大概1w行左右,而现在Linux超过1000w行代码。 关于操作系统的命名,本来linus是打算叫freax,是发read,free,unix的合成词。但是阿里·莱姆克很讨厌这个名字,他挺喜欢另一个名字-Linux,也就是Linus的名字加上当时的操作系统命名习惯,结尾用x,Linux就此命名。 使用GPL许可,Linux的商业价值全面释放 在发布Linux后,Linus本打算就此洗手不干,因为已经完成了操作系统中最有意思的工作,对后续的内容失去了兴趣。但是意外发生了,他写的程序因为bug,覆盖了硬盘分区,整个Minix系统文件没了,他要做一个选择,重新安装Minix,或者放弃使用Minix,使用Linux。为了完善Linux系统,他决定以后就用自己的系统,需要什么Minix的功能,就自己写到Linux上,于是他继续不断更新。 与此同时,ftp上的Linux操作系统代码被人注意到,开始有人下载使用,并给与了很多反馈:新增功能,修复bug,支持新硬件等。Linus不断地满足这些用户的要求,其中最重要的是分页到磁盘功能,也就是现在操作系统必备的虚拟内存功能。虚拟内存可以在计算机内存不足的时候用硬盘来代替内存。这个程序让Linux名声鹊起,因为那个年代内存还是1mb,2mb的规格,非常捉襟见肘,为了在低配置的情况下运行程序,这个功能作用巨大,于是越来越多的人被这个功能吸引,来使用Linux。 在当时的极客圈,有个不成文的规定:下载软件,最好给软件作者汇上10美元。但是Linus拒绝了,虽然他手头很紧,有5000美金的学生贷款,分期的电脑费用也没有还完,但是他觉得自己是在其他人的基础上做出linux,而用户的反馈可以改良Linux,所以实在不好意思索要报酬。 但是Linus一时心血来潮,半开玩笑的向Linux用户索要明信片,结果几百张明信片从日本,新西兰,荷兰,美国等地蜂拥而至。这些全世界各地的用户反馈让Linus受到了极大的鼓舞,让他决定继续做下去。 Linux越来越流行,Linus面临着另一个挑战,就是软件版权协议。Linus因为个人的道德洁癖和想要更好的发展Linux,一直要求Linux免费且开源,在版权说明中要求任何人只要不用于出售,都可以免费使用Linux操作系统,而且对Linux做的改进必须开源。 但是慢慢的,有人开始把Linux下载到软盘上,然后卖给别人收取报酬,这让linus好好反省了“Linux是非卖品”这个原则。通过反复的思考和调研,他决定使用GPL许可证。 GPL许可证是通用公共版权许可证,最早是为GNU项目所写,主要内容是:任何遵守条款和条件的被授证人员都有权修改作品,以及复制和重新分发作品或任何派生版本。被许可人被允许为此服务收取费用,或无偿。 简单来说,Linux本身是开源和免费的,但是也可以有人依靠卖Linux的拷贝和自己修改的Linux赚钱,但是基于Linux修改得到的系统,也必须符合GPL协议,而且提供给使用者的时候,必须提供源代码。 GPL带来的,是Linux系统可以被人用于商业用途,比如你可以自己做一个Linux发行版本,卖给你的客户,愿意卖多贵都可以,然后你的客户得到了全部的源代码,他可以自己编译,自己修改你的系统,做成自己的Linux发行版,因为GPL规定客户可以随意使用这个源代码。那么你怎么赚钱呢?其实很简单,系统会不断的更新,安全补丁或者新功能,这些更新你的客户也是需要的。所以很多时候,你不是靠卖拷贝赚钱,而是卖维护Linux,提供功能,补丁,咨询服务等来赚钱,变成订阅业务模式。这也是现在Redhat公司主营业务模式。 使用GPL,是Linux操作系统发展过程中的另一个里程碑,因为有很多公司和个人,可以依靠Linux赚钱了,有利益相关,Linux才能发展的更好 乘上开源软件的东风,Linux大器终成 接下来Linux进入了发展的快车道,92年第一代x视窗系统被一个叫奥瑞斯特·扎布罗斯基的黑客,移植到Linux系统,并因此实现了socket层。这样Linux有了图形界面,Linus更是从中嗅出了机会,用sokcet可以实现联网能力,于是他花了2年,实现了Linux的网络功能,让Linux系统更加成熟。Linux邮件新闻组知名度也越来越高,Linus找到5个志同道合的高手,组成了Linux核心小组,通过开放源代码,Linus做仲裁的模式,Linux越来越成熟。 到93年,Linus成为了大学助教,开始上课,而他带的第一批学生中,有一个女生给他发邮件邀他约会,她是Linus遇到的第一个通过互联网的方式接近他的女人,于是Linus把她娶回了家。(Linus的原话就是这样) 接下来就是Linus的人生高光时刻,Linux1.0版本发布,因为Linux已经非常知名,所以赫尔辛基大学非常支持,主动将计算机系的大礼堂借给Linus,而且这次发布会,会在芬兰的电视上进行直播,这是他生平第一次有机会在电视上看到自己。 linus当年还真的挺帅的 96年,Linus拿到了硕士学位,收到朋友邀请,准备去美国考察工作机会。作为业界知名技术大神,Linus没有准备简历,就收到了5个offer,硅谷公司全美达,Redhat红帽,芬兰的电视公司,DEC等。最后Linus选择了全美达。 全美达在当时是整个硅谷最神秘的公司,没人知道这家公司是做什么的,公司所有员工都签署了保密协议,不能对外透露自己的工作内容。这份神秘保持到了2000年,全美达推出了一种全新架构的cpu—Crusoe,这种cpu最大的特点是低功耗,而且完全兼容x86指令集,依靠全新架构的cpu,全美达在2000年11月IPO成功,成为互联网泡沫破裂前最后一家上市的科技巨头。但是因为AMD和Intel的竞争,以及自己的研发出现问题,09年全美达被收购,同年收购全美达的novafora因为财务问题和经营不善破产,全美达从此成为历史。 全美达第一块CPU Crusoe 全美达兼容x86指令集用了一个很惊人的方法,用软件翻译x86指令,转化为自己cpu的指令,而这个核心的x86解释程序,就是linus加盟后编写的。 1998年,网景公司开放了mozila项目的源代码,这就是后来的firefox火狐浏览器的前身。2个月后,Sun公司也加入开源运动,成为第一个加盟Linux国际组织的硬件设备商,它们的服务器将支持使用Linux系统。(Sun公司当年还是类似IBM的主要销售服务器的公司,当然sun最大的贡献还是开发了java语言,多谢祖师爷赏饭吃,不过Sun后来被Oracle收购,现在也已经是历史名词了。)IBM随后加入,接下来是当年的数据库三巨头之一的Informix对linux系统开放数据库接口,Oracle也快速跟进,开放数据库接口。 随着越来越多大公司的支持和技术人员的重视,Linux开始在服务器领域攻城略地,成为最受欢迎的服务器操作系统。 财务自由 1999年8月11日,Redhat红帽挂牌上市,Redhat是专门Linux发行版和企业服务的公司。Redhat给了Linus一些股票期权,在上市的时候,Linus突然意识到,自己有了100w美金,随着后续股票价格的上涨,这些期权价值达到了500w美金。 而更疯狂的是VA Linux上市,VA Linux前身是VA research公司,最早的业务是构建和销售装有Linux操作系统的pc,在1998年就占了20%的linux硬件市场。在1999年,VA Linux进行了IPOunix操作系统,上市第一天,价格就从30美金涨到300美金,VA Linux和Redhat一样给了Linus一些股票期权。不过VA linux赶上了互联网泡沫破裂,在01年价格暴跌到7美元,在后续几经辗转,转型更名为Geeknet,并在15年被游戏连锁店GameStop收购。 但是无论如何,Linus都在这两次IPO中获得了巨大的财富,成为财务自由人士。 Linus的人生哲学 Linus认为驱动人类的是三点动机:生存,人在社会秩序中的位置,以及娱乐。 人类的进化就是从生存到社会行为,从社会行为到娱乐。 在技术的世界里,这种进化模式在重演,现代技术的早期阶段是“技术的生存时代”,技术只是为了生存的更好些,比如更快的织出步,更快的运送商品。 现在的时代是“信息时代”,科技被用于通讯和传播信息,这是社会化的行为,已经超脱出生存范畴。互联网就是典型的代表,有了互联网,通讯技术社会化的阶段就已经到来。 终极目标则是进入娱乐化社会,在娱乐化社会,互联网和无线通讯都是理所当然,那时候思科公司已成往事,世界将有迪斯尼公司说了算。 从这个角度看,生活的最终目的是为了享受乐趣。 个人感想 这本传记写于2001年,叙事的部分,就讲到通过Redhat和VA Linux的IPO,Linus获得财务自由为止。在05年,Linus又做了一个改变世界的程序-分布式版本控制系统Git,现在Git已经是世界上最流行的版本控制软件,而这个世界级的软件,Linus只花了10天就完成了第一个版本的开发。 Linus的成神之路,从兴趣开始个人项目,在合适的时间,选择了开源的协作模式,然后通过GPL协议开放,带来了商业的繁荣,最后在开源软件运动的帮助下,最终封神。作为Linux的核心贡献者和项目的领导者,数十年如一日的维护Linux内核,这在很大程度上就是源于他对编程的兴趣,就像黄易说的:唯能极于情,故能极于剑。正因为对编程的热爱,才有了Linus的传奇一生。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |