0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux牛X简史:Linux是如何开发出来的?

电子工程师 来源:未知 作者:李倩 2018-08-31 16:57 次阅读

几天前,Linux迎来了它的27岁生日。从最初诞生在芬兰的一间卧室里,到现在成为,全球网民都离不开的操作系统。绝对堪称神话般的存在!

先来看个Linux牛X简史。

迄今为止,在全球范围内:

80%以上智能手机,均使用基于Linux内核的Android系统。

全球排名前500超算中,98%在用Linux。

纽交所、纳斯达克等证券交易市场,都在用Linux。

75%的云计算企业报告平台,也在用Linux。

全球主机行业33.8%的服务器用Linux。

亚马逊、沃尔玛等电商平台都在用Linux。

可以说,每一次程序员的女票去淘宝“败家”,都受恩惠于Linux。不过,Linux,却被一位来自圣诞老人故乡芬兰的60后大叔,因着Just for fun的缘故,开发于“一个窗帘紧闭黑灯瞎火的芬兰少年的卧室中”。

芬兰风光

如今,Linux的父亲——李纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds,以下简称“李纳斯”),也已49岁。

李纳斯近照

能亲眼见证自己的“儿子”,如此惠及全球,一定很有成就感。然而,他开发出Linux,却不过是兴趣使然。

一个有电脑的外公

李纳斯的外公,在赫尔辛基大学当教授,近水楼台先得月,李纳斯因此可以使用外公单位发的电脑。

小李纳斯

这台Commodore VIC-20计算机,唯一能做的事,就是用Basic语言,在上面编程序。

外公经常在上面做数学运算,因为眼花就让李纳斯,帮自己录程序。而这也建立了李纳斯的数学认知,并学会了编写小游戏。

整个中学年代,李纳斯都是在电脑前度过的,期间还掌握了汇编语言。

李纳斯年轻时用过的电脑

一本书,一辈子

考入赫尔辛基大学后,他遇到了影响一生的那本书——《操作系统:设计和实现》,作者是Andrew S. Tanenbaum。李纳斯曾如此美誉该书,“这本书把我推上了生命的高峰”。

《操作系统:设计和实现》中文版

那时, Unix已开发出来。Unix最早是用汇编写的,开发过程中,Unix的两位创始人肯·汤普逊和丹尼斯·里奇,觉得用汇编写程序,实在太痛苦了!

于是,哥俩决定用高级语言,来完成下一个版本,他们先后尝试了Fortran和B语言,却只遇见了成功他妈——失败!

这其中,哥俩中的丹尼斯,收拾好情绪,继续改造 B 语言。丹尼斯为B增加了数据类型,并让B语言,能直接编译为机器码,然后又以「New B」来命名这门语言(好名字

后来,丹尼斯把「New B」改为C语言,并用C语言,重新编写Unix的内核,从此,Unix与C白首不相离。

尽管Unix可以完成很多操作,但是必须由人来完成。正是这一bug,催促着灵魂不安分的李纳斯,想去优化它。

抛砖引玉:Unix的不完美,催生“宝玉”Linux

1991年初,22岁的李纳斯,花3500美元,分期付款买了台杂牌组装电脑,然后又买了MINIX(Mini Unix的缩写)操作系统。

李纳斯在摸清MINIX 的优点缺点后,把MINIX系统改成了自己得心应手的「战斗机」。也就是在这台电脑上,Linux的初始版本诞生了。

Linux的形象是一个企鹅,之所以用企鹅,是因为李纳斯曾被企鹅咬过

事后回忆这段经历,李纳斯说,“这花费了我大量的精力:编程-睡觉-编程-睡觉-编程-吃饭(饼干)-编程-睡觉-编程-洗澡(冲冲了事)--编程”。

熬了四五个月昏天黑地的日子后,这位刚过弱冠之年的北欧大鼻子青年,开发出了Linux 0.01。自此,他成了那个时代,被追捧的程序员偶像。

青年李纳斯

不过,比生孩子更重要的,是养孩子。Linux之所以成功,主要凭借它的开源特点。

Linux从出生,就打着开源的烙印,这对Linux的后续发展至关重要。从1991年,内核0.01版本发布,到1994年1.0版本登场,世界各地无数的开发者,都为Linux提交了代码。

李纳斯还为Linux建立了讨论组comp.os.linux,吸引全世界的程序员,不断地推进Linux长成巨人。

comp.os.linux讨论组截图

对于Linux的成功,他“归功”于自己的缺点:1.他很懒散;2.他喜欢授权给其他人。

作为版权所有者,李纳斯如此制定Linux规则:1.可免费使用该操作系统,但不得将它作为商品。2.对其所作的改动和改进,必须以源代码的形式,将其公开(而不是二进制,这是不公开的)。3.如不同意以上规定,则无权对它进行复制或从事任何行为。

硅谷多了个小李子

1996年底,李纳斯在接到Transmeta(全美达)这家在美国并不知名公司的offer后,离开芬兰飞赴美国。在全美达,一待就是六年。

某种程度上,这六年,严重影响了Linux操作系统的前进,因为李纳斯成了“硅谷小李子·没时间·分身乏术打工男”。

好在李纳斯在离开全美达后,开始为开放源代码开发实验室(OSDL : Open Source Development Labs, Inc)工作。

这一次,Linux终于迎来系统人生第二春。

交恶微软,拒绝苹果

Linux出现前,桌面操作系统基本由微软和苹果控制。Linux出现后,桌面操作系统的蛋糕格局,依旧变化甚小,但服务器端市场却是瞬息万变。

最初,微软希望在服务器领域,复制桌面操作系统的辉煌,然而半路杀出的 Linux竟在后来,占据了服务器市场半壁江山。

商场如战场,李纳斯也因此,和微软结下梁子。他的头像,被钉在了微软公司的飞镖靶心上。李纳斯对此调侃道,“一定是我的大鼻子太好瞄准了。”

大鼻子·李

而李纳斯和苹果之间,就没那么剑拔弩张,毕竟Linux和OS X也算是一起从前辈Unix那里一起学(mo)过(fang)的同门师兄。

而且,他还收到了乔布斯发来的工作邀约,前提是——停止开发Linux。

面对乔帮主邀约,李纳斯果然没有......接受,他说,“为什么我要关心这些?为什么我要对苹果公司的故事表现出兴趣?我不觉得苹果公司所做的事情有什么吸引我的地方。我一生的目标也不是占领什么面操作系统的市场(的确,虽然我马上就要做到这点了,但这从来就不是我的生活目标)。”

这次“谈判”虽不愉快,却影响了后续的IT格局。被拒了的苹果,从关注Linux转向BSD。

与此同时,Linux的开源模式,也红得发紫。Linux 1.0版本推出后,很多基于Linux操作系统的公司纷纷冒出,“红帽”公司便是典型代表,连IBM和英特尔,也给Linux打call。1999年,IBM还花费10亿美元来推广Linux。

本鹅就是这么红,红红红红

Linux以开源、独立、自由之风,在服务器端大获成功,甚至可以说,没有Linux,就没有互联网的今天。

再后来,移动互联网时代来了。OS X发出了新枝——iOS,Linux则诞生了 Android,而这两位共同的祖父,就是Unix。

或许,这就是命吧!

当初,乔布斯和李纳斯的一次不愉快谈话,让OS X和Linux井水不犯河水。十几年后的今天,它们的“后代”,终于还是成了肩并肩行走在移动互联网时代的双子星。

不爱名利爱代码

凭借Linux,李纳斯获得了无数成就和荣誉。其中,曾两次给李纳斯颁发奖项的美国《时代》周刊,对其给出了极高的评价:

“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两者的人,就是托瓦兹(李纳斯的姓氏)”。

甚至,在《时代》周刊根据读者投票,评选出的二十世纪100位最重要人物中,林纳斯竟排到第15位,而从20世纪的最后几年,就开始霸占全球首富称号的比尔·盖茨,是第17位。

然而,他却是一个不像名人的名人,他和妻子——芬兰空手道冠军托夫、以及两个女儿,住在圣克拉拉的一个公寓里。对于“Linux之父”的美誉,他声称自己发明LINUX“只是为了好玩”。

而他的名为《Just for Fun》的自传,也呼应了他的淡泊。

李纳斯的自传《Just for Fun》

如果说他有啥缺点的话,大概就是会在社交媒体爆粗口、以及会因为技术问题而在演讲中竖中指。

在中国,有无可能成为“XX之父”?

中国晚于欧美“触网”,所以国内也相对缺少,能成为程序员们的压倒性偶像的人物。

不过在中国,比李纳斯大5岁的、有着“WPS之父”之称的求伯君,曾于1988年,独自开发出WPS,时年仅24岁。

求伯君

巧合是,两个人创立传奇的工具都是386电脑,或许,是时代造就了李纳斯和求伯君这样的独立软件英雄。

当然,仁者见仁,或许每个程序员心中,都有一个专属自己的榜样。

当下,中国已是仅次于美国的互联网第二大国,没准看文章的你,就是下一个“XX之父”呢?愿未来可期!

最后,生日快乐,Linux!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11230

    浏览量

    208937
  • 操作系统
    +关注

    关注

    37

    文章

    6742

    浏览量

    123194

原文标题:交恶微软、拒绝乔布斯,21 岁的他是如何开发出 Linux 的?

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux应用编程的基本概念

    Linux应用编程涉及到在Linux环境下开发和运行应用程序的一系列概念。以下是一些涵盖Linux应用编程的基本概念。
    的头像 发表于 10-24 17:19 184次阅读

    用dsp28335读取SD卡中的WAV文件通过AIC32放歌,发出来的都是噪声,为什么?

    我想用dsp28335读取SD卡中的WAV文件,然后通过AIC32放歌,但是现在发出来的都是噪声,请问wav文件的内容需要做什么处理吗
    发表于 10-12 08:07

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux
    的头像 发表于 09-02 09:11 402次阅读

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内存、存储器、输入/输出接口等硬件组件,以及一个基于L
    的头像 发表于 09-02 09:09 328次阅读

    嵌入式linux开发板芯片的工作原理

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智能家居、智能交通、医疗设备等领域。 嵌入式Linux
    的头像 发表于 09-02 09:07 335次阅读

    linux开发板与树莓派的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用
    的头像 发表于 08-30 15:34 780次阅读

    linux开发板和单片机开发的区别

    硬件架构 Linux开发板和单片机开发在硬件架构上有很大的区别。Linux开发板通常基于ARM、x
    的头像 发表于 08-30 15:30 637次阅读

    Linux 驱动开发与应用开发,你知道多少?

    一、Linux驱动开发与应用开发的区别开发层次不同:Linux驱动开发主要是针对硬件设备进行编程
    的头像 发表于 08-30 12:16 619次阅读
    <b class='flag-5'>Linux</b> 驱动<b class='flag-5'>开发</b>与应用<b class='flag-5'>开发</b>,你知道多少?

    QNX与Linux基础差异对比

    对于QNX系统和Linux系统的内核差异,我们抛开宏内核、微内核之类的争议不谈。单纯从开发应用的角度而言,QNX和Linux系统的差异到底有多大,在开发的时候需要注意哪些细节问题?
    发表于 04-17 10:52 704次阅读

    fpga开发板与linux开发板区别

    FPGA开发板与Linux开发板是两种不同的硬件开发平台,各自具有不同的特点和应用场景。在以下的文章中,我将详细介绍FPGA开发板和
    的头像 发表于 02-01 17:09 2090次阅读

    TLT507-Linux-RT应用开发案例

    TLT507-Linux-RT应用开发案例
    的头像 发表于 01-26 09:46 660次阅读
    TLT507-<b class='flag-5'>Linux</b>-RT应用<b class='flag-5'>开发</b>案例

    TLT507-Linux应用开发手册

    TLT507-Linux应用开发手册
    的头像 发表于 01-26 09:34 651次阅读
    TLT507-<b class='flag-5'>Linux</b>应用<b class='flag-5'>开发</b>手册

    TL3588-Linux应用开发手册

    TL3588-Linux应用开发手册
    的头像 发表于 01-24 10:58 420次阅读
    TL3588-<b class='flag-5'>Linux</b>应用<b class='flag-5'>开发</b>手册

    嵌入式Linux开发的三种方式

    嵌入式Linux开发主要有三种方式:裸机开发、SDK开发和驱动开发
    的头像 发表于 01-22 14:22 925次阅读

    DIY个人的Linux开发板教程

    作者简介:大佬已在硬创社开源了近50款开发板,动手能力极强,于去年年底开始接触学习Linux,并由全志V3s、F1C200S等芯片开始上手DIY个人的Linux开发板。
    的头像 发表于 01-07 09:52 1984次阅读
    DIY个人的<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>板教程