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
    +关注

    关注

    88

    文章

    11628

    浏览量

    217989
  • 操作系统
    +关注

    关注

    37

    文章

    7329

    浏览量

    128643

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于 DR1M90 的 Linux-RT 内核开发:从编译配置到 GPIO / 按键应用实现(1)

    本手册由创龙科技研发,针对 DR1M90,详述 Linux-RT 实时内核开发:含实时性测试(LinuxLinux-RT 对比、CPU 空载 / 满负荷 / 隔离状态测试)、内核
    的头像 发表于 12-02 10:38 271次阅读
    基于 DR1M90 的 <b class='flag-5'>Linux</b>-RT 内核<b class='flag-5'>开发</b>:从编译配置到 GPIO / 按键应用实现(1)

    基于安路DR1M90 FPSoC的Linux系统全流程开发指南(4)

    本手册由创龙科技研发,针对安路飞龙 DR1M90,详述 Linux 系统开发流程:LinuxSDK 配置编译、BOOT.bin(FSBL+U-Boot)开发、Kernel 与 Rootfs
    的头像 发表于 11-30 15:46 1768次阅读
    基于安路DR1M90 FPSoC的<b class='flag-5'>Linux</b>系统全流程<b class='flag-5'>开发</b>指南(4)

    迅为iTOP-3568开发板 Linux驱动开发实战:menuconfig图形化配置实验

    迅为iTOP-3568开发板 Linux驱动开发实战:menuconfig图形化配置实验
    的头像 发表于 11-24 15:29 520次阅读
    迅为iTOP-3568<b class='flag-5'>开发</b>板 <b class='flag-5'>Linux</b>驱动<b class='flag-5'>开发</b>实战:menuconfig图形化配置实验

    【免费送书】成为硬核Linux开发者:《Linux 设备驱动开发(第 2 版)》

    Linux系统的设备驱动开发,一直给人门槛较高的印象,主要因内核机制抽象、需深度理解硬件原理、开发调试难度大所致。2021年,一本讲解驱动开发的专著问世即获市场青睐,畅销近万册——这便
    的头像 发表于 11-18 08:06 450次阅读
    【免费送书】成为硬核<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>者:《<b class='flag-5'>Linux</b> 设备驱动<b class='flag-5'>开发</b>(第 2 版)》

    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—Linux-RT应用开发案例

    本文围绕创龙科技研发的评估板,聚焦 Linux-RT 系统应用开发,先通过 Cyclictest 工具对比 LinuxLinux-RT 实时性,再测试 CPU 空载、满负荷及隔离
    的头像 发表于 09-25 17:25 552次阅读
    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业<b class='flag-5'>开发</b>板—<b class='flag-5'>Linux</b>-RT应用<b class='flag-5'>开发</b>案例

    RK3506开发Linux开发板极致性价比之选

    RK3506开发Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux
    的头像 发表于 09-11 16:26 2798次阅读
    RK3506<b class='flag-5'>开发</b>板<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>板极致性价比之选

    Linux 应用开发手册

    T507linux应用开发手册
    发表于 08-22 17:01 10次下载

    Linux主要的性能有哪些?

      什么是Linux?   Linux是一套自由传播的类Unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它的基本思想有两点,一切都是文件和每个软件
    的头像 发表于 04-30 18:09 491次阅读
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    Linux网络设置与基础服务

    Linux网络设置与基础服务
    的头像 发表于 04-09 11:51 3139次阅读
    <b class='flag-5'>Linux</b>网络设置与基础服务

    Linux的作用

    的操作系统,提供了一个免费、稳定和安全的替代品。许多Linux发行版(如Ubuntu、Fedora、Debian等)提供了友好的用户界面和丰富的应用程序。 4、开发平台:Linux提供了丰富的
    发表于 04-04 01:57

    [迅为]Linux开发小技巧:Remote - SSH插件

    [迅为]Linux开发小技巧:Remote - SSH插件
    的头像 发表于 04-01 15:46 947次阅读
    [迅为]<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>小技巧:Remote - SSH插件

    DLP4710EVM-LC上电后,这个I2C_SDA貌似是3479发出来的,它发的是什么东西呢?

    是3479发出来的,它发的是什么东西呢? 问题2:电平转换U44,B端上拉10K,A端为啥上拉的是2.2K ? I2C信号上拉2.2K、1.5K见的较多,10K上拉很少见啊。
    发表于 02-20 07:33

    迅为RK3568开发板驱动指南Linux中通用SPI设备驱动

    迅为RK3568开发板驱动指南Linux中通用SPI设备驱动
    的头像 发表于 01-23 11:02 3433次阅读
    迅为RK3568<b class='flag-5'>开发</b>板驱动指南<b class='flag-5'>Linux</b>中通用SPI设备驱动

    如何在Linux环境下高效安装部署和配置Elasticsearch

    86_64/CentOS-7-x86_64-DVD-2009.iso elasticsearch-7.10.0-linux-x86_64.tar.gz https://www.elastic.co/cn/downloads/past-releases
    的头像 发表于 01-16 11:49 1830次阅读

    干货来喽!实用树莓派Linux编译指南

    不友好,有没有好的解决办法? 今天来分享一下我的私藏干货——树莓派Linux编译。编译好之后,开发板只需插到树莓派上连接电脑就可以直接用了,极其方便。 本文以树莓派为例,其他板子只要带Linux系统的,大体上也都可以按这个操作。
    的头像 发表于 12-18 16:31 840次阅读
    干货来喽!实用树莓派<b class='flag-5'>Linux</b>编译指南