虽然 ext4 能够成为未来新的标准 Linux 文件系统,但是其他的文件系统也在不断出现,甚至能够提供更好的伸缩性和特性。Btrfs 就是这类文件系统之一,它现在已经成为了 2.6.29 内核中的一种试验文件系统。Btrfs 是一种兼容 Linux 的文件系统(参阅 GNU Public License [GPL]),它的特性与知名的 ZFS 不相上下。
虽然引导 Linux 所需的时间已经逐渐缩减,但是还是有人认为引导时间过长。因此,引导时间还需要不断地监查。此内核包含了这样一个新特性,即可以测量和记录 init 调用的时间。然后可以使用它们可视化引导的流程和性能。该过程是可配置的(要求必须启用收集数据的功能),但是一旦数据收集完毕,就可以使用离线脚本(包括图形描述)对这些数据进行分析,而这最终会导致更短的引导时间和更为优化的引导过程。此更新还融入了调用线程的过程标识符(PID)以便可以平行查看引导过程。
由于 Linux 在虚拟系统中应用的增加 — 尤其是具有多处理器和大量内存的系统 — 扩展内存的使用对性能非常重要。Kernel 2.6.28 包含了与内存有关的大量的伸缩性改进。例如,这个内核维护分开的 Least Recently Used (LRU) 列表,一个用于文件支持的页,另一个用于交换支持的页。这就使得内核能够更多地集中于交互支持的页,而不是文件支持的页,因为前者更有可能被写入到磁盘。
T13 标准委员会已经创建了一种新的 ATA 协议扩展来支持在 trim 命令上下文内传递这种消息。当 SSD 收到这个新命令后,它就可以将所定义的那些块添加到其释放列表,不会再担心这些块再成为损耗的一部分。Linux 的这个块层组件称为丢弃请求,它来自于更高级别的文件系统的文件删除。一个丢弃请求是此块层的一部分,提供了丢弃块的途径,并最终会导致向提供支持的 ATA 设备发出一个 trim 命令。更进一步的改进还包括智能地调度这些丢弃请求,以便它们能够与其他请求结合来执行块请求队列的重排序操作,从而更好地处理相关的丢弃和写请求。
改进 ATA HDD
ATA HDD 的一个非常有趣的可靠性改进就是震动保护,这种突然的晃动会破坏笔记本电脑的 HDD。ATAPI 规范定义了一个名为 IDLE IMMEDIATE 的命令,它可以闲置 HDD 并收回磁头以防止它们触及盘片。内核通过一个名为 /sys/block/*/device/unload_heads 的 proc 文件提供这个命令。当一个值写入到此文件且后续的 ATA 命令被写到各自的磁盘后,磁头就被收回,并且所有输入/输出(I/O)都会根据一个计时器延迟很短的一段时间。当计时器超时后,I/O 就会恢复正常。IBM 笔记本曾经实现这个特性,用于访问加速器以测量加速度(决定笔记本是否在坠落)。图 2 是一个总体流程。