Rilascio del sistema operativo DragonFly BSD 5.8

È disponibile il rilascio DragonFlyBSD 5.8, un sistema operativo con un nucleo ibrido, creato nel 2003 con l'obiettivo di uno sviluppo alternativo della serie FreeBSD 4.x. Tra le caratteristiche di DragonFly BSD, si può evidenziare il sistema di file distribuito e versionato HAMMER, il supporto per il boot di "nuclei virtuali" del sistema come processi utente, la possibilità di memorizzare nella cache i dati e i metadati del FS su unità SSD, considerare le link simbolici varianti contestuali, la possibilità di congelare i processi mantenendo il loro stato su disco, un nucleo ibrido, che utilizza thread leggeri (LWKT).

Principali miglioramenti, aggiunti in DragonFlyBSD 5.8:

  • Nel pacchetto principale è inclusa l'utilità dsynth, progettata per la costruzione locale e la gestione di repository binari DPort. È supportata la parallelizzazione della compilazione di un numero arbitrario di port, tenendo conto dell'albero delle dipendenze. Durante la preparazione di una nuova versione in DPort, sono state apportate anche numerose modifiche, mirate a velocizzare la compilazione di diversi pacchetti dipendenti.
  • Nella libc è stato implementato un meccanismo efficace di mascheramento dei segnali, che ha protetto malloc*() e funzioni simili da problemi causati da interruzioni da segnali. Per il blocco e sblocco dei segnali a breve termine, sono state proposte le funzioni sigblockall() e sigunblockall(), che funzionano senza effettuare chiamate di sistema. Inoltre, nella libc la funzione strtok() è stata adattata per l'uso in applicazioni multithread, sono state aggiunte le costanti TABDLY, TAB0, TAB3 e la funzione __errno_location per migliorare il supporto per dports.
  • I componenti dell'interfaccia DRM (Direct Rendering Manager) sono stati sincronizzati con il nucleo Linux 4.9, portando da quello 4.12 alcune funzionalità mirate a migliorare il supporto per Wayland.
    Il driver drm/i915 per GPU Intel è stato sincronizzato con il nucleo Linux 4.8.17, trasferendo dal nucleo 5.4 il codice per il supporto di nuovi chip (Skylake, Coffeelake, Amber Lake, Whiskey Lake e Comet Lake). Il driver drm/radeon per schede grafiche AMD è stato sincronizzato con il nucleo Linux 4.9.
  • Sono stati notevolmente migliorati gli algoritmi di paging della memoria virtuale, riuscendo a eliminare o minimizzare i problemi di reattività nell'interfaccia utente durante la mancanza di memoria. Sono stati risolti i problemi di blocco di Chrome/Chromium con insufficienza di memoria di sistema.
  • Migliorata la scalabilità del kernel su sistemi con un gran numero di core della CPU. Ridotto il tempo di richiesta per le pagine della memoria virtuale. Ridotta la concorrenza SMP in condizioni di scarsità di memoria. Aumentata l'efficienza della chiamata "open(… O_RDWR)".
  • Riprogettato il generatore di numeri pseudocasuali nel kernel. Il driver RDRAND è stato adattato per accumulare entropia da tutte le CPU. Ridotta l'intensità
    e la dimensione dell'alimentazione di RDRAND, che in precedenza assorbiva il 2-3% del tempo della CPU durante i periodi di inattività.
  • Aggiunte nuove chiamate di sistema realpath, getrandom e lwp_getname (permette di implementare pthread_get_name_np).
  • Aggiunto 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 nello spazio utente da codice privilegiato in esecuzione a livello kernel. SMEP impedisce il passaggio dalla modalità kernel all'esecuzione di codice a livello utente, bloccando quindi l'esploitazione di molte vulnerabilità nel kernel (il codice shell non verrà eseguito poiché si trova nello spazio utente);
  • Riprogettate le variabili sysctl per la configurazione del Jail. Aggiunta la possibilità di montare nullfs e tmpfs dal Jail.
  • Aggiunta una modalità di emergenza per il filesystem HAMMER2, utilizzabile durante il processo di recupero da un crash. In questa modalità è consentita la distruzione degli snapshot durante l'aggiornamento degli inode in loco (permette di eliminare file e directory in assenza di spazio libero sul disco, quando non è possibile utilizzare il meccanismo copy-on-write). Notevolmente aumentata l'efficienza grazie alla riprogettazione del supporto per la gestione dei thread in HAMMER2. Significativamente migliorato il processo di svuotamento dei buffer (flush).
  • Aumentata l'affidabilità e le prestazioni di TMPFS. Aumentata l'efficienza operativa in condizioni di scarsità di memoria libera nel sistema.
  • Nel stack di rete per IPv4 implementato il supporto per i prefissi /31 (RFC 3021).
    Nel tap migliorata la gestione di ioctl SIOCSIFMTU per supportare MTU > 1500. Aggiunto supporto per SIOCSIFINFO_IN6 e SO_RERROR.
  • Sincronizzato il driver iwm con FreeBSD con supporto per chip wireless Intel (aggiunto supporto per iwm-9000 e iwm-9260).
  • Aggiunte funzioni compatibili con Linux basename() e dirname() per migliorare la compatibilità nei port.
  • Portati da FreeBSD fsck_msdosfs, sys/ttydefaults.h, AF_INET/AF_INET6 in libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Portate da OpenBSD funzioni da math.h.
  • Aggiornate le versioni dei componenti di terze parti, tra cui Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Il compilatore gcc-8 è utilizzato per impostazione predefinita.

Fonte: opennet.ru

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