主
- 主要组成包括实用程序
dsynth ,专为本地组装和维护您自己的 DPort 二进制存储库而设计。 考虑到依赖树,支持任意数量端口组装的并行化。 为了准备新版本,DPort 还进行了大量更改,旨在加快多个依赖包的构建速度。 - libc 实现了有效的信号屏蔽机制,这使得可以保护 malloc*() 和类似函数免受由于信号中断而导致的问题。 对于信号的短期阻塞和解除阻塞,提出了 sigblockall() 和 sigunblockall() 函数,它们无需进行系统调用即可工作。 此外,libc 还调整了 strtok() 函数以用于多线程应用程序,添加了常量 TABDLY、TAB0、TAB3 和 __errno_location 函数以改进 dports 支持。
- DRM(直接渲染管理器)界面组件与 Linux 内核 4.9 同步,并从 4.12 内核移植了一些选定的功能,旨在改进 Wayland 支持。
Intel GPU 的 drm/i915 驱动程序与 Linux 内核 4.8.17 同步,代码从 5.4 内核转移来支持新芯片(Skylake、Coffelake、Amber Lake、Whiskey Lake 和 Comet Lake)。 AMD显卡的drm/radeon驱动程序与Linux 4.9内核同步。 - 虚拟内存分页算法得到了显着改进,使我们能够消除或最大限度地减少内存不足时用户界面的响应问题。 由于系统内存不足而导致 Chrome/Chromium 冻结的问题已得到解决。
- 改进了具有大量处理器核心的系统上的内核扩展。 减少虚拟内存页面请求时间。 减少内存不足时的 SMP 争用。 提高了“open(... O_RDWR)”调用的效率。
- 内核中的伪随机数生成器已被重新设计。 RDRAND 驱动程序适用于累积来自所有 CPU 的熵。 降低强度
以及 RDRAND 提要的大小,以前在空闲期间占用了 2-3% 的 CPU 时间。 - 添加了新的系统调用 realpath、getrandom 和 lwp_getname(允许执行 pthread_get_name_np)。
- 添加了对 SMAP(管理员模式访问保护)和 SMEP(管理员模式执行保护)保护机制的支持。 SMAP 允许您阻止在内核级别运行的特权代码访问用户空间数据。 SMEP 不允许从内核模式转换到位于用户级别的代码执行,这使得可以阻止对内核中许多漏洞的利用(shell 代码不会被执行,因为它位于用户空间);
- 重新设计了用于配置 Jail 的 sysctl 变量。 添加了从 Jail 挂载 nullfs 和 tmpfs 的功能。
- 为HAMMER2文件系统添加了紧急模式,可在故障后恢复时使用。 在此模式下,在本地更新 inode 时可以销毁快照(允许您在没有可用磁盘空间、无法使用写时复制机制时删除文件和目录)。 通过重新设计 HAMMER2 中的线程调度支持,显着提高了性能。 刷新缓冲区的过程得到了显着改进。
- 提高了 TMPFS 的可靠性和性能。 当系统中缺乏可用内存时提高运行效率。
- IPv4 网络堆栈现在支持 /31 前缀(
RFC 3021 ).
Tap 改进了 SIOCSIFMTU ioctl 处理以支持 MTU > 1500。添加了对 SIOCSIFINFO_IN6 和 SO_RERROR 的支持。 - iwm 驱动程序与 FreeBSD 同步,支持 Intel 无线芯片(增加了对 iwm-9000 和 iwm-9260 的支持)。
- 添加了Linux兼容的basename()和dirname()函数以提高端口兼容性。
- 将 fsck_msdosfs、sys/ttydefaults.h、AF_INET / AF_INET6 从 FreeBSD 移至 libc/getaddrinfo()、calendar(1)、rcorder-visualize.sh。 math.h 中的函数已从 OpenBSD 中移出。
- 更新了第三方组件的版本,包括 Binutils 2.34、Openresolv 3.9.2、DHCPCD 8.1.3。 默认编译器是 gcc-8。
来源: opennet.ru