导读 | Linux内核4.7已经款款走来,它在安全性方面得到增强,并在发布之后经历了一系列自动化测试。在今天的文章中,我们将了解在Linux高度普及的当下,IT专业人士应如何利用其支持从移动设备到服务器再到超级计算机的各类硬件。 |
Linux无处不在——从Android智能手机与平板电脑,到企业服务器再到超级计算机。事实上,大多数IT专业人士都与Linux有着不解之缘。而随着25周岁的来临,Linux这款开源操作系统也迎来了新的发展阶段。
根据Linux基金会发布的声明,自2005年以来超过1300家企业为Linux内核作出过贡献。而企业雇主对于具备Linux技能的人员也相当青睐。
在2016年开源职位报告当中,87%的经理人表示很难找到优秀的开源人才,而79%表示自己正努力留存现有开源人才。根据求职网站Dice的统计结果,有400名招聘经理表示他们曾在过去一年中吸纳过开源专业人才,或者有计划在2016年年内雇用开源专家。
那么在Linux高度普及的今天,我们该如何把握Linux内核的未来发展方向?下面来看以下六条基本思路:
自2015年2月8号到2016年7月24号,Linux内核进行了九次更新。在此期间,每个版本在九到十周之内会对Linux内核开发流程每小时平均进行7.8次更新。这意味着Linux能够在保持稳定性与实用性之余,继续提供持续的系统变更。
Linux已经成为过去25年当中变化规模最大的软件项目。它能够持续实现与时俱进,并同时提升功能、巩固安全并支持更多新设备,其中一项非常重要的新功能在于能够在系统运行时对内核进行补丁更新。
面对如此可观的变化规模,保持内核长期稳定自然是件大难题,而Linux内核进程团队对其进行了极大完善。各内核版本必须在准备就绪之前尽可能找到其中的各类错误。因此,在九到十周的新内核发布周期当中,更新会以每周一个的节奏进行添加。当下一版本发布之后,此流程即告终止,并将注意力集中在当前版本当中。
在更新进行时,前后两套内核都将保持固定——这部分工作由Linux社区执行——而内核各发布版本的修复工作也同时执行。SUSE、Ubuntu、CentOS、红帽以及其他发行版皆处于主内核或者其他版本之状态下。这些内核会在更新过程中自然保持同步。
每12到20个月之间,更新流程都会选择纳入一套版本并为其提供9到10周的调整时间。选择这套版本,即意味着该Linux版本会在未来两年当中获得更新。3.14版本即属于此类内核之一,它发布于2014年3月30号。下一套此类版本为4.4,发布于2016年1月10号。此内核目前已经更新至4.7。在接下来的两年当中,它将被逐步升级为4.9。
2015年4月12日,内核由3.19升级至4.0。那么,此次大型更新给Linux内核带来了怎样的变化?我们又该如何了解这些具体调整?答案非常简单,4.0版本与之前的几个版本相比并没有什么重大变化。
作为内核开发流程团队的负责人,Linus Torvalds表示他早就希望避免出现2.6.39中曾经出现过的命名错误,因为该编号在用户的快速浏览中可能引发误解。因此在3.19版本发布时,他就将版本号调整为4.0询问了社区意见,并得到了积极的反馈。另外,他在2015年2月12号的博客中表示,他的“手指跟脚趾已经快用完了。”因此4.0版本“并不代表什么特别的含义,而只是为了避免次级数字越来越大,”2016年的Linux内核报告中提到。
安全性已经成为Linux内核开发的优先性焦点。英特尔方面还在它最新x86芯片当中内置有保护扩展机制,并受到现有Linux内核的支持。在此基础上,它的硬件会在特定内存空间中执行外部代码。这项机制能够避免恶意人士进行的缓冲区溢出攻击。ARM芯片还拥有一项“永不特权执行”机制,能够在该体系当中实现类似的功能。
“后续开发工作也重新关注强化内核以避免攻击者夺取系统控制权,甚至利用其中的安全漏洞,”2016年Linux内核报告指出。Linux基金会的核心基础设施倡议——旨在解决互联网与各类广泛普及之开源代码中的漏洞部分——正在积极资助grsecurity项目等工作,目的是进一步提升内核安全性。该项目中包含多项针对内核功能的强化审计、更多进程控制功能以及更为安全的远程非受信连接安全性保障机制。
内核开发进程团队的管理者们会在全面发布之前,以自动化手段对它进行更为全面的测试。举例来说,自初始build与引导之时起,即有一套自动化系统审查该潜在版本,并在4.7版本为期10周的开发当中发现了400项bug——这一切都在最终发布前得到修复。“内核当中包含一套不断发展的自我测试框架,其正在广度与功能方面实现快速演进,”2016年Linux内核报告解释称。
原文来自:
本文地址://q13zd.cn/realize-linux-direction.html编辑:郑帅,审核员:冯琪
本文原创地址://q13zd.cn/realize-linux-direction.html编辑:public,审核员:暂无