微信扫一扫
分享到朋友圈

27岁的Linux和49岁的Linus:PC操作系统太贵了,自己写个吧

作者:InfoQ 来源:InfoQ 公众号
分享到:

08-31

作者 | 小智

1991 年,一位芬兰赫尔辛基大学计算机科学系的学生,编写了一套免费使用和自由传播的类 Unix 操作系统,也就是后来的 Linux。Linux 的官方诞辰是 1991 年的 10 月 5 日,但你可能不知道的是,早在 1991 年 8 月 25 日,还是大学生的 Linus Torvalds 就向 comp.os.minix 新闻组的人透露了由于 “业余爱好” 他正在研究操作系统的消息。因此,该时间也被许多爱好者视为 Linux 的真正诞生日期。

27 年过去了,Linux 已近而立之年,它的发明者 Linus 也从翩翩少年长成了……嗯,中年大叔。这是他与他编写的操作系统的故事。


0 Linus,编程缘起时

Linus 出生于芬兰赫尔辛基,父亲尼尔斯·托瓦兹(Nils Torvalds)是一名活跃的电台记者,母亲安娜·托瓦兹(Anna Torvalds)也是一名记者。祖父奥尔·托瓦兹(Ole Torvalds)是一名诗人和……记者。按照常规思维,Linus 也应该长成一位记者,但命运就是这么无常,他的外祖父终于不是记者,而是芬兰第一批统计学教授。

Linus 在 11 岁时,应其外祖父要求用 BASIC 语言编写一些统计学方面的小程序,这是他编程经历之始。

Linus 的妹妹 Sara 记得 Linus 展示的第一段代码的运行效果,是所有 Basic 语言入门的那段代码:

10 print “SARA IS THE BEST”20 goto

Linus 表示他很怀疑这段代码是否发自真心。他狡黠一笑地说,因为他和他妹妹 Sara 并不是一直都是最好的朋友,可能当时他自己只是想试着友好些,并借此机会向 Sara 展示他的编程能力。Linus 表示最初的编程并不是很认真,但是那真的就是十几岁的他所能触碰到的所有了,而且他并不完全知道自己在做什么。

1988 年,他进入赫尔辛基大学计算机科学系。1989 年,他进入芬兰陆军新地区旅,服 11 个月的国家义务兵役,军衔为少尉,主要服务于计算机部门,任务是弹道计算。服役期间,Linus 购买了安德鲁·斯图尔特·塔能鲍姆所著的教科书及 Minix 源代码,开始研究操作系统。1990 年,他退伍后回到大学,开始接触 Unix。1991 年 8 月 25 日,在网络上发布了 Linux 内核的源代码。

“成为程序员真的不是我的计划,但是这确实是我的激情所在。”

“你看见代码的时候立刻就知道这段程序是在做什么”。

“你可以把代码写得很漂亮,但是实际上它并不能解决问题。”

1 PC 操作系统太贵,自己写一个吧

Linus 曾经公开表示,学生时期的他本来是想购买 PC 操作系统的,但是昂贵的价格实在让人望而却步,于是只好告诉自己说,“哎好吧,我需要自己写出来了。”

Linus 不是凭空创造出的 Linux。他在学习了 Minix 后,发现 Minix 的版权协议只允许应用在教育上,于是基于 Minix 开发了 Linux。他专门为自己配着 80386 处理器的新电脑写下了第一版的操作系统代码,开发工作是在 Minix 中使用 GNU C 编译器,并且必须使用硬盘开机。Linux 系统的第一个版本代码是上传到 FTP 服务器上的,但是至今 Linus 也不知道怎么配置 FTP,他也从来没有自建 web 站点。

最初的 0.01 版本只有 10000 行代码,内核编程的前六个月都是 Linus 一人完成,这一万多行代码体现的技术水平,在今天看来,仍旧让人叹为观止。22 岁写出内核,除了网络子系统外其他一应俱全,这里面需要大量的基础知识比如 AT&T 汇编、保护模式、操作系统原理、处理器架构特性、链接与装载、计算机组成原理等,普通本科生光是学习就需要三年以上的时间,更别提将其融会贯通写到操作系统内核里面。内核编写最难的不是语言问题、理论问题或技术问题,而是大局观,对 Linux 系统的宏观架构的构建。但 Linus 做到了,在他 22 岁那年。

考虑到上世纪 90 年代,互联网还只是一小撮人的“玩物”,参考资料之匮乏可以想象,可以交流的对象更是寥寥,这更加深了这一创举的传奇性。许多年前,互联网贫瘠的土壤里种下了一枚名为 Linus 的种子,经年以后,无数开发者靠在一颗名为 Linux 的参天大树下乘凉。


Linux 的第一个版本在 1991 年 9 月被大学 FTP server 管理员 Ari Lemmke 发布在 Internet 上,最初 Linus 称这个内核的名称为"Freax",意思是自由("free")和奇异("freak")的结合字,并且附上"X"这个常用的字母,以配合所谓的类 Unix 的系统。但是 FTP 服务器管理员嫌原来的命名“Freax”的名称不好听,把内核的称呼改成“Linux”。Linux 的标志和吉祥物是一只名字叫做 Tux 的企鹅,标志的由来是因为 Linus 在澳洲时曾被一只动物园里的企鹅咬了一口,便选择企鹅作为 Linux 的标志。更容易被接受的说法是:企鹅代表南极,而南极又是全世界所共有的一块陆地。这也就代表 Linux 是所有人的 Linux。

1992 年起 Linus 开始采纳其他开发人员的补丁。如今,Linus 拥有一个实力超群的内核维护小组,Linux 系统的协助模式是 Linus 负责总体的协调和沟通,他会对接十余名核心贡献者,每个人都有自己负责的具体领域和项目内容,每次有新的开发任务时 Linus 会将它分配给对应的人;而这十余位核心贡献者又有各自的熟知并信赖的高手小团队。Linus 只需知道将任务交给他自己团队中十余名成员哪个人即可。值得一提的是,二叉树团队之前拍摄过的吴峰光博士也是核心贡献者的成员之一。

2 微软恨他,后又拥抱他

在 Linux 出现之前,桌面操作系统的市场基本上是由比尔·盖茨和乔布斯所控制的,虽然乔布斯的占有率少一些。Linux 出现之后,桌面操作系统的格局并没有太大变化,但是服务器端市场的变化却是翻天覆地。Linux 的出现并流行,冲击了微软在服务器操作系统的布局。

曾几何时,比尔·盖茨公开表示,他根本没把 Linux 放在眼里,预测 Linux 只会起一些有限的作用。但是,1998 年 11 月,微软秘密备忘录《鬼节前夕》被揭露,微软对 Linux 的真实认识引起了极大反响。因为报告高度评价了 Linux 的市场份额、性能和可靠性,指出:“Linux 代表的是一种最优秀的 UNIX 系统,被广泛地应用在关键业务领域,由于其开放特性,Linux 将超过其它的操作系统。”“在人们转移至 Linux 后,他们会发现他们所需要的几乎所有应用程序都已被免费提供了,包括 Web 服务器、POP 客户、邮件服务器和文本编辑器等等。”“Linux 在个人设置、可用性、可靠性、扩展性和性能表现方面均超过了 Windows NT。”报告承认:以 Linux 为代表的自由软件在短期上,已经对微软的收入构成威胁。而长期来说,这种自由交流思想的开发模式将极大地打击微软。

比尔盖茨之后的继任者,鲍尔默对于 Linux 更是采用了敌视的态度:2001 年时,鲍尔默曾将 Linux 称为“癌症”;2006 年,鲍尔默称 Linux 侵犯知识产权,可能侵犯了 283 项专利权;2007 年,鲍尔默称 Red Hat Linux 涉嫌侵犯了微软的知识产权。

十多年过去了,Linux 这颗星星之火不仅没有熄灭,反而更成燎原之势。而微软此前泾渭分明的态度也发生了 180 度大转弯。2014 年,微软新上任的总裁萨提亚 ∙ 纳德拉第一次公开宣示了微软对 Linux 和开源世界的新感情:微软爱 Linux。这话不再是一句虚言,人人印象中因循守旧、扮演反派角色的微软,突然对 Linux 敞开了怀抱。

在此之后,微软参与 Linux 内核贡献、投身开源社区,成为 GitHub 上对开源贡献人数最多的组织,成立.Net 基金会推进开源,开源开发工具和架构免费推出跨平台 Web 和云开发代码编辑器 Visual Studio Code 等等。曾经人们认为 Linus 和微软的对抗就像堂吉诃德与风车的战斗,战力悬殊。但事实是,Linus 这位骑士只是一往无前,微软这座风车便甘愿敞开了大门。

Linus,what a man!

3 我脾气大、爱喷人,但我是个纯粹的技术人

提起 Linus Torvalds 大家的第一反应是怎样的?是严苛刻薄,还是神级伟大,亦或是孤傲清高?这些年,Linus 在参与技术大会、采访、线下交流时,总是全程面带微笑,让带着一颗朝圣般的心去见他的技术同道们如沐春风。

但是回到网友身份的 Linus,却又经常是另一幅画风,这些年,时不时地就见他今天在网上怒喷谷歌工程师,明天怒喷 Intel 处理器 Bug 漏洞,各种怒喷……但你仔细看新闻,不难发现,Linus 他喷得对啊!因为他真的是在为技术考虑,在为技术群体考虑,他至今不想关心 Linux 技术以外的任何事情、一周不写代码就坐立不安,这样的他,值得用“纯粹”二字定义。


提到纯粹,不得不提的是,Linus 对于财富的概念,那就是没有概念。Linus 对待财富的态度就是「视金钱为粪土」,是真的粪土。那个年代,他只要签个字挂名就能获取上千万美金,却依然选择和自己的妻女一家人挤在圣克拉拉一栋两层楼的公寓套房里,过着一个普通程序员的生活。

在 Linus 拿到第一笔财富之前,比尔盖茨、乔布斯早已家财万贯,许多技术人、商人和企业通过 Linux 及其相关技术获取了巨额财富,Linus 的态度是:与我何干?

当时,伦敦的一位企业家希望李纳斯在他羽翼未丰的 Linux 公司做个董事会成员,报酬是一千万美金。Linus 说,不用。Red Hat 公司为了感谢他的卓越贡献,为他提供了一些期权,他的回复同样是:“不用了,我不会给你独家的授权许可的”。Red Hat 几乎是求着 Linus 收下了这笔期权,也正是这笔期权,让 Linus 在 Red Hat 上市后收获了第一笔巨额财富。对此,他的定义是:我真是最幸运的家伙!


能用技术去获取巨额财富,却屡次拒绝,一门心思扎根在改进已经风靡全球的 Linux 系统上。

Linus,what a man!

4 曾有社交恐惧,而今字字珠玑

有人问 Linus,你是如何成长为今天的你自己的?Linus Torvalds 说,我本人并不适合回答这个问题,因为这是个渐进不自知的过程;应该请一个不会天天见到他的人以第三方视角,来谈谈一个不敢直视别人眼睛的十二岁书虫小男孩怎样蜕变成今天的样子的。虽然现在,Linus 已经很大程度上摆脱了社交恐惧症,面对媒体和观众们可以侃侃而谈;但是他依然认为自己不擅长于与人打交道。他认为贡献开源项目通过邮件与人互动,给人缓冲是他更喜欢的交流方式。

对于为什么坚持编写 Linux 内核 27 年,他说:

在大家的眼中,我是那个创造了 Linux 并依然维护它的人。为什么我 27年来依然在做同样的事情?因为写出优秀的代码是件很困难的事情。

对于怎样看待加班,他说:

很多人都认为加班加点的工作才算真正的工作。我可不这么想。无论是 Transmeta 的工作还是 Linux 的工作,都不是靠牺牲宝贵的睡眠时间换来的。事实上,如果你想听真话,我要说,我更喜欢睡觉。

对于 Linux 取得的成功,Linus 将其归结为是由自己的缺点导致的:

1、 我很懒散;2、 我喜欢授权给其他人。

对于 Git 的成功,Linus 表示:

Git 的设计其实很简单,它有一个稳定而合理的数据结构。事实上,我强烈建议围绕着数据来设计代码,而不是反其道而行之,我觉得这可能就是 Git 如此成功的原因。坏程序员总是担心他们的代码,而优秀的程序员则会担心数据结构和它们之间的关系。

是否只要坚持到最后大概率而言都会收获一些成果?Linus 说:

我非常想告诉大家“坚持就是胜利”,但是很遗憾的是事实并非如此。最重要的是找到自己感兴趣的事情去做。

Linus 非常强调自我驱动,他强调一定要知道自己内心想做什么,什么是真正让你感兴趣的事情。比如,如果你对某开源项目感兴趣,那你可以去阅读学习源代码,但是要警惕成为专家的想法:Linux 内核那么大,没有人了解全部、没有人是专家,Linus 称自己也不是面面俱到。

对于行业创新,Linus 表示:

行业所说的这么多的创新都是扯淡,任何人都可以创新,不要把另类思考(think different)当成什么了不起的事情,谈论那些都是毫无意义的。成功的 99% 就是把工作做好,也就是说要埋头苦干。所有真正的工作并非说的如云如雨、不着边际的天花乱坠,而是在于细节。

当然,这里最不可忘记的一句箴言,便是:

Talk is cheap, Show me the code。

程序员之间的各种鄙视链,一言不合就来的技术 battle 里,只有这句话代表着真理。Diss 我的技术水平?拿代码说话!

5 写在最后

2017 年 6 月,Linux 基金会首次在中国召开 LinuxCon,InfoQ 有幸参加媒体采访,见到 Linus Torvalds 本尊。采访环节结束后,记者们立刻将 Linus Torvalds 团团围住,他微笑着耐心回答每个问题。在征求签名时,他有些不好意思地说“我的签名很丑”并在名字下面附上了“the ugliest signature ever”。InfoQ 顺势询问是否有一句话可以送给开发者们时,他迟疑之后说自己不敢给出这样庄重的建议;但是他表示他认为做自己喜欢的、并对其他人也有帮助的事情很重要。

Linus 墨宝:)

这位名扬 IT 界二十余载的神级人物,想必早已过了恃才傲物、指点江山的阶段,内心充盈的更多是工作中获得的欣慰与肩负的责任。坚守一套操作系统,持续更新、优化 27 年,一般人怕是连想都不敢想,他却甘之如饴。

Linus,what a man!

6 参考线索

https://zh.wikipedia.org/wiki/%E6%9E%97%E7%BA%B3%E6%96%AF%C2%B7%E6%89%98%E7%93%A6%E5%85%B9

https://zh.wikipedia.org/wiki/Linux

https://www.zhihu.com/question/263589279

https://zhuanlan.zhihu.com/p/19796979

https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650997166&idx=1&sn=117ec206ded79649173197b4ba63ff4a

今日荐文

点击下方图片即可阅读

信息大泄露,2.4 亿开房记录被曝光售卖



阅读9503
linux 操作系统 
举报0
关注InfoQ微信号:infoqchina

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。

评论
更多

文章来自于公众号:

InfoQ

微信号:infoqchina

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。