Linux kernel

Protocol Location
HTTP https://www.kernel.org/pub/
GIT https://git.kernel.org/
RSYNC rsync://rsync.kernel.org/pub/

1. 最新版本
2. 版本类别
    Active kernel releases 活动内核版本
    Distribution kernels 分发内核版本
3. 部分较关键历史版本时间线
4. 历史版本代码规模统计
5. 常用Linux分支最新版本的内核版本号(201905)
6. 补充参考信息,部分内容可能已过时

1. 最新版本(包含长期发行版本)

截至2019年5月28号

版本号 时间 版本说明
3.16.68 2019.05.22 Longterm 长期发行版本 2014.08~2020.08
3.18.140[EOL] 2019.05.16 Longterm
4.4.180 2019.05.16 Longterm 长期发行版本 2016.01~2022.02
4.9.179 2019.05.25 Longterm 长期发行版本 2016.12~2023.01
4.14.122 2019.05.25 Longterm 长期发行版本 2017.11~2020.01
4.19.46 2019.05.25 Longterm 长期发行版本 2018.10~2020.10
5.1.5 2019.05.25 stable 稳定版
5.2-rc2 2019.05.26 mainline 主线

2. 版本主要类别

Active kernel releases 活动内核版本

Prepatch 预备
Prepatch或“RC”内核是主线内核预发行版,主要针对其他内核开发人员和Linux爱好者。
它们必须从源代码编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。准备内核由Linus Torvalds维护和发布。

Mainline 主线 新的主线内核每2-3个月发布一次。
主线树由Linus Torvalds维护。它是引入所有新功能的树,以及所有令人兴奋的新开发项目。

Stable 稳定 根据需要发布稳定的内核更新,通常每周一次。
在每个主线内核发布后,它被认为是“稳定的”。任何针对稳定内核的错误修复都从主线树反向移植,并由指定的稳定内核维护者应用。在下一个主线内核可用之前,通常只有少数bugfix内核版本可用 - 除非它被指定为“长期维护内核”。

Longterm 长期
通常有几个“长期维护”内核版本,用于向旧内核树的后端移植错误修复。只有重要的错误修正应用于此类内核,并且它们通常不会看到非常频繁的版本,特别是对于较旧的树。

Distribution kernels 分发内核

许多Linux发行版都提供了自己的“长期维护”内核,这些内核可能也可能不是基于内核开发人员维护的内核。这些内核版本不在kernel.org上托管,内核开发人员不支持它们。

很容易判断您是否正在运行分发内核。除非您从kernel.org下载,编译和安装了自己的内核版本,否则您正在运行分发内核。要找出内核的版本,请运行
uname -r
5.1.5-arch1-2-ARCH
如果在破折号后看到任何内容,则表明您正在运行分发内核。请使用您的分发供应商提供的支持渠道来获取内核支持。

3. 部分较关键历史版本时间线

版本号 时间 版本说明
0.00 1991.2-4 两个进程分别显示AAABBB
0.11 1991.12.8 基本可以正常运行的内核版本
1.0 1994.3.14 linux系统的核心开发队伍建起
2.0 1996.2.9 ipfwadm
2.2 1999.1.26 ipchains
2.4 2001.1.4 netfilter
2.6 2003.12.17 支持多处理器配置和64位计算,
它还支持实现高效率线程处理的本机POSIX线程库(NPTL)。
2.6.15 2006 改进对IPv6的支持
2.6.30 2009.6 改善了文件系统、加入了完整性检验补丁、TOMOYOLinux安全模块、可靠的数据报套接字(datagramsocket)协议支持、
对象存储设备支持、FS-Cache文件系统缓存层、nilfs文件系统、线程中断处理支持等等。
2.6.32 2009.12 增添了虚拟化内存de-duplicacion、重写了writeback代码、改进了Btrfs文件系统、添加了ATIR600/R7003D和KMS支持、CFQ低传输延迟时间模式、perftimechart工具、内存控制器支持softlimits、支持S+Core架构、支持IntelMoorestown及其新的固件接口、支持运行时电源管理、以及新的驱动
2.6.34 2010.5 添加了Ceph和LogFS两个新的文件系统,其中前者为分布式的文件系统,后者是适用于Flash设备的文件系统。
LinuxKernel2.6.34的其他特性包括新的Vhostnet、改进了Btrfs文件系统、对Kprobesjump进行了优化、新的perf功能、RCUlockdep、GeneralizedTTLSecurityMechanism(RFC5082)及privateVLANproxyarp(RFC3069)支持、asynchronous挂起恢复等
2.6.35 2010.8.1 在系统的多个CPU之间分配网络处理负载,Btrfs文件系统加入直接I/O支持,大量新的驱动等
2.6.36 2010.10 Tilera处理器架构支持、新的文件通知接口fanotify、Intel显卡上实现KMS和KDB的整合、并行管理工作队列、Inteli3/5平台上内置显卡和CPU的智能电源管理、CIFS文件系统本地缓存、改善虚拟内存的层级结构,
提升桌面操作响应速度、改善虚拟内存溢出终结器的算法、整合了AppArmor安全模型
(注:与SELinux基于文件的标注不同,AppArmor是基于路径的)
2.6.38 2011.3.15 件操作性能得以提高许多,提高了Wi-Fi的性能等等
2.6.39 2011.5 加入了IPset框架,提高规则匹配速度,更新媒体控制系统等
3.0 2011.7.21  
3.2 2012.1 三星Exynos处理器驱动、VMware显卡驱动脱离.staging tree以及后者的大量变动、Intel/Radeon/Nouveau/DRM大量更新、Btrfs文件系统改进,等等
3.5 2012.7 EXT4文件系统元数据校验,TCP连接的检查与修复
3.12.6 2013.12  
3.16 2014.8 Longterm 长期发行版本 2014.08~2020.08
3.18.11 2015.4 Longterm
3.19 2015.2 为多种触控板增加多点触控支持
3.19.8 2015.5.11 在动态电源管理风扇控制、Flash友好文件系统启动时间、多重触摸等方面做了改进
4.4 2016.1 Longterm 长期发行版本 2016.01~2022.02
4.9 2016.12 Longterm 长期发行版本 2016.12~2023.01
4.14 2017.11 Longterm 长期发行版本 2017.11~2020.01
4.19 2018.10 Longterm 长期发行版本 2018.10~2020.10
5.0.19 2019.05.25 stable 稳定版
5.1.5 2019.05.25 stable 稳定版
5.2-rc2 2019.05.26 mainline 主线

4. 历史版本代码规模统计

https://web.archive.org/web/20180623215917/https://www.linuxcounter.net/statistics/kernel

5. 常用Linux分支最新版本的内核版本号(201905)

分支 排名 点击数 最近更新日期 长期支持 分发版本 内核版本
MX Linux 1 4345 2019-05-27   18.3 4.19.37
Manjaro 2 3382 2019-03-12
2019-05-28
  18.0.4
Stable
4.19.28
5.2rc1…
Mint 3 2197 2018-12-18 2023-04 19.1 4.15
Ubuntu 5 1490 2019-04-18 2020-01 19.04 5.0.0
Fedora 7 1034 2019-04-30   30 5.0.9
Arch 16 582 2019-05-29   current 5.1.15
Gentoo 48 238 2019-05-28   stable
Unstable
4.19.44
5.1.5

6. 补充参考信息,部分内容可能已过时

https://www.linuxidc.com/Linux/2011-08/40049.htm

内核版本号由3 个数字组成:r.x.y。

r:目前发布的内核主版本。
x:偶数表示稳定版本;奇数表示开发中版本。
y:错误修补的次数。

major.minor.patch-build.desc
2.26.35-rc5
1、major:表示主版本号,有结构性变化时才变更。
2、minor:表示次版本号,新增功能时才发生变化;一般奇数表示测试版,偶数表示生产版。
3、patch:表示对次版本的修订次数或补丁包数。
4、build:表示编译(或构建)的次数,每次编译可能对少量程序做优化或修改,但一般没有大的(可控的)功能变化。
5、desc:用来描述当前的版本特殊信息;其信息由编译时指定,具有较大的随意性,但也有一些描述标识是常用的,比如:
<1>rc(有时也用一个字母r),表示候选版本(release candidate),rc后的数字表示该正式版本的第几个候选版本,多数情况下,各候选版本之间数字越大越接近正式版。
<2>smp,表示对称多处理器(Symmetric MultiProcessing)。
<3>pp,在Red Hat Linux中常用来表示测试版本(pre-patch)。
<4>EL,在Red Hat Linux中用来表示企业版Linux(Enterprise Linux)。
<5>mm,表示专门用来测试新的技术或新功能的版本。
<6>fc,在Red Hat Linux中表示Fedora Core。

https://www.ibm.com/developerworks/cn/linux/l-linux-kernel/index.html

Linux-kernel-timeline的更多相关文章

  1. 如何进行Linux Kernel 开发

    转自:http://www.cppblog.com/flyonok/archive/2011/04/15/144316.html 如何进行Linux Kernel 开发? (Take 3) 译者序:这 ...

  2. Android linux kernel privilege escalation vulnerability and exploit (CVE-2014-4322)

    In this blog post we'll go over a Linux kernel privilege escalation vulnerability I discovered which ...

  3. Linux kernel make 常用选项介绍

    Linux kernel 编译方法大全记录 一.这是一个我自己写的自动make脚本: #!/bin/sh export ARCH=arm export CROSS_COMPILE=arm-linux- ...

  4. Linux Kernel代码艺术——系统调用宏定义

    我们习惯在SI(Source Insight)中阅读Linux内核,SI会建立符号表数据库,能非常方便地跳转到变量.宏.函数等的定义处.但在处理系统调用的函数时,却会遇到一些麻烦:我们知道系统调用函数 ...

  5. Linux Kernel 代码艺术——编译时断言

    本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel” 系列文章中),一来通过内核 ...

  6. linux kernel的中断子系统 softirq

    linux kernel的中断子系统之(八):softirq http://www.wowotech.net/irq_subsystem/soft-irq.html http://www.ibm.co ...

  7. karottc A Simple linux-virus Analysis、Linux Kernel <= 2.6.37 - Local Privilege Escalation、CVE-2010-4258、CVE-2010-3849、CVE-2010-3850

    catalog . 程序功能概述 . 感染文件 . 前置知识 . 获取ROOT权限: Linux Kernel <= - Local Privilege Escalation 1. 程序功能概述 ...

  8. linux kernel 字符设备详解

    有关Linux kernel 字符设备分析: 参考:http://blog.jobbole.com/86531/ 一.linux kernel 将设备分为3大类,字符设备,块设备,网络设备. 字符设备 ...

  9. linux kernel 杂谈

    首先介绍一下背景吧,工作三个星期了.复习了一波u-boot,跟了一下事件上报,搞了下平台设备,扣了一个内存检查代码. 想想生活是不是有点无聊.对啊,真的很无聊!!!! 无聊也没有办法啊,所以找点方法去 ...

  10. 与您共享Linux Kernel 4.8分支首个维护版本

    导读 Linux Kernel 4.8正式版于10月2日由Linus Torvalds发布,带来了包括AMDGPU OverDrive支持.NVIDIA Pascal支持.AMDGPU PowerPl ...

随机推荐

  1. 「CQOI2009」中位数

    「CQOI2009」中位数 传送门 这道题将会用到一点桶的思想. 首先我们可以在排列中先找到 \(b\) 的位置(找不到的话就直接输出 \(0\)). 然后我们从 \(b\) 的位置(设为 \(p\) ...

  2. 软件工程 - 防御式编程EAFP vs LBYL

    概念 EAFP:easier to ask forgiveness than permission LBYL:look before you leap 代码 # LBYL def getUserInf ...

  3. Hibernate框架报错:org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.mikey.hibernate.domain.Person.pid

    报错信息 org nate.PropertyAccessException:IllegalArgumentException在调用com.mikey.Hibernate.domain.Person.p ...

  4. npm安装包时的几种模式

    本文原文地址:https://www.limitcode.com/detail/59a15b1a69e95702e0780249.html 回顾 npm install 命令 最近在写Node程序的时 ...

  5. 吴裕雄--天生自然TensorFlow2教程:误差计算

    import tensorflow as tf y = tf.constant([1, 2, 3, 0, 2]) y = tf.one_hot(y, depth=4) # max_label=3种 y ...

  6. vbs 入门

    dim  定义变量名 dim name------------- dim name,agename = "worf"age = 20 msgbox   输出 msgbox name ...

  7. go笔记(go中的方法调用)

    最近接触go语言  发现和java的方法调用有些类似但又有自己的注意点 go的包我理解为则是隔离的最小模块 先在src目录下创建main.go文件  package为main,然后在src下创建mod ...

  8. JNDI Java 命名与目录接口

    jsp <% Context ctx = new InitialContext(); String jndiName = (String) ctx.lookup("java:comp/ ...

  9. Java - 实现双向链表

    熟悉一下Java... package ChianTable; import java.util.Scanner; /** * Created by Administrator on 2018/3/2 ...

  10. JS垂直落体回弹原理

    /* *JS垂直落体回弹原理 */ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...