Rilascio del sistema operativo DragonFly BSD 5.8

A disposizione rilasciare DragonFlyBSD 5.8, un sistema operativo con un kernel ibrido, creato nel 2003 allo scopo di sviluppare alternativamente il ramo FreeBSD 4.x. Tra le caratteristiche di DragonFly BSD, possiamo evidenziare un file system con versione distribuita HAMMER, supporto per il caricamento di kernel di sistema "virtuali" come processi utente, capacità di memorizzare nella cache dati e metadati FS su unità SSD, collegamenti simbolici varianti sensibili al contesto, capacità di congelare processi salvandone lo stato su disco, un kernel ibrido che utilizza thread leggeri (LWKT) .

Il principale miglioramentiaggiunto in DragonFlyBSD 5.8:

  • La composizione principale include l'utilità dsynth, progettato per l'assemblaggio locale e la manutenzione dei propri repository binari DPort. È supportata la parallelizzazione dell'assemblaggio di un numero arbitrario di porte, tenendo conto dell'albero delle dipendenze. In preparazione al nuovo rilascio, DPort ha apportato anche un gran numero di modifiche volte a velocizzare la compilazione di diversi pacchetti dipendenti.
  • libc implementa un efficace meccanismo di mascheramento del segnale, che rende possibile proteggere malloc*() e funzioni simili da problemi dovuti alla loro interruzione da parte di un segnale. Per il blocco e lo sblocco dei segnali a breve termine vengono proposte le funzioni sigblockall() e sigunblockall(), che funzionano senza effettuare chiamate di sistema. Inoltre, libc ha adattato la funzione strtok() per l'uso in applicazioni multi-thread, ha aggiunto le costanti TABDLY, TAB0, TAB3 e la funzione __errno_location per migliorare il supporto dports.
  • I componenti dell'interfaccia DRM (Direct Rendering Manager) sono sincronizzati con il kernel Linux 4.9, con funzionalità selezionate trasferite dal kernel 4.12 volte a migliorare il supporto Wayland.
    Il driver drm/i915 per GPU Intel è sincronizzato con il kernel Linux 4.8.17 con codice trasferito dal kernel 5.4 per supportare i nuovi chip (Skylake, Coffelake, Amber Lake, Whiskey Lake e Comet Lake). Il driver drm/radeon per le schede video AMD è sincronizzato con il kernel Linux 4.9.

  • Gli algoritmi di paginazione della memoria virtuale sono stati notevolmente migliorati, consentendoci di eliminare o ridurre al minimo i problemi di reattività nell'interfaccia utente quando la memoria non è sufficiente. Sono stati risolti i problemi relativi al blocco di Chrome/Chromium dovuti a memoria di sistema insufficiente.
  • Miglioramento della scalabilità del kernel su sistemi con un numero elevato di core del processore. Tempo di richiesta della pagina di memoria virtuale ridotto. Ridotto conflitto SMP quando la memoria è insufficiente. Maggiore efficienza della chiamata "open(... O_RDWR)".
  • Il generatore di numeri pseudo-casuali nel kernel è stato riprogettato. Il driver RDRAND è adattato per accumulare entropia da tutte le CPU. Intensità ridotta
    e la dimensione del feed RDRAND, che in precedenza occupava il 2-3% del tempo della CPU durante i tempi di inattività.

  • Aggiunte nuove chiamate di sistema realpath, getrandom e lwp_getname (permessa l'implementazione di pthread_get_name_np).
  • Aggiunto il supporto per i meccanismi di protezione SMAP (Supervisor Mode Access Prevention) e SMEP (Supervisor Mode Execution Prevention). SMAP consente di bloccare l'accesso ai dati dello spazio utente da codice privilegiato in esecuzione a livello di kernel. SMEP non consente il passaggio dalla modalità kernel all'esecuzione di codice situato a livello utente, il che consente di bloccare lo sfruttamento di molte vulnerabilità del kernel (il codice shell non verrà eseguito, poiché si trova nello spazio utente);
  • Variabili sysctl rielaborate per la configurazione di Jail. Aggiunta la possibilità di montare nullfs e tmpfs da Jail.
  • Aggiunta la modalità di emergenza per il file system HAMMER2, che può essere utilizzata durante il ripristino dopo un errore. In questa modalità è possibile distruggere le istantanee durante l'aggiornamento locale dell'inode (consente di eliminare file e directory in assenza di spazio libero su disco, quando è impossibile utilizzare il meccanismo di copia su scrittura). Prestazioni notevolmente migliorate rielaborando il supporto per l'invio dei thread in HAMMER2. Il processo di lavaggio dei buffer è stato notevolmente migliorato.
  • Affidabilità e prestazioni migliorate di TMPFS. Maggiore efficienza operativa in caso di mancanza di memoria libera nel sistema.
  • Lo stack di rete IPv4 ora supporta i prefissi /31 (RFC 3021).
    Tap ha migliorato la gestione dell'ioctl SIOCSIFMTU per supportare MTU > 1500. Aggiunto supporto per SIOCSIFINFO_IN6 e SO_RERROR.

  • Il driver iwm è sincronizzato con FreeBSD con supporto per i chip wireless Intel (aggiunto supporto per iwm-9000 e iwm-9260).
  • Aggiunte le funzioni basename() e dirname() compatibili con Linux per migliorare la compatibilità delle porte.
  • Spostati fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 da FreeBSD a libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Le funzioni di math.h sono state spostate da OpenBSD.
  • Versioni aggiornate di componenti di terze parti, inclusi Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Il compilatore predefinito è gcc-8.

Fonte: opennet.ru

Aggiungi un commento