Rilascio del sistema operativo DragonFly BSD 6.0

Dopo più di un anno di sviluppo è stato pubblicato il rilascio di DragonFlyBSD 6.0, un sistema operativo con kernel ibrido creato nel 2003 con lo scopo di uno sviluppo alternativo del ramo FreeBSD 4.x. Tra le caratteristiche di DragonFly BSD, possiamo evidenziare il file system con versione distribuita HAMMER, il supporto per il caricamento di kernel di sistema "virtuali" come processi utente, la capacità di memorizzare nella cache dati e metadati FS su unità SSD, collegamenti simbolici varianti sensibili al contesto, la capacità per congelare i processi salvandone lo stato su disco, kernel ibrido che utilizza thread leggeri (LWKT).

Principali miglioramenti aggiunti in DragonFlyBSD 6.0:

  • Il sistema di memorizzazione nella cache nel file system virtuale (vfs_cache) è stato aggiornato. La modifica ha migliorato l'affidabilità e le prestazioni dei file system. Migliorata la memorizzazione nella cache dei percorsi completi utilizzando la chiamata cache_fullpath().
  • L'utilità dsynth, progettata per l'assemblaggio locale e la manutenzione dei repository binari DPort, è stata notevolmente migliorata. La nuova versione ha la capacità di specificare esplicitamente ports-mgmt/pkg per la creazione di pacchetti, ha aggiunto il supporto per l'algoritmo ZSTD, ha rimosso i pacchetti obsoleti nel comando 'prepare-system' e ha aggiunto la possibilità di utilizzare ccache durante la creazione.
  • È continuato il lavoro sul file system HAMMER2, che si distingue per funzionalità come il montaggio separato di istantanee, istantanee scrivibili, quote a livello di directory, mirroring incrementale, supporto per vari algoritmi di compressione dei dati, mirroring multi-master con distribuzione dei dati su diversi host. La nuova versione aggiunge il supporto iniziale per partizioni multi-volume, consentendo di combinare diversi dischi locali in un'unica partizione (la modalità di rete multi-master non è ancora supportata). È stata implementata la possibilità di aumentare la dimensione della partizione (è stato aggiunto il comando hammer2 growfs). I principali problemi di deduplicazione sono stati risolti.
  • Le prestazioni del file system tmpfs sono state notevolmente migliorate. Aggiunta l'utilità mounttmpfs per semplificare il posizionamento di /tmp e /var/run in tmpfs.
  • Aggiunta un'implementazione del file system Ext2, che non contiene codice con licenza GPL.
  • Apportate modifiche significative al sistema di memoria virtuale, inclusa la rimozione del supporto per MAP_VPAGETABLE mmap(), necessario per il funzionamento di vkernell (kernel virtuali eseguiti come processo utente). Nella prossima release è previsto il ritorno di vkernel, riprogettato sulla base di HVM.
  • L'implementazione delle chiamate callout*() è stata riprogettata.
  • Supporto framebuffer EFI migliorato.
  • Aggiunto il supporto evdev al driver sysmouse.
  • Aggiunte chiamate a clock_nanosleep, fexecve, getaddrinfo e timeout. Implementato il supporto per fcntl(F_GETPATH) e i flag IP_SENDSRCADDR e SO_PASSCRED.
  • Il sottosistema kmalloc_obj è stato aggiunto al kernel per ridurre la frammentazione della memoria.
  • Il supporto per il driver amdsmn per il sottosistema SMN (System Management Network) dei processori AMD è stato spostato da FreeBSD.
  • devd fornisce il riconoscimento automatico degli adattatori wireless e la creazione di interfacce di rete wlanX per essi.
  • Il tipo sysclock_t è stato convertito da 32 a 64 bit.
  • La catena di lancio delle chiamate di sistema è stata ottimizzata.
  • Lavoro ottimizzato in condizioni di memoria insufficiente.
  • Il meccanismo dell'ambiente isolato della prigione è stato significativamente riprogettato. I parametri sysctl jail.* sono stati ristrutturati.
  • Aggiunto supporto per controller Ethernet Intel I219 e supporto esteso per chip Realtek. Il driver bnx ha aggiunto il supporto per i chip Broadcom NetXtreme 57764, 57767 e 57787.
  • Aggiunto supporto allo stack di rete per la famiglia di indirizzi AF_ARP, che rappresenta gli indirizzi ARP.
  • I componenti dell'interfaccia DRM (Direct Rendering Manager) sono sincronizzati con il kernel Linux 4.10.17. Driver drm/i915 aggiornato per GPU Intel.
  • La larghezza di banda predefinita della porta seriale è stata aumentata da 9600 a 115200 baud.
  • L'opzione "-f" è stata aggiunta all'utilità ifconfig e alla possibilità di filtrare l'output per gruppo di interfacce.
  • Le implementazioni delle utilità shutdown, reboot, printf, test, sh, efivar, uefisign sono sincronizzate da FreeBSD.
  • I giochi ching, gomoku, monop e cgram sono stati portati da NetBSD.
  • Sono incluse le utilità efidp ed efibootmgr.
  • Le capacità della libreria pthreads sono state ampliate, è stato aggiunto il supporto per pthread_getname_np().
  • La libreria libstdbuf è stata spostata da FreeBSD.
  • Il supporto per sockaddr_snprintf() è stato aggiunto a libutil, ripreso da NetBSD.
  • Le password specificate nel programma di installazione consentono l'utilizzo di caratteri speciali.
  • Il pacchetto base include il pacchetto zstd (versione 1.4.8).
  • Versioni aggiornate di componenti di terze parti, inclusi dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, wpa_supplicant 2.9. Il compilatore predefinito è gcc-8.

Fonte: opennet.ru