După mai bine de un an de dezvoltare, a fost publicată lansarea DragonFlyBSD 6.0, un sistem de operare cu un nucleu hibrid, creat în 2003 cu scopul de a dezvolta alternativ ramura FreeBSD 4.x. Printre caracteristicile DragonFly BSD se numără sistemul de fișiere versiuni distribuite HAMMER, suport pentru încărcarea nucleelor "virtuale" ale sistemului ca procese utilizator, capacitatea de a cache-uie datele și metadatele sistemului de fișiere pe unități SSD, link-uri simbolice variantale care țin cont de context, posibilitatea suspendării proceselor menținându-le starea pe disc, un nucleu hibrid care utilizează fire de execuție ușoare (LWKT).
Îmbunătățirile principale adăugate în DragonFlyBSD 6.0:
- Sistemul de cache în sistemul de fișiere virtual (vfs_cache) a fost modernizat. Această modificare a permis creșterea fiabilității și îmbunătățirea performanței sistemelor de fișiere. A fost îmbunătățită cache-ul căilor complete prin intermediul apelului cache_fullpath().
- Utilitarul dsynth, destinat construirii locale și întreținerii repository-urilor binare DPort, a fost semnificativ îmbunătățit. În noua versiune a fost adăugată capacitatea de a specifica explicit ports-mgmt/pkg pentru construcția pachetelor, a fost adăugat suport pentru algoritmul ZSTD, în comanda 'prepare-system' s-a asigurat eliminarea pachetelor depășite, a fost adăugată posibilitatea utilizării ccache în timpul construcției.
- S-a continuat lucrul la sistemul de fișiere HAMMER2, care se remarcă prin caracteristici precum montarea separată a snapshot-urilor, snapshot-uri disponibile pentru scriere, cotele la nivel de directoare, mirroring incremental, suport pentru diverse algoritmi de compresie a datelor, mirroring multi-master cu distribuția datelor pe mai multe gazde. În noua versiune a fost adăugată suport inițial pentru multi-volume, permițând combinarea mai multor discuri locale într-un singur volum (modul de rețea multi-master nu este susținut încă). A fost implementată capacitatea de a mări dimensiunea volumului (comanda hammer2 growfs a fost adăugată). Problemele grave cu deduplicarea au fost rezolvate.
- Performanța sistemului de fișiere tmpfs a fost semnificativ îmbunătățită. A fost adăugat utilitarul mounttmpfs pentru simplificarea plasării /tmp și /var/run în tmpfs.
- A fost adăugată implementarea sistemului de fișiere Ext2, care nu conține cod sub licența GPL.
- Au fost aduse modificări semnificative în sistemul de memorie virtuală, inclusiv eliminarea suportului pentru MAP_VPAGETABLE mmap(), necesar pentru funcționarea vkernell (nuclee virtuale care rulează ca un proces utilizator). În următoarea versiune, se preconizează readucerea vkernel, regândit pe baza HVM.
- Implementarea apelurilor callout*() a fost refăcută.
- Suportul pentru frame buffer EFI a fost îmbunătățit.
- În driverul sysmouse a fost adăugat suport pentru evdev.
- Au fost adăugate apelurile clock_nanosleep, fexecve, getaddrinfo și timeout. A fost implementat suportul pentru fcntl(F_GETPATH) și flag-urile IP_SENDSRCADDR și SO_PASSCRED.
- În kernel a fost adăugată subsistemul kmalloc_obj, care permite reducerea fragmentării memoriei.
- A fost transferat din FreeBSD suportul driverului amdsmn pentru subsistemul SMN (System Management Network) al procesoarelor AMD.
- În devd a fost asigurată recunoașterea automată a adaptorilor wireless și crearea de interfețe de rețea wlanX pentru acestea.
- Tipul sysclock_t a fost mutat de la o valoare pe 32 de biți la una pe 64 de biți.
- Lanțul de inițiere a apelurilor de sistem a fost optimizat.
- Funcționarea în condiții de lipsă de memorie a fost optimizată.
- Mecanismul de medii izolate Jail a fost complet reproiectat. Parametrii sysctl jail.* au fost restructurați.
- Suportul pentru controlerele Ethernet Intel I219 a fost adăugat și suportul pentru cipurile Realtek a fost extins. În driverul bnx a fost adăugată suportul pentru cipurile Broadcom NetXtreme 57764, 57767 și 57787.
- În stiva de rețea a fost adăugat suportul pentru familia de adrese AF_ARP, reprezentând adresele ARP.
- Componentele interfeței DRM (Direct Rendering Manager) au fost sincronizate cu kernelul Linux 4.10.17. Driverul drm/i915 pentru GPU Intel a fost actualizat.
- Lățimea de band default a portului serial a fost mărită de la 9600 la 115200 bps.
- În utilitarul ifconfig a fost adăugată opțiunea „-f” și posibilitatea de a filtra outputul pe grupuri de interfețe.
- Din FreeBSD au fost sincronizate implementările utilitarelor shutdown, reboot, printf, test, sh, efivar, uefisign.
- Din NetBSD au fost transferate jocurile ching, gomoku, monop și cgram.
- Au fost incluse utilitare efidp și efibootmgr.
- Funcționalitățile bibliotecii pthreads au fost extinse, a fost adăugat suport pentru pthread_getname_np().
- Din FreeBSD a fost transferată biblioteca libstdbuf.
- În libutil a fost adăugat suport pentru sockaddr_snprintf(), transferat din NetBSD.
- Parolele setate în instalator permit utilizarea caracterelor speciale.
- Pachetul zstd (versiunea 1.4.8) a fost inclus în compunerea de bază.
- Versiunile componentelor externe au fost actualizate, inclusiv dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, wpa_supplicant 2.9. Compilerul folosit în mod implicit este gcc-8.
Sursa: opennet.ro
