Compania Oracle prima versiune stabilă (UEK R6), o versiune extinsă a nucleului Linux, destinat utilizării în distribuția Oracle Linux ca o alternativă la pachetul standard cu nucleu din Red Hat Enterprise Linux. Nucleul este disponibil doar pentru arhitecturi x86_64 și ARM64 (aarch64). Codurile sursă ale nucleului, inclusiv divizate în patch-uri individuale, în depozitul Git public Oracle.
Pachetul Unbreakable Enterprise Kernel 6 se bazează pe nucleul (UEK R5 s-a bazat pe nucleul 4.14), care este completat cu noi caracteristici, optimizări și corecții, fiind de asemenea testat pentru compatibilitate cu majoritatea aplicațiilor care funcționează în RHEL și special optimizat pentru a lucra cu software-ul și hardware-ul industrial Oracle. Pachetele de instalare și src cu nucleul UEK R6 sunt pregătite pentru Oracle Linux și . Suportul pentru ramura 6.x a fost oprit, pentru a aplica UEK R6, sistemul trebuie actualizat la Oracle Linux 7 (nu există obstacole în utilizarea acestui nucleu în versiuni similare de RHEL, CentOS și Scientific Linux).
Principalele Unbreakable Enterprise Kernel 6:
- Suport extins pentru sistemele bazate pe arhitectura 64-bit ARM (aarch64).
- Implementat suport pentru toate capacitățile Cgroup v2.
- Implementat un cadru ktask pentru paralelizarea sarcinilor în nucleu care consumă resurse CPU semnificative. De exemplu, prin ktask poate fi organizată paralelizarea operațiunilor de curățare a intervalelor de pagini de memorie sau procesarea listei inode;
- Inclusă o versiune paralelizată a kswapd pentru a gestiona operațiunile de înlocuire a paginilor de memorie în mod asincron, reducând numărul de operațiuni directe (sincrone) de înlocuire. Atunci când numărul paginilor de memorie libere scade, kswapd efectuează scanări pentru a identifica paginile nefolosite, care pot fi eliberate.
- Suport pentru verificarea integrității imaginii nucleului și a firmware-urilor prin semnătură digitală, la încărcarea nucleului prin mecanismul Kexec (încărcarea nucleului dintr-un sistem deja încărcat).
- Optimizată performanța sistemului de gestionare a memoriei virtuale, îmbunătățită eficiența curățării paginilor de memorie și a cache-ului, îmbunătățită gestionarea apelurilor la pagini de memorie nealocate (fault-uri de pagină).
- Extins suportul pentru NVDIMM, memoria persistentă specificată poate fi utilizată acum ca RAM tradițional.
- Realizată trecerea la sistemul de depanare dinamică DTrace 2.0, care pentru utilizarea subsistemului nucleului eBPF. DTrace funcționează acum deasupra eBPF, similar cu modul în care funcționează instrumentele de urmărire existente în Linux deasupra eBPF.
- Au fost aduse îmbunătățiri sistemului de fișiere OCFS2 (Oracle Cluster File System).
- S-a îmbunătățit suportul pentru sistemul de fișiere Btrfs. A fost adăugată posibilitatea de a utiliza Btrfs pe partițiile rădăcină. Instalația a fost dotată cu o opțiune pentru a selecta Btrfs în timpul formatării dispozitivelor. A fost adăugată posibilitatea de a plasa fișierele de swap pe partițiile cu Btrfs. Suportul pentru compresie a fost adăugat în Btrfs folosind algoritmul ZStandard.
- A fost adăugat suportul pentru interfața de intrare/ieșire asincronă — io_uring, remarcabil pentru suportul său de polling al intrărilor/ieșirilor și capacitatea de a funcționa atât în modul buffer, cât și fără buffer. În ceea ce privește performanța, io_uring este foarte aproape de SPDK și depășește considerabil libaio atunci când pollingul este activat. O bibliotecă numită liburing a fost pregătită pentru utilizarea io_uring în aplicațiile finale care funcționează în spațiul utilizatorului, oferind un wrapper de nivel înalt peste interfața nucleului;
- A fost adăugat suport pentru modul pentru criptarea rapidă a stocării.
- A fost adăugat suport pentru compresie folosind algoritmul (zstd).
- În sistemul de fișiere ext4, au fost activate etichetele de timp pe 64 de biți în câmpurile superblocului.
- În XFS au fost incluse instrumente pentru informarea privind starea integrității sistemului de fișiere în timpul funcționării și obținerea stării execuției fsck în timp real.
- Stiva TCP a fost în mod implicit mutată pe modelul „” în loc de „As Fast As Possible” la trimiterea pachetelor. Suportul GRO (Generic Receive Offload) a fost activat pentru UDP. A fost adăugat suportul pentru primirea și trimiterea pachetelor TCP în modul zero-copy.
- A fost implementat protocolul TLS la nivelul nucleului (KTLS), care poate fi aplicat acum nu doar pentru datele trimise, ci și pentru cele primite.
- Nftables este utilizat implicit ca backend pentru firewall.
Suportul . - A fost adăugat suport pentru subsistemul XDP (eXpress Data Path), care permite lansarea programelor BPF la nivelul driverului de rețea în Linux, cu acces direct la bufferul DMA al pachetelor și înainte de alocarea bufferului skbuff de către stiva de rețea.
- A fost îmbunătățit și activat în modul de utilizare UEFI Secure Boot. , care limitează accesul utilizatorului root la nucleu și blochează căile de ocolire a UEFI Secure Boot. De exemplu, în modul lockdown, accesul la /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, modul de depanare kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), anumite interfețe ACPI și registrele MSR ale CPU-ului este restricționat, apelurile kexec_file și kexec_load sunt blocate, trecerea în modul de repaus este interzisă, utilizarea DMA pentru dispozitive PCI este limitată, importul codului ACPI din variantele EFI este interzis, manipulările porturilor de intrare/ieșire sunt interzise, inclusiv modificarea numărului de întrerupere și a portului de intrare/ieșire pentru portul serial.
- A fost adădat suport pentru instrucțiuni extinse IBRS (Enhanced Indirect Branch Restricted Speculation), care permit autorizarea și interzicerea adaptivă a execuției speculative a instrucțiunilor în timpul procesării întreruperilor, apelurilor de sistem și schimbărilor de context. Când suportul Enhanced IBRS este disponibil, această metodă este utilizată pentru protejarea împotriva atacurilor de tip Spectre V2 în locul Retpoline, deoarece permite obținerea unei performanțe mai mari.
- Protecția în directoarele accesibile tuturor pentru scriere a fost îmbunătățită. În aceste directoare, crearea de fișiere FIFO și fișiere aparținând utilizatorilor care nu coincid cu proprietarul directorului cu steagul sticky este interzisă.
- În mod implicit, în sistemele ARM, randomizarea spațiului de adresare a nucleului este activată (KASLR). Pentru Aarch64, autentificarea pointerilor este activată.
- A fost adăugat suport pentru „NVMe over Fabrics TCP”.
- A fost adăugat driverul virtio-pmem, care oferă acces la dispozitivele de stocare reflectate în spațiul de adrese fizice, cum ar fi NVDIMM.
Sursa: opennet.ro
