`
lhj0711010212
  • 浏览: 6955 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Linux Kernel 3.5发布:网络、电源管理和安全性能提升

 
阅读更多

Linux Kernel 3.5发布:网络、电源管理和安全性能提升

摘要:Linus发布了Linux Kernel 3.5正式版本。主要特性有ext4元数据校验和,Uprobes,基于Seccomp的系统调用过滤,Bufferbloat fighting:CoDel队列管理,Android风格的自动挂起等等,更多详细内容请查看本文。

日前,Linus 发布了 Linux Kernel 3.5 正式版本。

主要特性更新如下:

1.ext4元数据校验和

现在的文件系统,比如ZFS和Btrfs,都证明了使用校验和对于保证文件系统的完整性很有价值,ext4也新增了存储多种元数据域校验和的功能。

2.Uprobes:用户空间探测器(userspace probes)

Uprobes是kprobe对应的用户空间,允许在用户应用的任意内存地址添加性能探测器,并且在不引起破坏的情况下收集调试和性能信息,可以用来寻找性能问题。这些探测器可以在程序运行时动态地添加,并不需要重新启动应用或者修改二进制文件。这些探测器通常通过仪表应用来管理,比如perf probe、systemtap 和 LTTng。

3.基于Seccomp的系统调用过滤

Seccomp (即“"secure computing”的别名)是2.6.12版本重新加入的简单沙盒机制,用来确保系统调用处于受限状态(仅允许对已打开的文件进行exit, sigreturn, read 和 write操作)。Seccomp现在又增加了新功能:不再是有限并且确定的系统调用,Seccomp现在已经成了一种过滤机制,用来管理一个系统调用是否被禁止(和Berkeley Packet Filter功能类似。

4.Bufferbloat fighting:CoDel队列管理

Codel即“controlled delay”是一种新的队列管理算法,用来处理整个网络过多的缓冲带来的问题(也就是“bufferbloat”)。Jim Getty,bufferbloat现象的发现者,认为这个算法是过去14年里用来解决AQM算法问题的最优秀解决方案。

5.TCP连接修复

作为进程检查点/重启目标的一部分,Linux在这个版本中支持停止TCP连接并在另一台主机上重启它。容器虚拟化实现将使用到这个特性,通过远程终端将整个网络连接透明地从一个宿主迁移到另一个。这项功能实现了将一个套接字放置到“修复”模式,这允许收集必要的信息或者在新的套接字中重建之前的状态。

6.TCP提前重传(TCP Early Retransmit)

TCP Early Retransmit允许触发快速转播,在特定的情况下减少快速重传确认请求的重复次数,这使得传输时延快速重传来恢复部分损失,否则会需要大量的重传超时损失。换句话说,连接从丢失的数据包包中恢复地更快,降低了延迟。

提前重传由tcp_early文件(/proc/sys/net/ipv4/tcp_early)控制,它支持三个值:“0”(关闭提前重传)、“1”(开启提前重传)和“2”(默认选项,启动提前重传但推迟快速重传和快速恢复)。

7.Android风格的自动挂起

在将Android代码合并进来时最具争议性的地方在于“suspend blockers”方法和“wakelocks”方法,这是一个特定的电源管理方法,目的在于尽可能地挂起系统。系统的自然状态是睡眠状态,仅为刷新内存和少量用来唤醒系统的进程提供电源,系统仅在做一些实在工作的时候全力工作,其它时候尽可能地进入挂起状态。

8.Btrfs:I/O故障统计和一些不明显的提升

I/O故障统计支持新增:I/O故障、CRC故障和生成的元数据块跟踪检查每个驱动器,Btrfs 检查并返回驱动器状态,将在未来的btrfs-progs中包含,即:btrfs device stats。

9.通过FireWire和USB的SCSI

本次更新还包括一个把IEEE-1394接口当作SCSI传输器的驱动,这也使得同一Firewire总线上的节点也能够显示SCSI设备。这和某些苹果机上的目标磁盘模式类似。

新版本同样为USB接口准备了相同功能的驱动,该驱动支持支持两种USB协议:BBB/BOT和UAS,推荐接口0(主接口)选择BOT,接口1选择UAS。两种协议都支持USB2.0和3.0,UAS甚至利用了USB3.0的流支持特性。

其它更新包括:

  1. 驱动和架构变化
  2. 核心变化:新增skew_tick启动选项、RCU锁、IPC mqueue等等。
  3. 内存管理:新增Frontswap和连续内存分配器,删除状态令牌代码和状态回收(它们已经不是很现在的VM模式)。
  4. 虚拟化:引入核心irqchip MSI直接信息注入。
  5. 安全性:SELinux、Smack、TOMOYO、Yama和Keys相关众多改进。
  6. Perf/tracing:创建libtraceevent.a;注释浏览器新增跳转指令导航支持、环路检测、字符串搜索以及允许以不同颜色表示objdump行地址。
  7. 网络功能:新增或改进mac802154、ipv6、batman-adv、L2TP、NFC、802.11(无线)等等功能。
  8. 文件系统:新版本增强了对Btrfs、Tmpfs、XFS、CIFS、JFFS2、exofs和Cifs文件系统的支持。

详细更新可以查看Linux Kernel官网

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics