答案1
简而言之,比较发行版之间的内核版本并不是很有用。您应该将分布作为一个整体进行比较。
内核新手提供了每个主线内核版本中的更改的良好摘要。以下是添加新功能的一些重大更改:
- 交换在3.11中
- nftables在3.13中
- 截止日期调度类在3.14中
- 统一控制组层次结构在3.16中
- 迅雷支持,
getrandom()
3.17 中 - 覆盖文件系统,
bpf()
3.18 中 - Ext4加密,多协议标签交换在4.1中
userfaultfd()
,环境能力在4.3中- XDP4.8 中
statx()
在4.11中- 非特权坐骑,BP过滤器,AF_XDP4.18 中
- io_uring在5.1中
- virtio-fs,fs-真实性在5.4中
这不包括对内核本身的改进,这些改进有很多,包括性能改进(和回归)、可扩展性改进、安全性改进(地址空间随机化、清理等)、错误修复;以及对新硬件的支持。这大多数用户通过升级到较新的内核可以获得的好处;虽然上面列出的添加功能很不错,但其中大多数功能仅在与相应的用户空间工具一起使用时才相关,并且在没有必要支持的情况下运行旧内核的发行版也不会包含这些工具。
发行版确实最好作为单元使用:它们的内核、它们的库以及它们打包的程序。
比较内核版本还遗漏了某些发行版包含的向后移植功能。一般来说,发行版可以分为两类:坚持主线内核的快速发行版和长期保持稳定的基础内核的发行版。 Fedora 是前者的一个例子,RHEL 是后者的一个例子,而 Debian 则介于两者之间,其主线内核跟踪长期稳定内核版本系列的更新(目前为 4.19,这是其第 103 个稳定版本)。因此,虽然在 RHEL 7 中使用 3.10 内核可能意味着您错过了许多驱动程序、性能改进和新功能,但其中许多都已向后移植并可供 RHEL 7 用户使用。