代码编织梦想

点击上方 "程序员小乐"关注, 星标或置顶一起成长

后台回复“大礼包”有惊喜礼包!

format,png

关注订阅号「程序员小乐」,收看更多精彩内容

每日英文

Memories, beautiful very hurt, memories, memories of the past but can not go back.

回忆、很美 却很伤,回忆、只是回不到过去的记忆。

每日掏心话

人常常在闲得蛋疼的时候最矫情最脆弱,在深渊挣扎的时候最清醒最坚强。

来自:默然 + Coldwings(知乎) | 责编:乐乐

链接:zhihu.com/question/63187737

后端架构师(ID:study_tech)第 1079 次推文

往日回顾:记住下次看小电影前一定要检查一下域名是不是 HTTPS 的,别说小乐没提醒你……

     

   正文   

format,png

他是谁,Linus!

林纳斯・托瓦兹(Linus Torvalds, 1969 年~),著名程序员,Linux 内核的发明人及该计划的合作者。

托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统内核之一。

format,png

现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全力开发 Linux 内核。

Linus 研究生时期开始写操作系统(大约是 91 年),那时候个人电脑(PC)虽然兴起一些年了,但是还只是小部分程序员和狂热爱好者的玩具。硬件基本上都靠自己攒,软件也是用开源系统各种魔改。

所以普通人根本没有折腾 PC 的动力和理由。

Unix 已经霸占了许多生产力场景,唯一的缺点就是贵,而且很多发行版是闭源的。个人用户根本不要考虑。

那时候 Linus 自己攒了一套 386,但是找不到好用,廉价/免费的操作系统用。当时社区里当然也有一票免费且开源的系统,但是要不就是兼容性差,要不就是各种坑,要不就是没软件,总之各种各样的问题。而兼容性是最主要的问题,那时候的 CPU 不像现在的流行架构就那么两种(x86Arm),那时候叫的上名的架构有十几种,所以操作系统的兼容性是非常重要的。

Linus 开始自学操作系统,发现了一本很好的教材 《操作系统:设计与实现》 ,然后花了一个暑假看完,开始自己写操作系统。

《操作系统:设计与实现》这本书的作者是塔雷鲍姆,写书的时候已经是业界大牛了,他在大学为了教学操作系统,但苦于学生买不起太贵的 Unix 发行版,于是自己写了一个兼容 Unix 标准操作系统(主要是兼容 POSIX 标准),叫 Minix(名字上就很对仗,Universe - mini)。

Minix 这个系统就是为了教学而生的,只要买了这本书,就免费邮寄一份 Minix 源代码。Minix 为了方便教学,保持代码的简洁,塔雷鲍姆拒绝向里面添加太多复杂的功能。所以 Minix 虽然实现得优雅,但是社区的玩家要自己日常用,要魔改很多东西。

对了,Minix 是微内核的。对,微内核的概念存在几十年了,而不是 2019 年诞生的。

微内核的结构非常优雅,文件系统,内存管理,硬件驱动都是以进程形式存在的,而不是内核代码,这意味着驱动挂了不会带着内核一起挂。缺点就是系统调用开销太大,以至于慢到无法接受。所以现在的桌面系统,没有纯微内核的。

对于教学系统来说,微内核不是问题,毕竟是教学,不是生产工具。

社区和 Linus 都很喜欢 Minix,但是都不满足于 Minix 作者因为教学目的而放弃兼容性和可扩展性。于是 Linus 在自己运行 Minix 的 PC 开始了 Linux 的开发。Linux 是宏内核的。

Linux 本来不叫 Linux,Linus 是一个很内向的人,不好意思取这么自恋的名字,但是合作者强烈建议用这个名字,所以就用了,x 代表 unix 的联系(都兼容 POSIX)。

提一句,Unix 不是为开源和免费而生的,而是为商业而生的,但是 Unix 的发展催生了最好的开源环境(比如 GNU)。

注意,这几年的社区,属于『军阀混战』,大家都缺一款好用的免费操作系统,但并不只是 Linus 想到要解决这个问题,理查德·斯托曼领导的 GNU 组织在 90 年代就一直酝酿一款免费的操作系统,因为他们的目的是与商业的 Unix 对抗,光有一个 GCC 编译器还不够,还需要有自己的操作系统。

社区里各种技术人员也对 GNU 的操作系统非常期待,但是这玩意儿难产了。直到很久之后,Linux 流行起来后,依然没做出来。

最开始的 Linux 版本,只有几千行代码,现在基础扎实的 CS 本科生,花一段时间都可以看懂,甚至有些 OS 教材就是用 Linux 最初的版本来教学的,比如哈工大李志军的课程。

Linus 从一开始就不断在 minix 论坛上发布自己的进展,搞得论坛上一堆人非常感兴趣,于是许多人加入了开发,这时候 Linus 用邮件接收每个人的代码,然后手动合并。没过一段时间,minix 论坛上就全是讨论 Linux 的了,虽然塔雷鲍姆不是个小气的人,但是这么搞也让塔雷鲍姆很不爽

不久之后 Linus 和塔雷鲍姆之间爆发了一次冲突。

塔雷鲍姆在论坛上写了一篇文章,论证微内核与宏内核的优缺点,其实主要是攻击宏内核,说宏内核除了性能好点,全是缺点,说 Linux 过时了。Linus 是脾气暴躁的人,在技术问题上从不妥协。于是开始嘲讽 minix。Linux 的可移植性比 minix 更好,而且免费开源(minix 需要买书后获得)。

然后来来去去吵了很多次,具体可以看:

oreilly.com/openbook/opensources/book/appa.html

只是他们两个当时谁也没想到,这次论坛上的口水战会成为几十年后人们依然提起的操作系统之争。

Linus 并不恨塔雷鲍姆,他说后来有一次去了塔雷鲍姆的演讲,完了之后拿着那本书想要塔雷鲍姆的签名,但是没有等到人。

在公众号程序员小乐后台回复“Java”,获取一份Java面试题和答案惊喜礼包。

我想 Linus 多少还是尊敬他的,毕竟是自己学习操作系统的领路人。

在 Linus 和社区人员的努力下,通过扩展 GCC 支持 Linux,Linux 也兼容了越来越多的平台。其他各类软件移植到 Linux 也就变得容易了,尤其是在那个许多软件以源代码方式发行的时代,只要有对应平台的编译器,编译一次就算移植好了。

赶上 PC 发展的浪潮,但还不够,毕竟苹果微软不是好对付的,商业操作系统的易用性依然很强。

但是 Linux 开始被各类企业青睐了,因为不是每个企业都有钱花高价买一套 Unix 来用,或者是更贵的软件 + 硬件一体的大型机来用。Linux 让他们看到了省钱的希望。

GNU 开始支持 Linux,Linux 成为了 GNU 的官方操作系统,所以现在叫 GNU/Linux。

可以说 Linux 和 GCC 几乎是最伟大的两个开源项目。它们合起来就更强悍了。

GCC 让软件方便移植,Linux 软件生态就好了,软件生态好了用户就多,用户多了就让硬件公司眼馋,各路硬件公司都为 Linux 开发驱动和各种扩展,以支持自家硬件,这样用户就更多。这个倍增效应是很强的。

Linus 在项目达到一定规模后就不再亲自写代码了,主要是合并代码,毕竟全球那么多人提交代码,他一个人审核合并就够忙了,亲自写代码也没时间。

直到有一天他觉得忙不过来了,审核代码会遇到很多傻逼代码和开发者,于是他开发了现在最流行的版本控制工具,git,字面意思就是饭桶。

不得不说,他对操作系统发展方向的把控是精准的。

总结一下,Linux 的成功,以下几个条件必不可少:

  • Linus 强大的开发能力;

  • Linus 的项目管理能;

  • Linus 对操作系统发展方向的把控;

  • 一个群雄割据,缺乏免费好用的操作系统的时代;

  • 一个不仅群雄割据,缺乏免费好用的操作系统,而且程序语言,操作系统理论,编译器技术发展到一定程度,个人 PC 持续发展的时代;

  • GNU 的系统没做出来;

  • Minix 死守着『教育』不放;

  • GNU 的支持;

  • 全世界硬件厂商的支持;

  • 全世界软件厂商的支持;

  • 全世界开源开发者的巨大贡献;

再总结一下,一个人的命运,当然要靠自我奋斗,但也要考虑到历史的进程。


另外一个网友 Coldwings 的观点

说实话,是你想多了……

Linus确实在Linux的内核开发上做了很多工作,诸如项目发起,最初版内核的设计等等,但是你如今拿到手的任何一个Linux发行版中,包含了至少上百个GNU项目,无数的其它开源项目,以及数十万人贡献的代码。这里所言道的Linux,是指Linux这个内核,而内核这玩意不包括任何应用层,甚至那个黑框框命令行都并不是Linux的一部分。内核暴露的是硬件到软件的抽象、任务和资源调度,给出的是调用系统的编程接口,仅此而已。

Linus所做的1991年的第一版内核有些什么功能呢?简单的说,是这样的:

一个有着硬件平台限制,能够运行起来的,与当时便不是特别热门的叫做Minix的操作系统内核大部分功能兼容的内核。

要说能力,那是非常强的,因为二十多年后的今天的大学生们即使上了操作系统课程做大作业要写个OS内核,通常也不会做得多全面,更不提完全兼容某标准(当然更可能是因为没有做那么精细的需求)。但若只是如此,Linux也就止步于「优秀的大学生课程作业」水平了。

真正有意义的是他把Linux扔网上与社区协作开发(后来加上了GPL协议),而后在2年之内有超过百人折腾这个内核。而在当时的商用环境普遍使用Unix而主要发行版的Unix都贵破天际的情况下,在4年后终于有人觉得这个开源内核加上GNU工具能够起到替代部分Unix节省成本,才真正意义上火起来的。而彼时已经有上千人参与内核的开发,其中甚至有大批RH等公司的专职雇员。

没错,就这么个内核,没有任何人机交互,仅仅提供软件运行环境的玩意,尽管最初雏形是Linus的作品,四年后已经是数千名对操作系统有研究的程序员共同开发的产物了。而这只是一个现有的Linux发行版中占比重很小的一部分(尽管很重要),可以交互的命令行环境bash来自于GNU,图形界面Gnome来自于GNU,声音服务来自于GNU,显示服务来自于GNU(近来的发行版中也有其它开源实现)……连编译器都来自于GNU,而这些东西,Linus几乎都没有参与。

他是大神,是Linux之父,但是说Linux,尤其是现在广泛使用的功能完整的Linux是他一个人开发的这种事情,是不存在的。

PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。

format,png

欢迎加入后端架构师交流群,在后台回复“学习”即可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

广州蛋壳公寓18层租客跳楼身亡,室友:他刚毕业没工作,房东就赶我们走!微众银行紧急公告...

雷军 1994 年写的代码,像诗一样优雅,不服不行~

牛逼,三句话搞懂 Redis 缓存穿透、击穿、雪崩!

BAT面试经验总结

format,png



长按 2 秒,公众号后台回复「手册」即可领取

嘿,你在看吗format,png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/xiaoxiaole0313/article/details/111055762

生在寒门,真的输在了起跑线吗-爱代码爱编程

在云南偏远山区,一所中学的校长火了。作为全国第一所免费女子高中的创办者,张桂梅用了 12 年时间,把 1804 名女孩送出大山。 2020 年高考,华坪女高达到 94% 的本科上线率,但张桂梅依然不满意。 她蜡炬成灰,累积下 23 种病痛,不惜以透支健康为代价,只希望出身农村的女孩通过教育改变命运。深耕贫困山区教育工作 40 年的张桂梅,知道

此内容过于真实,引起强烈舒适-爱代码爱编程

全世界只有3.14 % 的人关注了 爆炸吧知识 有这么一群人,年纪轻轻却有着远超同龄人或者常人的思想跟经验。其实,思想深度和年龄的关系并不大。 饱读诗书的人,自然见识不凡,思考的内容也比别人更深刻。随着经历和阅历的增加,越来越多的人清醒的认识到:改变人生的也从来不是道理,而是习惯。 今天给大家推荐几个有深度、有想法的公众号,希望能够给你带来深

社区团购的逻辑-爱代码爱编程

(1)话说远点:大时代 我国从2008年之后进入了工业社会中期,以消费品大制造大零售为主干。 消费品主要分为: 1、一般消费品:如商场常卖的服装鞋帽与化妆品、如超市便利店常卖的快消品、如专卖店常卖的家装家居/体育用品/药品 2、电器消费品:如电脑、智能手机、家电 3、耐用消费品:如汽车和地产 之所以2008年之后中国电子商务崛起,主要得益

秋纳、例会、世界区块链大会:浙大区块链协会 Q4 Update-爱代码爱编程

In blockchain we trust 2020年已经进入尾声。在2020年的第四季度,ZJUBCA完成了2020年秋纳,召开了2020届全员大会,还出席了武汉世界区块链大会。一起来看看这些高光时刻吧???? 秋纳:30名新鲜血液! 秋纳可以说是每年给协会注入活力的最重要活动之一。本次纳新由9月20日起至10月13日,持续了仅一个月,

投资理财这3年 | 其他-爱代码爱编程

前段时间,看到前同事写了篇关于投资理财的文章,想起自己很久之前,也想过要聊聊这个话题,只不过拖延至今未能成文。 一直以来,常劝说相近的朋友,早做理财打算,为此常常讲起自己坎坷的经历,以及一点点心得体会,所以这一次,很是花了些时间,每天写一点,每天写一点,写着写着,就写了特别……长。 一定是哪里出了问题 很久以来,我都是一只没有经济头脑的麻瓜

10个前端8个用Vue的,怎么才能在面试中出彩?-爱代码爱编程

大家好,我是若川。 现在但凡出去面试,面试官几乎必问 Vue3.0 。不仅会问一些核心特性,还会问原理层面的问题。 比如: ▶框架层面问题:Vue3.0 新特性 Composition API 与 React.js 中 Hooks 的异同点? ▶源码、原理层面问题: Vue3.0 编译做了哪些优化?Vue3.0是如何变得更快的?   也许

一家卖盲盒的公司,凭什么值1000亿?-爱代码爱编程

作者|李楠 编辑|李曙光 潮玩巨头泡泡玛特登陆港股,市值将近千亿港元。这是一家又十年历史的企业,早先经营诸多潮流百货,直到2015年窥见了盲盒的财富密码,此后走上腾飞之路。盲盒娃娃走红,背后有何秘密? 新的财富故事,拉开帷幕。 盲盒第一股泡泡玛特的强势表现超出想象。12月11日开盘价较发行价直接翻倍,之后股价虽有回落,截至发

字节跳动CEO 张一鸣卧底公司群2天,怒斥员工摸鱼-爱代码爱编程

来源:码个蛋,整理自互联网 张一鸣卧底公司群内,活捉摸鱼员工 12月9日,一张字节跳动CEO--张一鸣怒批,公司员工上班时间专注聊游戏浑水摸鱼的行为。在各大社交平台流转。作为有千亿估值的字节跳动CEO,亲自下场怒批摸鱼行为,迅速点燃了上班摸鱼这个话题。 据截图信息来看。张一鸣是之前因为“试玩原神,在飞书搜到并加入了这个群。最近我发现这个

开除AI伦理学家,谷歌如何从“不作恶”到“不宽容”?-爱代码爱编程

年终岁末,我们再一次吃到了谷歌的瓜。因为谷歌的AI伦理科学家Timnit Gebru被AI界大咖、谷歌AI负责人Jeff Dean公开辞退一事,谷歌再次陷入到众人讨伐的舆论漩涡当中。 事情的起因是Gebru的一篇未经谷歌官方审核就发表的学术论文,Gebru坚持认为自己受到了谷歌的不公正对待,而Jeff Dean声称Gebru的论文存在多

字节跳动CEO--张一鸣卧底公司群2天,怒斥员工摸鱼-爱代码爱编程

点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复“大礼包”有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 Learn to bear the pain. Some things, only bad for the heart, soundless and stirless forget for the.

字节跳动CEO张一鸣卧底公司群2天,怒斥员工摸鱼~-爱代码爱编程

Hi,各位读者们,我是你们的鸭哥! # 张一鸣卧底公司群内,活捉摸鱼员工 12月9日,一张字节跳动CEO--张一鸣怒批,公司员工上班时间专注聊游戏浑水摸鱼的行为,在各大社交平台流转。作为有千亿估值的字节跳动CEO,亲自下场怒批摸鱼行为,迅速点燃了上班摸鱼这个话题。 据截图信息来看。张一鸣是之前因为“试玩原神,在飞书搜到并加入了这个群。最近我

乔布斯的成功启示,看完要被惊醒!-爱代码爱编程

比尔.盖茨曾被问到成功的秘诀,他只给出了一个词:“Focus”(专注); 而乔布斯的回答更直接:专注和简单,一直是我成功的秘诀。 乔布斯一直是“少即是多”的代言人,不仅在手机设计上是这样,日常生活中更是这样。 从1998年到2011年,他都穿着同一套衣服——黑色高领毛衣,牛仔裤和运动鞋。这就是简洁到极致。 乔布斯为什么常年穿一模一样的衣服?