Empresa Oracle primera versión estable (UEK R6), una versión mejorada del núcleo de Linux, diseñada para su uso en la distribución Oracle Linux como alternativa al paquete estándar con núcleo de Red Hat Enterprise Linux. El núcleo está disponible únicamente para arquitecturas x86_64 y ARM64 (aarch64). Los códigos fuente del núcleo, incluyendo parches individuales, en el repositorio público de Git de Oracle.
El paquete Unbreakable Enterprise Kernel 6 se basa en el núcleo (UEK R5 se basó en el núcleo 4.14), que ha sido complementado con nuevas características, optimizaciones y correcciones, además de haber sido probado para su compatibilidad con la mayoría de las aplicaciones que funcionan en RHEL, y ha sido especialmente optimizado para trabajar con software y hardware industrial de Oracle. Los paquetes de instalación y src del núcleo UEK R6 han sido preparados para Oracle Linux y . El soporte para la rama 6.x ha sido descontinuado, para aplicar UEK R6 se debe actualizar el sistema a Oracle Linux 7 (no hay impedimentos para utilizar este núcleo en versiones similares de RHEL, CentOS y Scientific Linux).
Mejoras clave Unbreakable Enterprise Kernel 6:
- Soporte mejorado para sistemas basados en arquitectura ARM de 64 bits (aarch64).
- Se ha implementado el soporte para todas las funcionalidades de Cgroup v2.
- Se ha implementado el marco ktask para paralelizar tareas en el núcleo que consumen recursos significativos de CPU. Por ejemplo, con ktask se puede organizar la paralelización de operaciones de limpieza de rangos de páginas de memoria o el procesamiento de listas de inode;
- Se ha incluido una versión paralelizada de kswapd para manejar operaciones de intercambio de páginas de memoria en modo asíncrono, lo que permite reducir el número de operaciones directas (sincrónicas) de intercambio. Al disminuir el número de páginas de memoria disponibles, kswapd realiza un escaneo para identificar páginas no utilizadas que pueden liberarse.
- Soporte para la verificación de integridad de la imagen del núcleo y de los firmwares mediante firma digital, al cargar el núcleo usando el mecanismo Kexec (cargar el núcleo desde un sistema ya cargado).
- Se ha optimizado el rendimiento del sistema de gestión de memoria virtual, mejorando la eficiencia en la limpieza de páginas de memoria y caché, y mejorando el manejo de accesos a páginas de memoria no asignadas (page faults).
- Se ha ampliado el soporte para NVDIMM, la memoria persistente ahora se puede utilizar como RAM tradicional.
- Se ha realizado la transición al sistema de depuración dinámica DTrace 2.0, que para el uso del subsistema del núcleo eBPF. DTrace ahora funciona sobre eBPF, de manera similar a cómo funcionan las herramientas de trazado existentes en Linux sobre eBPF.
- Se han realizado mejoras en el sistema de archivos OCFS2 (Oracle Cluster File System).
- Se ha mejorado el soporte del sistema de archivos Btrfs. Se ha añadido la posibilidad de implementar Btrfs en particiones raíz. Se ha agregado una opción en el instalador para seleccionar Btrfs al formatear dispositivos. Se ha añadido la posibilidad de alojar archivos de intercambio en particiones con Btrfs. Se ha implementado soporte de compresión en Btrfs usando el algoritmo ZStandard.
- Se ha añadido soporte para la interfaz de entrada/salida asíncrona — io_uring, que se destaca por su soporte de sondeo de entrada/salida y su capacidad de trabajar tanto con buffering como sin él. En términos de rendimiento, io_uring es muy parecido a SPDK y supera significativamente a libaio con sondeo habilitado. Para utilizar io_uring en aplicaciones finales que operan en espacio de usuario, se ha preparado una biblioteca liburing que proporciona un enlace de alto nivel sobre la interfaz del núcleo;
- Se ha añadido soporte para el modo para la encriptación rápida de dispositivos.
- Se ha añadido soporte para la compresión utilizando el algoritmo (zstd).
- En el sistema de archivos ext4 se han utilizado etiquetas de tiempo de 64 bits en los campos del superbloque.
- En XFS se han integrado herramientas para informar sobre el estado de integridad del sistema de archivos durante su operación y obtener el estado de fsck en tiempo real.
- El stack TCP por defecto ha sido trasladado al modelo "" en lugar de "As Fast As Possible" al enviar paquetes. Se ha habilitado el soporte para GRO (Generic Receive Offload) en UDP. Se ha añadido soporte para la recepción y envío de paquetes TCP en modo zero-copy.
- Se ha implementado el protocolo TLS a nivel del núcleo (KTLS), que ahora puede aplicarse no solo a los datos enviados, sino también a los recibidos.
- Se ha utilizado nftables como backend por defecto para el cortafuegos. Se ha añadido opcionalmente soporte para
bpfilter . - Se ha mejorado y habilitado en modo UEFI Secure Boot
- Lockdown , que limita el acceso del usuario root al núcleo y bloquea las rutas de bypass de UEFI Secure Boot. Por ejemplo, en modo lockdown, se limita el acceso a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, el modo de depuración kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Estructura de Información de la Tarjeta), algunas interfaces ACPI y registros MSR del CPU, se bloquean las llamadas kexec_file y kexec_load, se prohíbe la suspensión, se limita el uso de DMA para dispositivos PCI, se prohíbe la importación de código ACPI desde variables EFI, no se permiten manipulaciones con puertos de entrada/salida, incluyendo la modificación del número de interrupción y el puerto de entrada/salida para el puerto serie.
- Se añadió soporte para instrucciones ampliadas IBRS (Especulación Restringida de Ramas Indirectas Mejorada), que permiten habilitar y deshabilitar de forma adaptativa la ejecución especulativa de instrucciones durante el manejo de interrupciones, llamadas al sistema y cambios de contexto. Con el soporte de Enhanced IBRS, este método se aplica para protegerse contra ataques de la clase Spectre V2 en lugar de Retpoline, ya que permite lograr un rendimiento superior.
- Se mejoró la protección en directorios accesibles para todos en escritura. En tales directorios, se prohíbe la creación de archivos FIFO y archivos pertenecientes a usuarios que no coincidan con el propietario del directorio con la bandera sticky.
- Por defecto, en los sistemas ARM está habilitada la aleatorización del espacio de direcciones del núcleo en los sistemas (KASLR). Para Aarch64 se habilitó la autenticación de punteros.
- Se añadió soporte para 'NVMe over Fabrics TCP'.
- Se añadió un controlador virtio-pmem, que proporciona acceso a dispositivos de almacenamiento reflejados en el espacio de direcciones físicas, como NVDIMM.
Fuente: opennet.ru
