Linux新内核发布,下版本AMD新增40多万行代码

2022年07月13日23:49:13 热门 1802

5月22日,Linux内核迎来了版本更新,5.18版本已经可以下载,23日5.19版本开放了合并窗口。此次5.18版本中一个更新之前就引起过人们的讨论:英特尔的软件定义芯片(SDSI)机制的驱动程序包含在了内核之中,它拥有许多功能,简单点说就是可以限制用户对于处理器某些功能的使用——在用户付费之前。虽然在技术上它与其他驱动程序没有什么不一样,但是英特尔并没有说明他们的目的,大家对此表示不理解并隐有担忧。

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

今年2月在5.18版本合并窗口看到这些信息的时候

人们就对此表示非常不理解

在5.19版本合并信息中,关于显示/图形驱动更新内容增加了近50万行代码(新增495,793行),其中大多是AMD提供的。这样看来,如果最终合并到5.19版本中,AMDGPU/AMDKFD内核驱动代码将突破400万行!

当然,这些数字并不是什么有特殊用处的指标,而是让我们可以思考一些问题:Linux这个全球都在用的操作系统是如何成长到今天的?它是如何发展的?作为一个开源项目它那3000万行核心代码都是哪儿来的?


Linus和Linux


所有的这一切都要从林纳斯·托瓦兹(Linus Torvalds)说起,是他创造了最初的Linux。

“只要有台电脑,这孩子就不用管了”

林纳斯是芬兰人,1969年出生于赫尔辛基市。他的家庭条件很好,父母祖父都是记者,外祖父是芬兰第一批统计学教授。很小的时候他就喜欢电脑,最开始是在外祖父的指导下使用BASIC语言编写一些小程序,后来自己便沉迷其中,开始独自鼓捣计算机。

就如他在自传中写的一样:

妈妈对她的一些朋友们说,我是个非常好养的孩子。她只要把我放在一个黑咕隆咚的储藏柜里,再配上一台电脑,偶尔朝里扔一些意大利面条,我就会感到格外高兴了。她的话不无道理。

妈妈对她的一些朋友们说,我是个非常好养的孩子。她只要把我放在一个黑咕隆咚的储藏柜里,再配上一台电脑,偶尔朝里扔一些意大利面条,我就会感到格外高兴了。她的话不无道理。

进入大学开始计算机专业学习后,他有了自己的电脑,不过却没有一个好用的操作系统——当时主流的Unix实在太贵,大多发行版也都是闭源不好用。大学期间他去服了兵役,被分到计算机部门。后来,他买到一本安德鲁·斯图尔特·特南鲍姆写的教科书和对应的Minix操作系统源码,一下子便爱上了它,没日没夜地抱着那本书。

“当时我的生活只有编程”

回到学校之后,林纳斯开始编写自己的操作系统。他认为对于所有程序员来说,编程是世界上最有趣的事,只要制定了规则,就会得到与之相符的结果。

在写那个操作系统期间,他几乎没有任何社交,生活中的全部就是写代码。在回忆当时的情形时,他是这样说的:

这花费了我大量的精力:编程――睡觉――编程――睡觉――编程――吃饭(饼干)――编程――睡觉――编程――洗澡(冲冲了事)――编程。

从小积累起来对计算机的兴趣,驱使着他把大部分时间投入到编程之中,投入到开发这个操作系统之中。

1991年8月25日,林纳斯看着这个雏形初现的操作系统,在Minix社区——就是他买的那本操作系统开发教科书使用的Minix操作系统讨论社区——上发布了一个帖子,讲述自己的想法和现在在做的事情,是想做一个完全开源的项目。

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

当时林纳斯发布的帖子网络档案

Linux诞生!

Minix社区中很多人都喜欢Minix操作系统,但是它专门为了教学,而且作者拒绝添加新的代码。所以当林纳斯把自己的想法和进展在论坛上发出来之后,很快引起了很多人的兴趣,他们也参与到这个项目当中,贡献自己的代码和想法。

为了可以让社区成员下载和使用源码,在同年9月,林纳斯把代码传到了芬兰大学和研究网络(FUNET)的FTP服务器上,发布了Linux内核版本0.01——最开始它的名字并不叫Linux,是服务器管理员给的建议。

Linux诞生!这个版本的Linux内核代码总共只有10239行。

当然,在当时这并不是一个真正的操作系统,它只是一个内核。大多数人——包括林纳斯——他们都期待GNU项目。


Linux操作系统与Linux内核


GNU是一个伟大的项目,他们当时设想做一系列完全自由的软件和操作系统,并且完成了大部分操作系统所需的组件,并在努力开发其内核GNU Hurd。

只不过,可能是因为他们对于这个系统的定位过高或者其他原因,内核的开发一直遇到阻碍,迟迟无法推进,导致操作系统无法使用。

所以Linux得到了很大的发展空间,获得了大量的开发人员和用户。

Linux的开源

如林纳斯在最开始帖子里讲的那样,他的目的就是开发一个自由的项目,所以把源码公开给所有开发者,让他们可以参与其中。

随着更多的开发者参与进来,Linux得到了迅速的发展,无数代码从世界各地传到林纳斯手里,然后被选择合并到内核代码中。

最开始,Linux使用的是林纳斯他们自行起草的开源许可证,在这个许可证下不允许他人对Linux进行商业再分发操作。到1992年的0.12版本时,他采用了GNU通用公共许可证(GPL)。

采用GPL之后,更多的企业和机构看到了Linux的潜力,看到了Unix操作系统的替代品影子,他们也加入进来帮助开发Linux内核,贡献自己的代码。

GNU/Linux操作系统

Linux内核的合作开发模式与林纳斯的开源思想,让Linux得到了难以想象的成功。

这与GNU项目理念不谋而合。GNU开始支持Linux,经过无数开发者的努力,Linux内核完美地与GNU已经做好的其他应用与组件融合,成为了真正的操作系统——GNU/Linux操作系统

我们今天所说的Linux系统,其实指的就是GNU/Linux操作系统。在这套操作系统中,每一个具体的实现都是由相同或不同的开发者负责,比如最开始的内核是由林纳斯编写;Donald Knuth则负责文本排版软件(TeX);窗口系统(X Window系统)是Bob Scheifler开发的等等。

它们整个一起,才叫做操作系统。

Linux是内核:它为计算机运行的其他程序分配计算资源和程序,是操作系统的基本部分,自己不会直接发挥作用——于用户而言。它只能在完整的操作系统框架下才能发挥作用。

Linux系统与Linux内核

尽管不少人知道Linux是一个内核而不是操作系统,大多数时候还会把整个系统叫做“Linux”——包括大多数程序员也是这样说的。

这一切的来源都是林纳斯设计编写了最初的Linux,并且把它完全公开,让全世界的开发者能够共同参与并将它发展成今天无比成功的样子——几乎所有服务器都使用的是GNU/Linux系统。

开放源代码促进会首届主席雷蒙德曾开玩笑说:“很有趣的是,如果你发自内心的谦逊,并承认你欠别人很多,你将很快发现世界会这样对你:他们认为是你发明了整个软件,而且你对自己的天赋有着得体的谦虚。我们可以看到这一点在林纳斯身上体现得有多好!”

很多人以为Linux是林纳斯以一人之力开发出来的,大概也是因为这种想法。

读完硕士之后,林纳斯进入了全美达公司工作,直到2003年离开——离开是为了专心Linux内核的发展。他加入开源码发展实验室(OSDL),担任Linux内核的主要维护者。两年后,因为一些事情,林纳斯在十天之内发明了现在几乎所有程序员都在用的git作为Linux内核的版本管理工具,则又是另一个故事了。

相比最开始的开发者直接发邮件给林纳斯,现在整个Linux内核的开发变得规范与流畅。Linux内核各部分有专门的维护人员,当他们收到修改代码后会进行审查。如果这些修改足够重要,那么包含这些信息的拉取请求将到几天内发给林纳斯。如果不是那么重要,将会在下一个合并窗口时向林纳斯发送拉取请求——比如现在内核5.18版本发布了,5.19版本的拉取窗口开启,持续两周左右。

现在,Linux内核已经拥有了近3000万行代码,这些贡献来自全世界无数自由开发者,还有英特尔、红帽、三星、IBM等大企业。

如今大部分时候说Linux——如果没有特别指明Linux内核,则指的是包含Linux内核的操作系统,它们有着各种各样的GNU/Linux版本,称之为发行版。关于Linux的操作、运维、开发等内容,也都不是指Linux内核层面。

经过30年的发展,Linux已经成为互联网中不可缺失的角色。不仅是专门的Linux开发运维,日常的学习与开发都不可避免地要接触Linux,对Linux知识有着不同层次的需求。

小异今天就带来五本好书,满足大家对于Linux学习的不同需求,让大家不管是专门做Linux开发,还是单纯想要学会Linux使用都可以即学即会!


即学即会,Linux也能得心应手


从零开始学Linux,无数人会选择“鸟哥的Linux私房菜”系列。

《鸟哥的Linux私房菜 基础学习篇 第四版》

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

经典入门,点击进入Linux世界

这本书非常经典,也非常基础。最开始是作者自己从零摸索开始学习Linux的经验,为了帮助更多的人学习Linux知识,他将那些内容整理成书。正因如此,书中的内容安排是一个循序渐进的过程,慢慢地带着读者认识和进入Linux世界。

本书还有一个很大的特色,在讲解一些专业概念的时候,作者使用了非常口语化的表述,这让读者可以更容易地理解与接收。有些图书过于专业和书面的描述在阅读的时候可能会消磨掉一些耐心,影响学习效率。

作为基础篇,本书不仅仅适合完全零基础的入门,也适合有一定基础的从业人员阅读——因为本书对于概念的讲解非常细致,深入浅出,对于功能和命令的介绍都搭配了大量的实际操作和详尽的解析。

对于初学者,这些内容是一个非常好的入门老师,面面俱到,简单易懂;对于有基础的人来说,这本书也可以是非常好的百科全书,内容覆盖全面,讲解详细。

《Linux就该这么学》

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

致敬开源,和刘老师一起学Linux

作为Linux入门好书,这本《Linux就该这么学》的编写就耗时超过3年,数十万读者与30多家媒体对本书的内容与品质进行了认证。

本书作者刘遄是Linux基金会成员,是国内较早一批拥有红帽认证的Linux讲师。多年以来,他一直从事Linux运维技术和红帽认证课程的培训工作,具备非常丰富和专业的Linux知识及其教学经验。

所以本书真正从新手角度思考并指引Linux入门,对初学者极其友好。所有内容都是基于最新版的Linux系统编写,可以用来自学RHEL、CentOS、Ubuntu等主流系统。同时,本书作者极具开源精神,随书配套站点免费提供了Linux学习所需要的成套工具和服务!在线阅读、软件工具、进阶资料等应有尽有!

不怕学不会,只怕你不去学!每天只需1小时,连续30天,一边看书一边实践操作,你就会发现自己已经掌握了Linux操作系统。

《UNIX/Linux 系统管理技术手册(第5版)》

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

使用最新的Linux系统,全方位了解UNIX/Linux

豆瓣评分9.1的经典技术手册!在前面的几版基础上更新了使用的案例,以当前主流的5种Linux发行版为例,从单机Linux各种管理知识和技术、网络、X窗口系统和打印系统等不容忽视的重要主题三个方面入手,全方位地讲解UNIX/Linux知识。

作为一本技术手册,本书中对比了Linux和UNIX各个版本的区别与细节,为读者勾勒出了两个系统的整体架构,包罗万象。作者对于每个知识点,都尽量从概念入手,然后到基础用法。而且三位作者都是经验丰富的计算机专家,具备非常丰富的使用和开发经验,他们把这些经验融合到书中,对于实际操作具有非常好的指导作用。

在技术之外,作者使用幽默的语言讲了许多UNIX/Linux发展过程中一些有趣的事情与八卦,还有它们的哲学思想。总之,本书是一本非常全面的UNIX/Linux系统知识学习的手册。

林纳斯推荐的好书,不可错过!

《Linux 高级程序设计(第三版)》

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

全方位地帮助读者掌握Linux程序设计技巧

本书具备非常全面的基础知识,旨在帮助读者完成Linux系统下内存、CPU、磁盘、网络及音频设备的访问及管理知识掌握。

使用的开发工具,是GCC 4.0/GDB 6.3,详细介绍了Linux系统下编程环境及编程工具、文件管理、进程管理、属性控制以及网络基本编程、高级应用等内容。

本书以案例为指导,让读者可以针对每一个知识点使用书中的应用案例进行实例编程演练,真正掌握Linux系统程序设计。

《Linux命令行大全 第2版》

Linux新内核发布,下版本AMD新增40多万行代码 - 天天要闻

认识和了解每一个常用的命令行

看到这本书的名字,大家可能有些纳闷:一本命令行大全有什么好推荐的?随便搜索一下就好多。这可是个大误会!这本书当然不是简单地展示一些命令行!它是从命令行入手,全方位地解析Linux命令。

几乎所有的程序员都绕不开Shell的操作,本书就从Shell基本用法开始,循序渐进地讲述如何配置文件、常见任务与必备工具,最后开始自己编写Shell脚本。对于这个过程中使用的每一条命令行,作者都进行了清晰详细的讲解,什么是相对路径、什么是绝对路径这种基础问题也都讲得清楚而不显累赘。

通过阅读本书,读者能够对Linux命令有更深的理解,并且可以在实际工作与学习中自如地使用。所以本书适合那些想要快速掌握Linux命令及使用的读者;对于知道使用命令但是并不清楚其中原理的读者,本书也是极好的参考。

不管是工作使用,还是日常学习,本书都可以在Linux命令上帮上大忙!不知道命令怎么用?不知道这条命令的原理?翻开书,你就知道了。


结语


我们可以发现,使用GNU/Linux是非常复杂的系统,同样的它也为编程开发提供了无限的可能!所以在学习和使用的时候,需要明确自己的需求,知道自己是要掌握什么内容。

是只要会操作就行了?兴趣使然?还是需要在Linux环境下做开发?是要做服务器运维?只有真正知道了自己为什么去学,才可以知道怎么去学,然后从上面的书中选择适合自己的一本,挑选其中合适的内容进行学习。

文章编辑:沙鱼 审校:桐希

参考来源:

[1] Linux Kernel 5.18 Released, This is What's New - OMG! Ubuntu!..

[2] LKML: Linus Torvalds: Linux 5.18..

[3] Linus Torvalds - Wikipedia..

[4]just-for-fun-linus-torvalds. Github.

[5] Thoughts on software-defined silicon[LWN.net]..

热门分类资讯推荐

曾小贤的上司Lisa榕,现实中不仅才貌双全,还嫁给了CEO - 天天要闻

曾小贤的上司Lisa榕,现实中不仅才貌双全,还嫁给了CEO

曾小贤的上司Lisa榕,现实中不仅才貌双全,还嫁给了CEO虽然说《爱情公寓》这部剧在剧情上充满了争议,但是一定程度上,这部剧也是很多人的回忆,是伴随了一代人的青春回忆,而且剧中的很多角色都成为了经典,他们的口头禅也一直被拿来玩儿梗。
Lisa榕做主持多年没红,被陈赫拉进爱情公寓爆红,如今怎样了 - 天天要闻

Lisa榕做主持多年没红,被陈赫拉进爱情公寓爆红,如今怎样了

谈到《爱情公寓》这部火爆一时的欢乐喜剧,大家肯定都不陌生。不知道大家是否还记得《爱情公寓》中那个把曾小贤治得服服帖帖的女上司Lisa榕,现实中的她名叫榕榕,和剧中的形象也判若两人。1981年出生在辽宁沈阳的榕榕,毕业于上海戏剧学院,后来成为了上海东方传媒集团有限公司的一名主持人。