在历经8个rc
版本之后,Linux 4.9版本的内核于2016年12月11日如期与大家见面。根据Linux的创始人Linus Torvalds的声明,Linux Kernel 4.9
分支会是一个重大的版本更新,其间会经过8个研发版本。Linus Torvalds 在2016年12月11日在内核邮件列表上宣布正式释出Linux Kernel 4.9
,这一个全新的主线(mainline)版本,同时这也标志着与4.10
版本合并窗口的开启
1. Linux介绍
如果问20世纪最伟大的软件是什么?笔者认为一定是Linux
,如果没有Linux就没有今天的互联网、移动互联网、物联网,更没有占据超过87%市场份额的智能手机操作系统Android
(数据来源:Strategy Analytics Q3季度数据)。
1.1 什么是Linux
Linux
是Unix
系统的一个克隆,由Linus Torvalds及一些组织松散的黑客从头编写。是一个基于POSIX
标准的类UNIX
的多用户、多任务、支持多线程和多CPU的操作系统。
它具有你所期望的UNIX系统的全部特征和功能,包括真正的多任务、虚拟内存、共享库、按需加载、共享的写时复制可执行文件、适当的内存管理、包括IPv4和IPv6的模块化网络。
Linux 基于GNU
通用公共许可证发行。
1.2 Linux的内核(Lernel
)
是一个一体化内核系统,从技术角度或者严格意义上来讲Linux
这个词只表示Linux系统的内核。CentOS、Ubuntu、Red Hat、Debian、Fedora等发行版,都是基本这个Linux
内核进一步开发和发行的。而Linux的创始人及其团队,也只负责内核的Linux
内核的开发和维护。Linux
内核源码托管于github,网址如下:
https://github.com/torvalds/linux
注:Git
同样是由Linus Torvalds主导,为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。(PS:伟大的人造就了伟大的系统,并同时产生了一大批伟大的工具,致敬。)
1.3 Linux发行版
我们常会听到Linux发行版
的概念。Linux发行版
是指,由组织松散的团队、商业机构或志愿者组织编。通常会包括系统软件和应用软件,以及一个用于简化系统初始安装的安装工具,和让软件安装升级的软件管理器(如:RPM
、DPKG
)。
如,前文提到的CentOS、Ubuntu、Red Hat、Debian、Fedora等Linux系统,都是一个Linux发行版
。它们都基于相同的Linux
内核开发,但集成了不同的系统软件和应用软件,及系统初始化安装工具和软件管理器。
由于不同的发行版都使用了相同的Linux
内核,所以使得Linux平台具有良好的兼容性和跨平台移植性,让相同的软件可以运行于不同的发行版中。也正因此,让Linux
拥有了其它系统所无法比拟的,宠大的软件生态系统。
1.4 Linux内核(Lernel
)的作用及构成
计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机包含处理器、内存、硬盘和其他外设的综合设备。但没有软件来操作和控制,其自身是不能工作的。
完成这个控制工作的软件就称为操作系统,在Linux中被称为Kernel
(内核)。
Linux内核的组成
Linux内核由以下模块组成:
- 进程管理(Process Management)
- 定时器(Timer)
- 中断管理(Interrupt Management)
- 内存管理(Memory Management)
- 模块管理(Module Management)
- 虚拟文件系统接口(VFS Layer)
- 文件系统(File System)
- 设备驱动程序(Device Driver)
- 进程间通信(Inter-process Communication)
- 网络管理(Network Management)
- 系统启动(Iystem Init)
- 其它
Linux内核版本号
在Linux发展过程,先后使用过三种不同的版本命名方案:
- 早期版本 - 第一个版本为
0.01
。其后是0.02
、0.03
、0.10
、0.11
、0.12
(第一GPL版本)、0.95
、0.96
、0.97
、0.98
、0.99
1.0
。 - 旧计划,数字由
A.B.C
三部分表示(1.0和2.6版之间)-A
表示主版本号;B
表示次主版本号;C
较小的末版本号。其间,
A
只变化过两次,分别1994年的1.0
和1996年的2.0
B
用于判断Linux是否稳定,偶数的B
代表稳定版,奇数的B
代表开发版C
表示一些Bug修复、安全、新特性和驱动更新的次数 time-based
表示方式 -2.6.0
以后,人们觉得应该使用更短的发布周期。表示格式更新为A.B.C
表示方式。其中,
A
和B
保持不变;C
表示内核的版本;D
表示Bug修复、安全补丁、新特性等,通常以'rc'
表示
2. Linux 4.9内核有哪些更新
Linux Kernel 4.9
的发布后,4.9
将是最新的主干分支(mainline)。Linus 也表示4.9
是一个重大的更新,该版本的发布,也标志着与4.10
全并窗口的开启,合并周期约为两周,会在圣诞节前后关闭。
在4.9
牌本的内核带来的改变有:
- 虚拟映射内核栈(virtually mapped kernel stacks)
- 内存保护键系统调用(Memory-protection keys system calls)
- BBR拥堵控制算法(BBR congestion-control algorithm)
- Greybus总线架构支持(Support for the Greybus bus architecture )
- 虚拟映射内核栈(virtually mapped kernel stacks)
- XFS文件系统共享扩展(Shared extents in the XFS filesystem)
- BUG修改及其它…