Spoločnosť Oracle prvá stabilná verzia (UEK R6), rozšírená verzia jadra Linuxu, ktorá je určená na použitie v distribúcii Oracle Linux ako alternatíva k štandardnému balíku jadra z Red Hat Enterprise Linux. Jadro je dostupné iba pre architektúry x86_64 a ARM64 (aarch64). Zdrojové kódy jadra, vrátane rozdelenia na samostatné opravy, sú verejne dostupné v Git repozitári Oracle.
Balík Unbreakable Enterprise Kernel 6 je založený na jadre (UEK R5 bol založený na jadre 4.14), ktoré je doplnené o nové funkcie, optimalizácie a opravy, a zároveň bolo overené na kompatibilitu s väčšinou aplikácií fungujúcich na RHEL, a špeciálne optimalizované pre priemyselný softvér a hardvér Oracle. Inštalačné a src balíky jadra UEK R6 sú pripravené pre Oracle Linux a . Podpora vetvy 6.x bola ukončená, na aplikáciu UEK R6 je potrebné aktualizovať systém na Oracle Linux 7 (neexistujú žiadne prekážky pre používanie tohto jadra v podobných verziách RHEL, CentOS a Scientific Linux).
Kľúčové Unbreakable Enterprise Kernel 6:
- Rozšírená podpora systémov založených na 64-bitovej architektúre ARM (aarch64).
- Zrealizovaná podpora všetkých funkcií Cgroup v2.
- Implementovaný rámec ktask na paralelizáciu úloh v jadre, ktoré spotrebúvajú značné množstvo CPU. Napríklad, pomocou ktask je možné organizovať paralelizáciu operácií čistenia rozsahov stránok pamäte alebo spracovania zoznamu inode;
- Zahrnutá paralelizovaná verzia kswapd pre spracovanie operácií výmeny stránok pamäte v asynchrónnom režime, ktorý umožňuje znížiť počet priamych (synchronných) operácií výmeny. Pri znižovaní počtu voľných stránok pamäte kswapd vykonáva skenovanie na identifikáciu nepoužívaných stránok, ktoré môžu byť uvoľnené.
- Podpora overovania integrity obrazu jadra a firmvérov podľa digitálneho podpisu pri načítaní jadra pomocou mechanizmu Kexec (načítanie jadra z už nahratého systému).
- Optimalizovaný výkon systému správy virtuálnej pamäte, zlepšená efektivita čistenia stránok pamäte a vyrovnávacej pamäte, zlepšené spracovanie požiadaviek na nepridelené stránky pamäte (page faults).
- Rozšírená podpora NVDIMM, uvedená trvalá pamäť teraz môže byť použitá ako tradičná RAM.
- Bol prechádzať na systém dynamického ladenia DTrace 2.0, ktorý na používanie subsystému jadra eBPF. DTrace teraz funguje nad eBPF, podobne ako existujúce nástroje sledovania v Linuxe.
- Boli vykonané vylepšenia v súborovom systéme OCFS2 (Oracle Cluster File System).
- Vylepšená podpora súborového systému Btrfs. Pridaná možnosť použitia Btrfs na koreňových oddieloch. Do inštalátora bola pridaná možnosť na výber Btrfs pri formátovaní zariadení. Pridané možnosti umiestnenia výmenných súborov na oddieloch s Btrfs. V Btrfs bola pridaná podpora kompresie pomocou algoritmu ZStandard.
- Pridaná podpora rozhrania pre asynchrónny vstup/výstup – io_uring, ktoré sa vyznačuje podporou polingovania vstup/výstup a možnosťou práce s vyrovnávacou pamäťou aj bez nej. Výkon io_uring je veľmi blízky SPDK a podstatne prekonáva libaio pri práci s povoleným polingom. Pre použitie io_uring v koncových aplikáciách fungujúcich v užívateľskom priestore je pripravená knižnica liburing, ktorá poskytuje vysokú úroveň väzby nad rozhraním jadra;
- Pridaná podpora režimu pre rýchlu šifrovanie úložných zariadení.
- Pridaná podpora kompresie pomocou algoritmu (zstd).
- V súborovom systéme ext4 boli aktivované 64-bitové časové pečiatky v poliach superbloku.
- V XFS sú zahrnuté nástroje na informovanie o stave integrity FS počas prevádzky a získavanie statusu o vykonávaní fsck za behu.
- TCP zásobník bol preložený na model „“ namiesto „As Fast As Possible“ pri odosielaní paketov. Pre UDP bola pridaná podpora GRO (Generic Receive Offload). Pridaná podpora prijímania a odosielania TCP paketov v režime zero-copy.
- Bola implementovaná realizácia protokolu TLS na úrovni jadra (KTLS), ktorá sa teraz môže používať nielen na odosielané, ale aj na prijímané data.
- Ako backend pre nástroj firewall je predvolene použitý
nftables. Voľiteľne bola pridaná podpora . - Pridaná podpora subsystému XDP (eXpress Data Path), ktorý umožňuje v Linuxe spúšťať BPF programy na úrovni sieťového ovládača s možnosťou priameho prístupu k DMA-bufrom paketov a pred alokovaním bufferu skbuff sieťovým zásobníkom.
- Vylepšený a zapnutý pri použití UEFI Secure Boot režimu , ktorý obmedzuje prístup používateľa root k jadru a blokuje obchádzacie cesty UEFI Secure Boot. Napríklad v režime lockdown je obmedzený prístup k /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, ladeniu kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), niektorým rozhraniam ACPI a MSR registrám CPU, blokujú sa volania kexec_file a kexec_load, zakazuje sa prechod do spánkového režimu, obmedzuje sa využívanie DMA pre PCI zariadenia, zakazuje sa import kódu ACPI z premennej EFI, nedovoľujú sa manipulácie s portami vstupu/výstupu, vrátane zmeny čísla prerušení a portu vstupu/výstupu pre sériový port.
- Pridaná podpora rozšírených inštrukcií IBRS (Enhanced Indirect Branch Restricted Speculation), ktoré umožňujú adaptívne povoľovať a zakazovať špekulatívne vykonávanie inštrukcií počas spracovania prerušenia, systémových volaní a prepínania kontextov. Pri podporovanej Enhanced IBRS sa táto metóda uplatňuje na ochranu pred útokmi triedy Spectre V2 namiesto Retpoline, pretože dosahuje vyšší výkon.
- Vylepšená ochrana v adresároch, ktoré sú prístupné na zápis. V takýchto adresároch je zakázané vytvárať FIFO súbory a súbory, ktoré patria používateľom, ktorí sa nezhodujú s vlastníkom adresára s povolením sticky.
- Predvolene je na systémoch ARM zapnutá náhodná prerozdelenosť adresného priestoru jadra na systémoch (KASLR). Pre Aarch64 je zapnutá autentifikácia ukazovateľov.
- Pridaná podpora „NVMe over Fabrics TCP“.
- Pridaný ovládač virtio-pmem, ktorý predstavuje prístup k úložným zariadeniam odrážajúcim sa vo fyzickom adresnom priestore, ako je NVDIMM.
Zdroj: opennet.ru
