Oracle die erste stabile Version (UEK R6), eine erweiterte Kernel-Build für Linux, die als Alternative zum Standardpaket mit dem Kernel von Red Hat Enterprise Linux für die Oracle Linux-Distribution positioniert ist. Der Kernel ist nur für die Architekturen x86_64 und ARM64 (aarch64) verfügbar. Der Quellcode des Kernels, einschließlich der Aufteilung in separate Patches, sind im öffentlichen Git-Repository von Oracle verfügbar.
Das Unbreakable Enterprise Kernel 6 basiert auf dem Kernel (UEK R5 basierte auf Kernel 4.14), der mit neuen Funktionen, Optimierungen und Korrekturen ergänzt wurde und auf die Kompatibilität mit den meisten in RHEL laufenden Anwendungen geprüft wurde. Er ist speziell für den Betrieb mit industrieller Software und Hardware von Oracle optimiert. Die Installations- und src-Pakete des UEK R6 sind für Oracle Linux vorbereitet und . Die Unterstützung für die 6.x-Reihe wurde eingestellt, um UEK R6 zu verwenden, muss das System auf Oracle Linux 7 aktualisiert werden (es gibt keine Hindernisse für die Verwendung dieses Kernels in ähnlichen Versionen von RHEL, CentOS und Scientific Linux).
Schlüssige Unbreakable Enterprise Kernel 6:
- Erweiterte Unterstützung für Systeme auf Basis der 64-Bit-Architektur ARM (aarch64).
- Unterstützung aller Funktionen von Cgroup v2 implementiert.
- Ein Framework namens ktask wurde implementiert, um rechenintensive Aufgaben im Kernel parallel zu verarbeiten. Zum Beispiel kann ktask verwendet werden, um die Parallelisierung von Operationen zur Bereinigung von Adressbereichen im Arbeitsspeicher oder zur Verarbeitung von Inode-Listen zu organisieren.
- Eine parallele Version von kswapd wurde aktiviert, um Seitenersetzungsoperationen im Arbeitsspeicher asynchron zu verarbeiten, was die Anzahl direkter (synchroner) Seitenersetzungen reduziert. Wenn die Anzahl der freien Seiten im Arbeitsspeicher abnimmt, scannt kswapd nach unbenutzten Seiten, die freigegeben werden können.
- Unterstützung für die Überprüfung der Integrität von Kernel-Images und Firmware durch digitale Signaturen beim Laden des Kernels über den Kexec-Mechanismus (Kernel-Laden aus einem bereits geladenen System).
- Die Leistung des Systems zur Verwaltung des virtuellen Speichers wurde optimiert, die Effizienz der Bereinigung von Arbeitsspeicherseiten und Caches verbessert, sowie die Bearbeitung von Zugriffen auf nicht zugewiesene Arbeitsspeicherseiten (Page Faults) wurde optimiert.
- Die Unterstützung für NVDIMM wurde erweitert, so dass der angegebene nichtflüchtige Speicher jetzt als traditioneller RAM verwendet werden kann.
- Der Übergang zum dynamischen Debugging-System DTrace 2.0 wurde vollzogen, welches auf die eBPF-Kernunterstützung setzt. DTrace funktioniert nun über eBPF, ähnlich wie bestehende Linux-Tools zur Tracing-Funktionalität über eBPF arbeiten.
- Verbesserungen wurden im OCFS2-Dateisystem (Oracle Cluster File System) umgesetzt.
- Die Unterstützung für das Btrfs-Dateisystem wurde verbessert. Jetzt kann Btrfs auch auf Root-Partitionen angewendet werden. Im Installer wurde eine Option hinzugefügt, um Btrfs beim Formatieren von Geräten auszuwählen. Zudem können Swap-Dateien jetzt auf Btrfs-Partitionen platziert werden. Btrfs unterstützt jetzt die Kompression mit dem ZStandard-Algorithmus.
- Unterstützung für die Schnittstelle für asynchronen Input/Output – io_uring wurde hinzugefügt, die besonders durch die Unterstützung von I/O-Polling und die Möglichkeit, sowohl mit als auch ohne Pufferung zu arbeiten, auffällt. In Bezug auf die Leistung ist io_uring SPDK sehr nahe und übertrifft libaio erheblich bei aktivem Polling. Für die Verwendung von io_uring in Endanwendungen im Benutzerspeicher wurde die Bibliothek liburing vorbereitet, die eine hochgradige Wrapper-Umgebung über die Kernel-Schnittstelle bietet;
- Die Unterstützung für den Modus zur schnellen Verschlüsselung von Speichermedien wurde hinzugefügt.
- Unterstützung für Kompression mit dem Algorithmus (zstd) wurde hinzugefügt.
- In dem ext4-Dateisystem werden 64-Bit-Zeitstempel in den Feldern des Superblocks verwendet.
- In XFS wurden Mittel zur Überwachung des Integritätsstatus des Dateisystems während des Betriebs und zur Überprüfung des fsck-Status in Echtzeit integriert.
- Der TCP-Stack wurde standardmäßig auf das Modell „“ umgestellt, anstelle von „As Fast As Possible“ beim Senden von Paketen. Für UDP wird die Unterstützung von GRO (Generic Receive Offload) aktiviert. Es wurde die Unterstützung für das Empfangen und Senden von TCP-Paketen im Zero-Copy-Modus hinzugefügt.
- Die Implementierung des TLS-Protokolls auf Kernel-Ebene (KTLS) wurde aktiviert, die nun nicht nur für gesendete, sondern auch für empfangene Daten verwendet werden kann.
- Standardmäßig wird als Backend für die Firewall
nftables verwendet. Optional wurde die Unterstützung für . - hinzugefügt. Die Unterstützung des XDP-Subsystems (eXpress Data Path) ermöglicht es, BPF-Programme auf der Ebene des Netzwerktreibers unter Linux auszuführen, mit direktem Zugriff auf den DMA-Puffer der Pakete und in der Phase vor der Zuweisung des skbuff-Puffers durch den Netzwerkstack.
- UEFI Secure Boot Modus wurde verbessert und aktiviert , der den Root-Benutzerzugang zum Kernel einschränkt und Umgehungswege zum UEFI Secure Boot blockiert. Beispielsweise wird im Lockdown-Modus der Zugriff auf /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, den kprobes-Debug-Modus, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), bestimmte ACPI-Schnittstellen und CPU-MSR-Register eingeschränkt, kexec_file- und kexec_load-Aufrufe werden blockiert, der Schlafmodus wird untersagt, die Nutzung von DMA für PCI-Geräte wird limitiert, der Import von ACPI-Code aus EFI-Variablen ist nicht erlaubt, und Manipulationen an Ein-/Ausgabe-Ports, einschließlich der Änderung der Interruptnummer und des Ein-/Ausgabeports für serielle Ports, sind nicht gestattet.
- Die Unterstützung für erweiterte IBRS-Instruktionen (Enhanced Indirect Branch Restricted Speculation) wurde hinzugefügt, die es ermöglichen, spekulatives Ausführen von Instruktionen während Interruptbearbeitungen, Systemaufrufen und Kontextwechseln adaptiv zu erlauben oder zu verbieten. Bei Vorhandensein von Enhanced IBRS wird diese Methode zum Schutz vor Spectre V2-Angriffen anstelle von Retpoline angewendet, da sie eine höhere Leistung erzielt.
- Der Schutz in für alle beschreibbaren Verzeichnissen wurde verbessert. In solchen Verzeichnissen ist die Erstellung von FIFO-Dateien und von Dateien, die nicht dem Besitzer des Verzeichnisses mit dem Sticky-Flag gehören, untersagt.
- Standardmäßig ist auf ARM-Systemen die Randomisierung des Kernel-Adressraums auf Systemen (KASLR) aktiviert. Für Aarch64 ist die Pointer-Authentifizierung aktiviert.
- Unterstützung für "NVMe über Fabrics TCP" wurde hinzugefügt.
- Ein virtio-pmem-Treiber wurde hinzugefügt, der den Zugriff auf Speichergeräte ermöglicht, die im physikalischen Adressraum abgebildet sind, wie NVDIMM.
Quelle: opennet.ru
