博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 4.3 亮点特性
阅读量:2497 次
发布时间:2019-05-11

本文共 1330 字,大约阅读时间需要 4 分钟。

源于

1.删除Ext3文件系统

Ext3文件系统已经从liux核心代码删除。原因是Ext4支持已经可以替代Ext3,所以maintainers认为Ext3代码已经无用可以删除。

2.userfaultfd()用于处理用户空间缺页错误的系统调用

当进程map系统调用但是虚拟地址对应的物理地址未被分配是,内核会发生缺页中断处理这个问题。
这个版本提供userfaultfd()接口处理缺页。除了可以注册和取消注册虚拟地址以外,还提供两个主要功能:1)read/ POLLIN协议,用于通知用户空间线程故障发生;2)userfaultfd通过各种ioctls可以管理注册的虚拟地址,允许用户解决通过后台接收到的缺页错误或者在后台管理虚拟内存。userfaultfd主要用户是QEMU。
详细说明:

3.membarrier()

添加membarrier()系统调用支持,在多核系统可以分配内存访问所需要的内存屏障。
详细说明:
内核Documentation/vm/userfaultfd.txt

4.cgroup中限制PID数量的PID控制器

添加新的PID控制器去限制cgroup中可以fork的进程数量。PIDs是全局资源,相对于其他资源来说PID是微不足道的(可以忽视),因此它可能不受cgroup中其他策略限制,可能导致系统挂死,PID控制器旨在预防这种情况发生。
使用pids控制器时,在pids.max中设置最大任务数,当前在cgroup中的进程数由pids.current给出。要将cgroup设置为无限制,请将pids.max设置为“max”,这是所有新cgroup的默认值。

5.Ambient capabilities

Linux定义了多种capabilities可以执行各种特权任务,进程可以使用它们拥有的功能。每个任务有四种capability masks: “effective”, “permitted”, “inheritable”, and a “bounding set”。当内核检查一种capability时,会检查它的功能掩码。
由于Linux capabilities功能实现的缺陷,”inheritable”不是很有用。为解决这个问题,我们添加了第五种capability mask,叫做”ambient” mask。它主要完成”inheritable”的事情。
详细说明:

6.引入空闲页面跟踪功能,其可以更精确的跟踪应用程序使用的内存

了解任务正在使用的内存页以及哪些内存页空闲对于设置任务的负载属性非常有用。目前内核提供的空闲内存度量(唯一)接口是通过/proc/PID/clear_refs 和/proc/PID/smaps:用户可以通过写1清除映射到特定进程的所有页面的访问位clear_refs,等待一段时间,然后计算smaps。但是这种方法有两个严重的缺点:1)它不计算未映射的文件页面,2)它会影响回收器逻辑。
为了解决这些问题,此版本引入空闲页面跟踪功能。主要通过在/sys/kernel/mm/page_idle/bitmap设置相应的bits,可以通过bitmap监控空闲页的使用情况。
详细说明:

这里写图片描述

你可能感兴趣的文章
微软正式公布Win8版本 ARM版命名为Windows RT
查看>>
4.java设计模式-原型模式(prototype)
查看>>
Javaee -----01----javaee的环境搭建和html标签 ...
查看>>
4-1 组件使用的细节点
查看>>
隐藏Apache的版本号及其它敏感信息
查看>>
ecstore在apache下去掉index.php入口文件
查看>>
ProjectForge 4.2.0 发布,项目管理系统
查看>>
Git常用命令使用大全
查看>>
使用Java的BlockingQueue实现生产者-消费者
查看>>
Rabbitmq基本使用
查看>>
Selenium 2.0自动化测试
查看>>
记录一次统计首页MYSQL非常慢的解决过程
查看>>
Linux中的块设备和字符设备
查看>>
SQL语句汇总(二)——数据修改、数据查询
查看>>
zepto源码--定义变量--学习笔记
查看>>
Date对象设置一天的0点
查看>>
Arduino Uno微控制器采用的是Atmel的ATmega328
查看>>
c# 高效的线程安全队列ConcurrentQueue(下) Segment类
查看>>
解决c#distinct不好用的问题
查看>>
JS输出中文乱码问题解决
查看>>