Rilascio del sistema operativo DragonFly BSD 5.6

Disponibile rilascio DragonFlyBSD 5.6, un sistema operativo con kernel ibrido, creato nel 2003 con l'obiettivo di sviluppare un'alternativa alla serie FreeBSD 4.x. Tra le caratteristiche di DragonFly BSD si possono evidenziare un file system versione distribuita HAMMER, il supporto per il caricamento di "kernel virtuali" del sistema come processi utente, la possibilità di caching dei dati e dei metadati del FS su SSD, link simbolici variabili contestuali, la possibilità di congelare i processi mantenendo il loro stato su disco, un kernel ibrido che utilizza thread leggeri (LWKT).

Principali miglioramenti, aggiunti in DragonFlyBSD 5.6:

  • È stata effettuata un'aggiornamento del sistema di gestione della memoria virtuale. Molti sottosistemi legati alla memoria virtuale e al PMAP sono stati riscritti.
    In molte aree del codice sono state rimosse le sezioni critiche, comprese le funzioni m_page_wakeup, vm_hold e vm_unhold. È stata migliorata l'efficienza dell'uso della cache del processore riducendo la migrazione degli oggetti VM tra i core CPU e diminuendo i costi associati alla gestione delle eccezioni (page-fault) per le aree di memoria condivise. È stato migliorato l'algoritmo di allocazione delle pagine di memoria. Sono stati eliminati i ritardi nel funzionamento della funzione vm_page_alloc(). È stata aggiunta l'API vm_page_hash*(), che consente di eseguire interrogazioni senza blocchi.

    Di conseguenza, siamo riusciti a migliorare le prestazioni. Ad esempio,
    nel test buildkernel, il tempo di esecuzione delle operazioni nel kernel è stato ridotto del 40%. La capacità di elaborazione è aumentata del 7% con la CPU della serie Haswell e del 14% per Xeon. Nel test SELF-EXEC S/DI rispetto alla versione precedente, si è notato un incremento delle prestazioni del 23% per Haswell e del 18% per Xeon. Nel test
    SELF-EXEC S/SH rispettivamente 28% e 71%, in SELF-EXEC D/DI — 23% e 242% (grazie al miglioramento della gestione dei thread), in SELF-EXEC D/SH al 24% e 234%, in FAULTZF al 17% e 14%, in DOCOMP al 22% e 42%,
    in NATIVEKERNEL al 5,1% e 8,1%;

  • Driver DRM e gestore della memoria video TTM per schede grafiche AMD notevolmente aggiornati. Aggiunta la supporto per i nuovi APU Ryzen. Migliorato il supporto del framebuffer UEFI. In radeon/ttm è stata risolta una deadlock che influiva negativamente sulle prestazioni. È stata effettuata una rifattorizzazione nell'assegnazione dei ritardi durante il caricamento per evitare conflitti tra il driver i915 e il server X. Aggiunto il richiamo di DRM_IOCTL_GET_PCIINFO per migliorare il supporto di mesa/libdrm. Risolti numerosi errori e problemi;
  • Riscritto il codice di sincronizzazione nel file system HAMMER2, il che ha consentito di migliorare significativamente le prestazioni di questo FS. È stata inoltre aumentata l'efficienza delle operazioni di scrittura sequenziale.
    Per aumentare la resilienza ai crash, è stato aggiunto il tracciamento delle dipendenze per escludere la divisione di directory/file durante le operazioni di creazione, rinominazione o eliminazione. Il codice per la gestione degli snapshot è stato rielaborato per ridurre i ritardi e garantire la coerenza dello snapshot. È stata migliorata la gestione delle operazioni di scrittura simultanee e dello svuotamento della cache su disco (flush). È stata migliorata l'implementazione dell'operazione umount. Maggiore informatività nei messaggi di errore di integrità (CRC error).

    HAMMER2 è raccomandato come file system radice predefinito. Il supporto per la clustering non è ancora disponibile. Il file system HAMMER2 è caratterizzato da funzionalità come il montaggio separato degli snapshot, snapshot scrivibili, quote a livello di directory, mirroring incrementale, supporto per diversi algoritmi di compressione dei dati, mirroring multi-master con distribuzione dei dati su più host.

  • È stato aggiunto il supporto iniziale per il sottosistema FUSE per creare file system nello spazio utente.
  • Migliorata la performance del filtro pacchetti PF su sistemi multicore.
  • È stata implementata la supporto per i meccanismi di protezione SMAP (Supervisor Mode Access Prevention) e SMEP (Supervisor Mode Execution Prevention) quando supportati dalla CPU. SMAP consente di bloccare l'accesso ai dati nello spazio utente dal codice privilegiato eseguito a livello di kernel. SMEP impedisce il passaggio dal kernel all'esecuzione di codice a livello utente, bloccando così molte vulnerabilità nel kernel (il shellcode non verrà eseguito poiché si trova nello spazio utente);
  • Aggiunto codice per bloccare attacchi classe MDS (Microarchitectural Data Sampling) nei processori Intel. Per funzionare è necessario avere un microcodice aggiornato. Per impostazione predefinita, la protezione è disattivata e si attiva tramite 'sysctl machdep.mds_mitigation=MD_CLEAR'. L'attivazione comporta un ritardo aggiuntivo di circa 250ns durante il passaggio di contesto tra spazio utente e kernel;
  • Il kernel è compilato per impostazione predefinita con la protezione retpoline contro gli attacchi Spectre.
  • Molti strumenti del sistema di base sono stati convertiti per utilizzare LibreSSL;
  • Le versioni dei componenti di terze parti sono state aggiornate, inclusi xz 5.2.4,
    libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
    libedit 2019-03-24. Sono stati trasferiti da FreeBSD evdev, makefs, ministat, libfetch,
    dd. Da OpenBSD sono stati trasferiti nelle libc le chiamate a reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero(). Per impostazione predefinita, il compilatore utilizzato per la build è gcc-8 invece di gcc-5.

Fonte: opennet.ru

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