5月22日,Linux内核迎来了版本更新,5.18版本早已可以下载,23日5.19版本开放了合并窗口。这次5.18版本中一个更新之前就造成过人们的讨论:英特尔的软件定义芯片(SDSI)机制的驱动程序包含在了内核之中,它拥有许多功能,简单点说就是可以限制用户对于处理器个别功能的使用——在用户付费之前。似乎在技术上它与其他驱动程序没有哪些不一样,而且英特尔并没有说明她们的目的,你们对此表示不理解并隐有疑虑。
▲今年2月在5.18版本合并窗口看见这种信息的时侯
人们就对此表示十分不理解
在5.19版本合并信息中,关于显示/图形驱动更新内容降低了近50万行代码(新增495,793行),其中大多是AMD提供的。这样看来,假如最终合并到5.19版本中,AMDGPU/AMDKFD内核驱动代码将突破400万行!
其实,这种数字并不是哪些有特殊益处的指标,而是让我们可以思索一些问题:Linux这个全球都在用的操作系统是怎样成长到明天的?它是怎样发展的?作为一个开源项目它那3000万行核心代码都是哪里来的?
Linus和Linux
所有的这一切都要从林纳斯·托瓦兹(LinusTorvalds)说起,是他创造了最初的Linux。
“只要有台笔记本,这小孩就不用管了”
林纳斯是立陶宛人,1969年出生于格拉斯哥市。他的家庭条件挺好,父亲祖母都是记者,外祖母是爱尔兰第一批统计学院士。很小的时侯他就喜欢笔记本,最开始是在外祖母的指导下使用BASIC语言编撰一些小程序,后来自己便沉溺其中,开始只身摆弄计算机。
就如他在自传中写的一样:
母亲对她的一些同学们说,我是个十分好养的小孩。她只要把我置于一个黑咕隆咚的贮藏柜里,再配上一台笔记本,时常朝里扔一些日本拉面,我都会倍感分外高兴了。她的话不无道理。
母亲对她的一些同学们说,我是个十分好养的小孩。她只要把我置于一个黑咕隆咚的贮藏柜里,再配上一台笔记本,时常朝里扔一些日本拉面,我都会倍感分外高兴了。她的话不无道理。
步入学院开始计算机专业学习后,他有了自己的笔记本,不过却没有一个好用的操作系统——当时主流的Unix实在太贵,大多发行版也都是闭源不好用。大学期间他去服了兵役,被分到计算机部门。后来,他买到一本安德鲁·斯图尔特·特南鲍姆写的教科书和对应的Minix操作系统源码,一下子便爱上了它,没日没夜地抱着那本书。
“当时我的生活只有编程”
回到中学以后,林纳斯开始编撰自己的操作系统。他觉得对于所有程序员来说,编程是世界上最有趣的事,只要制订了规则,都会得到与之相符的结果。
在写那种操作系统期间,他几乎没有任何社交,生活中的全部就是写代码。在追忆当时的情形时,他是这样说的:
这耗费了我大量的精力:编程――睡觉――编程――睡觉――编程――吃饭(巧克力)――编程――睡觉――编程――洗澡(冲冲了事)――编程。
从小积累上去对计算机的兴趣,驱使着他把大部分时间投入到编程之中,投入到开发这个操作系统之中。
1991年8月25日linux课程,林纳斯看着这个雏型初现的操作系统,在Minix社区——就是他买的那本操作系统开发教科书使用的Minix操作系统讨论社区——上发布了一个贴子,述说自己的看法和现今在做的事情,是想做一个完全开源的项目。
▲当时林纳斯发布的贴子网路档案
Linux诞生!
Minix社区中好多人都喜欢Minix操作系统,并且它专门为了教学,但是作者拒绝添加新的代码。所以当林纳斯把自己的看法和进展在峰会上发出来以后,很快导致了好多人的兴趣,她们也参与到这个项目当中,贡献自己的代码和看法。
为了可以让社区成员下载和使用源码,在同年9月,林纳斯把代码传到了美国学院和研究网路(FUNET)的FTP服务器上,发布了Linux内核版本0.01——最开始它的名子并不叫Linux,是服务器管理员给的建议。
Linux诞生!这个版本的Linux内核代码总共只有10239行。
其实,在当时这并不是一个真正的操作系统,它只是一个内核。大多数人——包括林纳斯——他们都期盼GNU项目。
Linux操作系统与Linux内核
GNU是一个伟大的项目,她们当时构想做一系列完全自由的软件和操作系统,而且完成了大部份操作系统所需的组件,并在努力开发其内核GNUHurd。
只不过,可能是由于她们对于这个系统的定位过低或则其他缘由,内核的开发仍然遇见阻挠,迟迟未能推动,造成操作系统难以使用。
所以Linux得到了很大的发展空间,获得了大量的开发人员和用户。
Linux的开源
如林纳斯在最开始贴子里讲的那样,他的目的就是开发一个自由的项目,所以把源码公开给所有开发者,让她们可以参与其中。
随着更多的开发者参与进来,Linux得到了迅速的发展,无数代码从世界各地传到林纳斯手里,之后被选择合并到内核代码中。
最开始,Linux使用的是林纳斯她们自行起草的开源许可证,在这个许可证下不容许别人对Linux进行商业再分发操作。到1992年的0.12版本时,他采用了GNU通用公共许可证(GPL)。
采用GPL以后linux漏洞扫描,更多的企业和机构见到了Linux的潜力,见到了Unix操作系统的代替品影子,她们也加入进来帮助开发Linux内核,贡献自己的代码。
GNU/Linux操作系统
Linux内核的合作开发模式与林纳斯的开源思想,让Linux得到了无法想像的成功。
这与GNU项目理念不谋而合。GNU开始支持Linux,经过无数开发者的努力,Linux内核完美地与GNU早已做好的其他应用与组件融合,成为了真正的操作系统——GNU/Linux操作系统。
我们昨天所说的Linux系统,似乎指的就是GNU/Linux操作系统。在这套操作系统中,每一个具体的实现都是由相同或不同的开发者负责,例如最开始的内核是由林纳斯编撰;DonaldKnuth则负责文本排版软件(TeX);窗口系统(XWindow系统)是BobScheifler开发的等等。
它们整个一起,才称作操作系统。
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世界
这本书特别精典,也特别基础。最开始是作者自己从零摸索开始学习Linux的经验,为了帮助更多的人学习Linux知识,他将这些内容整理成书。正因这么,书中的内容安排是一个循序渐进的过程,渐渐地带着读者认识和步入Linux世界。
本书还有一个很大的特色,在讲解一些专业概念的时侯,作者使用了特别口语化的叙述,这让读者可以更容易地理解与接收。有些图书过分专业和书面的描述在阅读的时侯可能会消磨掉一些耐心,影响学习效率。
作为基础篇,本书不仅仅适宜完全零基础的入门,也适宜有一定基础的从业人员阅读——因为本书对于概念的讲解十分细致,深入浅出,对于功能和命令的介绍都搭配了大量的实际操作和详细的解析。
对于初学者,这种内容是一个十分好的入门老师,面面俱到linux内核最新版本2018,简单易懂;对于有基础的人来说,这本书也可以是特别好的百科全书,内容覆盖全面,讲解详尽。
《Linux就该如此学》
▲致敬开源,和刘老师一起学Linux
作为Linux入门好书,这本《Linux就该如此学》的编撰就历时超过3年,数十万读者与30多家媒体对本书的内容与品质进行了认证。
本书作者刘遄是Linux基金会成员,是国外较早一批拥有红帽认证的Linux讲师。多年以来,他仍然从事Linux运维技术和红帽认证课程的培训工作,具备特别丰富和专业的Linux知识及其教学经验。
所以本书真正从菜鸟角度思索并指引Linux入门,对初学者十分友好。所有内容都是基于最新版的Linux系统编撰,可以拿来自学RHEL、CentOS、Ubuntu等主流系统。同时,本书作者极具开源精神,随书配套站点免费提供了Linux学习所须要的成套工具和服务!在线阅读、软件工具、进阶资料等应有尽有!
不怕学不会,只怕你不去学!每晚只需1小时,连续30天,一边看书一边实践操作,你都会发觉自己早已把握了Linux操作系统。
《UNIX/Linux系统管理技术指南(第5版)》
▲使用最新的Linux系统,全方位了解UNIX/Linux
豆瓣评分9.1的精典技术指南!在后面的几版基础上更新了使用的案例,以当前主流的5种Linux发行版为例,从单机Linux各类管理知识和技术、网络、X窗口系统和复印系统等不容忽略的重要主题三个方面入手,全方位地讲解UNIX/Linux知识。
作为一本技术指南,本书中对比了Linux和UNIX各个版本的区别与细节,为读者描绘出了两个系统的整体构架,包罗万象。作者对于每位知识点,都尽量从概念入手,之后到基础用法。并且三位作者都是经验丰富的计算机专家,具备特别丰富的使用和开发经验,她们把这种经验融合到书中,对于实际操作具有特别好的指导作用。
在技术之外,作者使用诙谐的语言讲了许多UNIX/Linux发展过程中一些有趣的事情与八卦,还有它们的哲学思想。反正,本书是一本十分全面的UNIX/Linux系统知识学习的指南。
林纳斯推荐的好书,不可错过!
《Linux中级程序设计(第三版)》
▲全方位地帮助读者把握Linux程序设计方法
本书具备十分全面的基础知识,借以帮助读者完成Linux系统下显存、CPU、磁盘、网络及音频设备的访问及管理知识把握。
使用的开发工具,是GCC4.0/GDB6.3,详尽介绍了Linux系统下编程环境及编程工具、文件管理、进程管理、属性控制以及网路基本编程、高级应用等内容。
本书以案例为指导,让读者可以针对每一个知识点使用书中的应用案例进行实例编程演习,真正把握Linux系统程序设计。
《Linux命令行大全第2版》
▲认识和了解每一个常用的命令行
见到这本书的名子,你们可能有些费解:一本命令行大全有哪些好推荐的?随意搜索一下就很多。这而且个大误解!这本书其实不是简单地展示一些命令行!它是从命令行入手,全方位地解析Linux命令。
几乎所有的程序员都绕不开Shell的操作,本书就从Shell基本用法开始,循序渐进地述说怎样配置文件、常见任务与必备工具,最后开始自己编撰Shell脚本。对于这个过程中使用的每一条命令行,作者都进行了清晰详尽的讲解,哪些是相对路径、什么是绝对路径这些基础问题也都讲得清楚而不显碍眼。
通过阅读本书,读者才能对Linux命令有更深的理解,而且可以在实际工作与学习中自如地使用。所以本书适宜这些想要快速把握Linux命令及使用的读者;对于晓得使用命令并且并不清楚其中原理的读者,本书也是极好的参考。
不管是工作使用,还是日常学习,本书都可以在Linux命令上帮上大忙!不晓得命令如何用?不晓得这条命令的原理?掀开书,你就晓得了。
结语
我们可以发觉,使用GNU/Linux是十分复杂的系统,同样的它也为编程开发提供了无限的可能!所以在学习和使用的时侯,须要明晰自己的需求,晓得自己是要把握哪些内容。
是只要会操作就行了?兴趣作祟?还是须要在Linux环境下做开发?是要做服务器运维?只有真正晓得了自己为何去学,才可以晓得如何去学,之后从里面的书中选择适宜自己的一本linux内核最新版本2018,选购其中合适的内容进行学习。