为何 Linus 一个人就能写出这么强的系统,国人却做不出来?

智驾系统分层架构:从传感器到执行器的全链路解析 本文深入解析了智能驾驶系统的分层架构,从传感器数据采集融合、应用层决策到车辆管理层执行,完整呈现了从感知到控制的全链路工作流程。文章重点阐述了架构设计的核心优势在于接口标准化与模块解耦,以ACC和LKA协同场景为例,说明了各层级如何通过清晰分工与高效协作,实现复杂系统的可靠、灵活与易于升级。 阅读详情

点上方蓝色“菜鸟学Python”,选“星标”公众号

重磅干货,第一时间送到

转自:默然 + Coldwings(知乎)

www.zhihu.com/question/63187737

他是谁,Linus!

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

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

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

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

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

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

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

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 需要买书后获得)。

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

https://www.oreilly.com/openbook/opensources/book/appa.html

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

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

我想 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是他一个人开发的这种事情,是不存在的。

今天给大家整理了关于 Python 资源最全的中文合集!

这个开源资源是由 vinta 发起维护的 Python 资源列表,内容包括:

1 Web 框架网络爬虫

2 网络内容提取

3 模板引擎

4 数据库

5 数据可视化

6 图片处理

等

最难得可贵的是该资源,还有人专门持续更新。

项目的详细内容如下:

(可上下滑动查看全部资源)

资料获取方法

1. 扫描下方二维码

2. 后台回复关键词:开源

????长按上方二维码 2 秒
回复「开源」即可获取资料


推荐阅读:这个GitHub 1400星的Git魔法书火了,斯坦福校友出品丨有中文版贼 TM 好用的 Java 工具类库
超全Python IDE武器库大总结,优缺点一目了然!
秋招来袭!GitHub28.5颗星!这个汇聚阿里,腾讯,百度,美团,头条的面试题库必须安利!
收获10400颗星!这个Python库有点黑科技,竟然可以伪造很多'假'的数据!
牛掰了!这个Python库有点逆天了,竟然能把图片,视频无损清晰放大!
点这里,获取一大波福利
遥感图像小白--2--图像分割 遥感图像分割基础入门 阅读详情

相关推荐

ICC II 时钟树综合(CTS)前奏:从约束定义到NDR规则的全方位设置指南

本文详细介绍了ICC II中时钟树综合(CTS)的前期准备工作,包括约束定义、NDR规则设置和时钟平衡点控制等关键步骤。通过实际案例和代码示例,指导工程师如何优化时钟偏斜、插入延迟和信号质量,确保芯片设计的时序收敛和性能稳定。特别强调了非默认布线规则(NDR)在时钟网络设计中的重要性。

weixin_42530458的博客 212

Linux之父访谈录:设计内核只为了好玩

“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两 者的人,就是Linus Torvalds。”这是美国《时代》周刊对Linux之父Linus的评价。Linus除了是一位IT奇才外,还是一个乐观幽默的学者。IT168记者 带你走进Linux之父的专访现场。

流浪天空 942

FortiOS路径遍历漏洞CVE-2022-41328实战复现:从环境搭建到漏洞利用全记录

本文深入解析FortiOS路径遍历漏洞CVE-2022-41328,从漏洞背景、影响范围到技术原理进行全面剖析。提供详细的漏洞复现环境搭建步骤和实战利用方法,并给出官方修复方案与临时缓解措施,帮助企业有效防御此类防火墙漏洞风险。

weixin_30485379的博客 522

为何 Linus 一个人就能写出这么强的系统?

当然,他不是一蹴而就的,他是先在自己的386上写了一个多线程的程序,然后发展成了终端模拟器,为了让终端模拟器开机就能运行,从BIOS开始,写引导程序,搞定实模式和保存模式的切换,后来为了保存数据,又添加了磁盘驱动,I/O管理......最后赫然发现:自己写了一个操作系统。最后总结一下:Linux这么强的操作系统,不是Linus一个人写出来的,他在合适的时间发起了这个项目,并且找到了一种有效的开发方式,用卓越的领导能力组织起了几十万人的协作开发,最终发展成了全世界最流行的操作系统。

IT界那些事儿 6107

CAS5和CAS6自定义异常提示消息

CAS自定义异常提示消息

weixin_42949219的博客 979

nginx配置视频流加密防盗链(一)安装nginx插件

前段时间研究了一下视频流的简单加密防盗链,参考了很多文章,最后总算搞出来了。现在自己总结了一下。

u013294657的博客 1864

开源之父--Linus

Git 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢? 事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本...

Ask_for_advice的博客 1676

Unreal Engine鸿蒙移植实战:环境配置、构建流程与性能优化指南

游戏引擎移植是跨平台开发中的关键技术环节,其核心原理在于通过适配目标操作系统的底层接口和工具链,实现同一套代码在不同硬件和软件环境下的高效运行。这项技术的价值在于最大化代码复用率,降低多平台维护成本,并能让应用快速触达新兴生态系统的用户。在移动游戏和XR应用领域,随着鸿蒙HarmonyOS生态的快速发展,将成熟的商业引擎如Unreal Engine迁移至此平台,成为开发者探索新市场机会的重要路径。本文聚焦于Unreal Engine项目向鸿蒙系统的移植实践,详细解析了从环境搭建、源码适配到构建打包的全链路流

weixin_29011395的博客 410

linus 用的linux版本,Linus Torvalds的重大消息

Linux创始人LinusTorvalds在内核邮件列表上宣布正式释出LinuxKernel4.9,这个版本被称为时尚改进最大的版本,同时4.10合并窗口已经开启。但值得注意的是,为期两周的合并窗口预计将在圣诞节这天关闭,因为假期的原因Torvalds考虑缩短或延长合并窗口,最有可能的做法是缩短合并窗口时间,以便于开发者们能度过一个平静的圣诞假期。LinusTorvalds在内核邮件截图据...

weixin_42515512的博客 1193

2026华为OD面试题084:贪心的商人

商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。 每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。 注:同一件商品可以反复买进和卖出。 输入描述: - 第一行输入商品数量 `number` - 第二行输入商人售货天数 `days` - 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in

琅嬛福地 274

【保姆级教程】教你如何轻松获取MIMIC数据使用权限

文章非常详细地介绍了MIMIC数据库申请使用的全部步骤。

越努力 越幸运 6600

计算机界的50位大牛(11)——林纳斯・托瓦兹:Linux之父

有一颗耀眼的巨星,他以一己之力改变了操作系统的格局,推动了开源运动的蓬勃发展,他就是被人们尊称为 “Linux 之父” 的林纳斯・托瓦兹(Linus Benedict Torvalds)。他的故事充满了创新、坚持与对技术纯粹的热爱,激励着无数青少年投身于计算机科学的奇妙世界。

zhulangfly的专栏 4629

ThingsBoard 场景联动需求

当初有个兄弟请我帮他实现一个需求,需求如上,很简单,实现完成后我怕他操作不来,又写了这份文档给他,今天把这个文档的场景发出来,大家也可以学习一下思路我把需要模拟设备的指令都总结在下面,连接参数截图讲解如下:温度传感器风扇光照传感器灯。

AldrichEugene 1233

为何 Linus 一个人就能写出Linux这么强的系统?

转自:默然 + Coldwings(知乎) 链接:www.zhihu.com/question/63187737 他是谁,Linus! 林纳斯・托瓦兹(Linus Torvalds, 1969 年~),著名程序员,Linux 内核的发明人及该计划的合作者。 托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统内核之一。 现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全力开发 Linux 内核。 Linus 研究生时期开始

驽马十驾 才定不舍 3711

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

知乎上有人提问:为何 Linus 一个人就能写出这么强的系统,中国却做不出来?有人这么回答:你看 Linus 自传就完事了。Linus 研究生时期开始写操作系统(大约是 91 年),那时候个人电脑(PC)虽然兴起一些年了,但是还只是小部分程序员和狂热爱好者的玩具。硬件基本上都靠自己攒,软件也是用开源系统各种魔改。所以普通人根本没有折腾PC的动力和理由。Unix 已经霸占了许多生产力场景,唯一的缺点...

嵌入式Linux 395

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

为何 Linus 一个人就能写出这么强的系统,而我们却做不出来?

来源:CodeSheep大家好。一个多月前我曾写过一篇文章聊了聊CentOS这款Linux系统在停服后的一些平替问题。我清晰地记得当时评论区有一位小伙伴提出了一个这样的问题:“为什么别人信手拈来就能写出一个操作系统,而我们这么多大公司、那么多程序员就不行?”其实当时看到这条评论时还蛮想写一些文字详细回复一下的,但是受限于时间和评论区篇幅的问题,当时也就没能展开细写。毕竟一个操作系统的产生、发展和繁...

码农code之路 245

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 成千上万个站点,日数据过亿的大规模爬虫是怎么实现的?
下一篇: 开发者数量2025年预计破亿,TypeScript受欢迎度飙升:GitHub最新年度报告
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值