Oracle ha pubblicato il kernel Unbreakable Enterprise Kernel 6

Azienda Oracle ha presentato prima versione stabile Unbreakable Enterprise Kernel 6 (UEK R6), una build avanzata del kernel Linux, progettata per l'utilizzo nella distribuzione Oracle Linux come alternativa al pacchetto standard con kernel di Red Hat Enterprise Linux. Il kernel è disponibile solo per le architetture x86_64 e ARM64 (aarch64). I sorgenti del kernel, inclusa la suddivisione in patch separate, pubblicati sono disponibili nel repository Git pubblico di Oracle.

Il pacchetto Unbreakable Enterprise Kernel 6 si basa sul kernel Linux 5.4 (UEK R5 si basava sul kernel 4.14), che è stato arricchito con nuove funzionalità, ottimizzazioni e correzioni, ed è stato testato per la compatibilità con la maggior parte delle applicazioni che girano su RHEL, ed è stato specificamente ottimizzato per funzionare con software e hardware industriale Oracle. I pacchetti di installazione e src del kernel UEK R6 sono stati preparati per Oracle Linux 7.x e 8.x. Il supporto per la branch 6.x è terminato, per utilizzare UEK R6 è necessario aggiornare il sistema a Oracle Linux 7 (non ci sono ostacoli all'uso di questo kernel in versioni analoghe di RHEL, CentOS e Scientific Linux).

Chiave novità Unbreakable Enterprise Kernel 6:

  • Supporto avanzato per sistemi basati su architettura ARM a 64 bit (aarch64).
  • È stata implementata la supporto per tutte le funzionalità di Cgroup v2.
  • È stato implementato il framework ktask per il parallelismo delle attività nel kernel, che consumano risorse CPU significative. Ad esempio, tramite ktask è possibile organizzare il parallelismo delle operazioni di pulizia delle aree di pagina della memoria o l'elaborazione dell'elenco degli inode;
  • È stata inclusa una versione parallela di kswapd per gestire le operazioni di sostituzione delle pagine di memoria in modalità asincrona, riducendo così il numero delle operazioni di sostituzione diretta (sincrone). Quando il numero di pagine di memoria libere diminuisce, kswapd esegue una scansione per identificare le pagine inutilizzate che possono essere liberate.
  • Supporto alla verifica dell'integrità dell'immagine del kernel e dei firmware tramite firma digitale, durante il caricamento del kernel tramite il meccanismo Kexec (caricamento del kernel da un sistema già avviato).
  • È stata ottimizzata la performance del sistema di gestione della memoria virtuale, migliorando l'efficacia della pulizia delle pagine di memoria e della cache, e migliorando la gestione delle richieste a pagine di memoria non allocate (page faults).
  • È stato ampliato il supporto per NVDIMM, la memoria persistente indicata può ora essere utilizzata come tradizionale RAM.
  • È stata effettuata la transizione al sistema di debug dinamico DTrace 2.0, che tradotta utilizza il sottosistema del kernel eBPF. DTrace ora funziona sopra eBPF, proprio come gli strumenti di tracciamento esistenti in Linux che funzionano sopra eBPF.
  • Sono stati apportati miglioramenti al file system OCFS2 (Oracle Cluster File System).
  • È stato migliorato il supporto per il file system Btrfs. È stata aggiunta la possibilità di applicare Btrfs su partizioni radice. L'installer ora include un'opzione per scegliere Btrfs durante il formato dei dispositivi. È stata aggiunta la possibilità di posizionare file di swap su partizioni con Btrfs. In Btrfs è stato aggiunto il supporto per la compressione utilizzando l'algoritmo ZStandard.
  • È stato aggiunto il supporto per l'interfaccia di input/output asincrono — io_uring, nota per il supporto al polling di input/output e per la possibilità di lavorare sia con che senza buffering. In termini di prestazioni, io_uring è molto vicino a SPDK e supera significativamente libaio quando il polling è attivato. Per l'utilizzo di io_uring nelle applicazioni finali che operano nello spazio utente, è stata preparata la libreria liburing, che fornisce un'interfaccia ad alto livello sopra l'interfaccia del kernel;
  • Supporto per la modalità aggiunto Adiantum per la crittografia rapida dei dispositivi di archiviazione.
  • Supporto per la compressione utilizzando l'algoritmo Zstandard (zstd).
  • Nella filesystem ext4 vengono utilizzati timestamp a 64 bit nei campi del superblocco.
  • In XFS sono state incluse funzionalità per informare sullo stato di integrità del filesystem durante il funzionamento e ottenere lo stato dell'esecuzione di fsck in tempo reale.
  • Lo stack TCP è stato per impostazione predefinita spostato nel modello "Early Departure Time" invece di "As Fast As Possible" per l'invio dei pacchetti. Per UDP è stato aggiunto il supporto a GRO (Generic Receive Offload). Aggiunto supporto per la ricezione e l'invio di pacchetti TCP in modalità zero-copy.
  • Implementazione del protocollo TLS a livello del kernel (KTLS), che ora può essere applicata non solo per i dati inviati ma anche per quelli ricevuti.
  • Come backend per il firewall è stato adottato per impostazione predefinita
    nftables. Supporto opzionale aggiunto per bpfilter.
  • Supporto per il sottosistema XDP (eXpress Data Path), che consente di eseguire programmi BPF a livello del driver di rete in Linux, con accesso diretto al buffer DMA dei pacchetti e nella fase prima dell'allocazione del buffer skbuff da parte dello stack di rete.
  • Migliorato e attivato quando si utilizza UEFI Secure Boot modalità Lockdown, che limita l'accesso dell'utente root al kernel e blocca i percorsi di bypass del Secure Boot UEFI. Ad esempio, in modalità lockdown, viene limitato l'accesso a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, alla modalità di debug kprobes, mmiotrace, tracefs, BPF, CIS PCMCIA (Card Information Structure), alcune interfacce ACPI e registri MSR della CPU; vengono bloccate le chiamate kexec_file e kexec_load, è vietato il passaggio in modalità di sospensione, viene limitato l'uso del DMA per i dispositivi PCI, è vietato importare codice ACPI da variabili EFI e non è possibile manipolare le porte di input/output, inclusa la modifica del numero di interruzione e della porta di input/output per la porta seriale.
  • È stato aggiunto il supporto per le istruzioni estese IBRS (Enhanced Indirect Branch Restricted Speculation), che consentono di autorizzare e vietare in modo adattivo l'esecuzione speculativa delle istruzioni durante la gestione delle interruzioni, delle chiamate di sistema e dei passaggi di contesto. In presenza del supporto Enhanced IBRS, questo metodo viene utilizzato per proteggere dagli attacchi di tipo Spectre V2 anziché Retpoline, poiché consente di ottenere prestazioni migliori.
  • Migliorata la protezione nelle directory accessibili a tutti in scrittura. In tali directory è vietato creare file FIFO e file appartenenti a utenti che non corrispondono al proprietario della directory con il flag sticky.
  • Di default, nei sistemi ARM è attivata la randomizzazione dello spazio degli indirizzi del kernel (KASLR). Per Aarch64 è attivata l'autenticazione degli puntatori.
  • Aggiunta la supporto per "NVMe over Fabrics TCP".
  • Aggiunto il driver virtio-pmem, che fornisce accesso a dispositivi di archiviazione mappati nello spazio degli indirizzi fisici, come NVDIMM.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster