DragonFly BSD

Software screenshot:
DragonFly BSD
Dettagli del software:
Versione: 5.2.2 Aggiornato
Data di caricamento: 22 Jun 18
Sviluppatore: The DragonFly Team
Licenza: Libero
Popolarità: 50

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD è un sistema operativo BSD open source progettato per essere la continuazione logica della serie OS FreeBSD-4.x. È molto simile ad altre distribuzioni basate su BSD, come FreeBSD, NetBSD o OpenBSD. È un bivio, per così dire, dando alla base BSD l'opportunità di crescere in una direzione completamente nuova rispetto a quella della serie FreeBSD-5. Inoltre, include un set unico di funzionalità che lo differenziano da altri sistemi operativi simili.


HAMMER è l'attrazione principale

HAMMER è l'attrazione principale di DragonFly, un file system moderno ad alte prestazioni che offre funzionalità di accesso storico e mirroring incorporato. Il kernel è anche uno dei motivi per cui DragonFly è una distribuzione BSD migliore.

Offre due diversi scheduler per il kernel

Il kernel di DragonFly include due diversi scheduler, uno che pianifica tutte le entità eseguibili (Light Weight Kernel Thread) e un altro che seleziona un thread singolo utente alla volta per ciascun processore e astrae i thread utente (User Thread Scheduler). Inoltre, il kernel presenta un complesso allocatore di memoria del kernel costituito da un allocatore di memoria orientato agli oggetti e un malloc del kernel di base chiamato kmalloc (), il file system del dispositivo DragonFly (DEVFS), un kernel virtuale (VKERNEL), asincronizzazione RPC V3 di NFS e un scheduler I / O su disco (dsched).


Caratteristiche, molte funzionalità

Tra le altre caratteristiche interessanti, possiamo citare il NULL Filesystem Layer (NULLFS) che supporta punti di mount arbitrari non in loop, TMPFS (Temporary Filesystem VFS), crittografia disco trasparente, supporto SSD (Solid Storage Device) gestito, variante (contesto -sensibile) symlink, DNTPD (DragonFly Network Time Daemon) e DMA (DragonFly Mail Agent). Inoltre, gli utenti saranno in grado di controllare o sospendere i processi su disco in qualsiasi momento. La distro fornisce potenti driver AHCI, nomi di dispositivi stabili, nonché crittografia e gestione del volume ben fondate.

Linea di fondo

Complessivamente, DragonFly si dimostra un sistema operativo moderno, user-friendly e molto accessibile come UNIX. Può essere utilizzato quotidianamente come sistema desktop o come potente server BSD.

Novità in questa versione:

  • È stata rilasciata DragonFly versione 5.2.1, con mitigazione Meltdown / Spectre, molti miglioramenti a HAMMER2, ipfw e video accelerato, più (nella correzione 5.2.1) correzione per CVE-2018-8897.

Novità della versione nella versione:

  • Christian Groessler (1):
  • telnetd: stampa le informazioni di sistema (sistema operativo e architettura) prima della richiesta di accesso.
  • Matthew Dillon (7):
  • hammer2 - Corregge Correzione per 0 razza
  • kernel - MFC selettivo del lavoro umtx del kernel dal master
  • kernel - Aggiorna la documentazione di umtx
  • libc e pthreads - Risolvi i problemi di atfork con nmalloc, aggiorna dmalloc
  • hammer2 - Fix rename race
  • hammer2 - ottimizza hammer2_pfs_memory_wakeup ()
  • hammer2 - Risolve catene sporche indefinite a causa della rinomina
  • Sascha Wildner (5):
  • hammer2.8: Fix typo.
  • Pronuncia "martello2" invece di "martello" in vari punti.
  • mtree: correggi il proprietario di diverse directory in / usr / share.
  • libc / nls: usa le impostazioni locali correnti (impostate per thread).
  • libarchive: ripristina il commit che non era destinato a essere inserito.

Novità nella versione 4.8.1:

  • Kernel:
  • Codice cache del buffer di refactoring per rimuovere prenotazioni KVA dinamiche. Invece, tutto il KVA è riservato al momento dell'avvio. Salva da IPI non necessari e consente una significativa semplificazione del codice della cache del buffer.
  • Aggiungi vfs.repurpose_enable (sotto test, disabilitato per impostazione predefinita). Questa funzione può essere abilitata a ridurre significativamente il carico di gestione IPI e VM su una macchina che sta facendo enormi quantità di I / O di file, ad esempio da un SSD NVMe, aggirando il normale meccanismo di riciclaggio delle pagine VM. Se abilitato, la funzione si attiva solo con carichi I / O elevati. Funziona riproponendo le pagine VM sottostanti un buffer sul posto (quando possibile) in modo da non dover kremove / kenter le pagine nel KVA del buffer. Anche il normale riciclo delle pagine VM (che altrimenti sarebbe sopraffatto dal carico I / O) viene bypassato.
  • Modificare il modo in cui viene elaborato l'IPIQ, in particolare creare un meccanismo vettoriale Xinterrupt indipendente per le invalidazioni delle pagine che ignorano (funzioneranno) anche se viene mantenuta una sezione critica. Implementa machdep.optimized_invltlb (disabilitato per impostazione predefinita, in fase di test) che evita l'invio di IPI di invalidazione tlb alla cpus inattiva.
  • Correggere numerose gare che potrebbero verificarsi in caso di carichi estremi. La maggior parte dei casi d'uso non li innescherebbe mai, ma occasionalmente i nostri box di costruzione. Ad esempio, c'è stata una corsa a due istruzioni in cui il bit della cpu per una pmap sarebbe stato cancellato (per due istruzioni) e causare un IPI TLB che si verifica nello stesso momento su un'altra CPU per la stessa pmap per non rendersi conto che la CPU stava usando la pmap . La correzione consiste nel disabilitare l'ottimizzazione di ricarica CR3 per il caso switch LWP- & gt; LWP (same proc).
  • Correggere un bug HAMMER che potrebbe causare un errore di DATA CRC riportato in modo errato.
  • Risolve una doppia scrittura attivata dal modo in cui HAMMER utilizza cluster_write (). Ciò migliora significativamente le prestazioni di scrittura di HAMMER.
  • Sono anche andate molte altre correzioni e correzioni di HAMMER.
  • Correzione di un blocco hardware che potrebbe verificarsi in getpbuf * () a causa di un'interpretazione errata del valore restituito di un'opzione atomica
  • Risolve un interrupt di stacking che può verificarsi in una finestra di 10 istruzioni, potenzialmente (ma non trovata in natura) che esegue lo stack del kernel.
  • Tagliare le IPI relative alla pmap a metà per determinate operazioni della cache del buffer, non preoccupandosi di invalidare il TLB, e sul rovescio della medaglia invalidando sempre il TLB quando si immette una nuova PTE anche se il contenuto precedente non era valido. Ciò migliora le prestazioni e semplifica anche il debug rimuovendo un'ottimizzazione problematica.
  • Correggere un numero di gare SMP difficili da innescare, in particolare uno relativo a umounts simultanei di diversi mount point che potrebbero essere generati dalla generazione di massa. Correggi anche una gara mountctl vs umount.
  • Riduci il numero di operazioni atomiche nel percorso switch.
  • Correzione di una razza / panico di namecache che potrebbe verificarsi in caso di carichi estremi accoppiati con molte attività di mount / umount.
  • Limita% rip campionamento a root.
  • Risolto un problema con getpid () in vfork () durante il thread. In particolare, concurrent vfork () in un programma con thread potrebbe causare il ritorno del PID errato da getpid () nel figlio prima dell'esecuzione.
  • Correggi una rara gara di tsleep / callout quando il timer di callout si attiva prima che tsleep () abbia completato la configurazione.
  • Pulisci i messaggi di stallo del namecache sulla console. In particolare, segnala il tempo trascorso corretto e il td_comm del thread coinvolto.
  • Riduci ulteriormente il test della memoria e l'azzeramento all'avvio per migliorare i tempi di avvio su sistemi con grandi quantità di ram.
  • Rimuovi completamente il codice di azzeramento della pagina inattiva. L'azzeramento di una pagina su una CPU moderna su richiesta è migliore per molte ragioni e potrebbe essere più veloce se combinato con il consumatore che accede ai dati nella pagina, a causa degli effetti della cache. Rimuovi PG_ZERO, perché non è più necessario. La rimozione di PG_ZERO rende inoltre il debug del kernel rimuovendo un'altra possibile fonte di contaminazione incrociata.
  • Refactor e completa l'implementazione della localizzazione della CPU per le allocazioni della memoria del kernel. Combina con la consapevolezza NUMA. Questo funziona per le strutture di dati del kernel cpu-localized o di breve durata. I due sono combinati insieme nella nostra astrazione PQ_L2_SIZE che era il codice di colorazione della pagina VM. Questo codice ora gestisce anche la localizzazione della CPU e il riconoscimento NUMA.
  • Risolve molti problemi di vkernel e migliora significativamente le prestazioni di vkernel.
  • Aggiorna kern.proc.pathname, un sysctl usato dai programmi per trovare il percorso del programma in esecuzione. Questo sysctl è stato inizialmente implementato prima di memorizzare dati sufficienti per restituire un percorso completo e corretto.
  • Sincronizzazione di ACPICA da Intel (si tratta di un evento normale).
  • Correggere l'assembly memcpy () ABI. L'assembly non restituiva l'argomento originale (dst). Non risolve alcun problema noto ma chiude un buco quando GCC a volte decide di chiamare memcpy durante la generazione del codice.
  • Molti si impegna a ripulire gli avvisi e gli errori dell'O2. Il kernel è ora compilato -O2 per impostazione predefinita.
  • Aggiungi una soluzione alternativa per un rendimento improprio nel percorso ACPI (noto anche come codice ACPI buggy).
  • Correzione di una race STOP / CONT che potrebbe essere innescata da un segnale in sospeso proprio nel momento sbagliato.
  • Correggere correzioni di coredump e correggere un blocco correlato allo stesso quando più thread dello stesso processo seg-fault allo stesso tempo.
  • Risolve un deadlock CAM / VM che potrebbe verificarsi a causa di un bug in uiomove_nofault (). Ciò potrebbe causare un "buffer di attesa indefinito" durante il paging / swapping pesante.
  • Aggiungi codice per rilevare e gestire le IPI perse. Questo è principalmente per vkernels, dove alcuni host virtuali possono perdere IPI. Le CPU reali non dovrebbero perdere le IPI.
  • Varie correzioni a clock_gettime ().
  • Rimuovi più tracce del MPLOCK. Tutti i percorsi critici sono stati da tempo dismessi da questo blocco, ma ci sono ancora alcuni posti non critici che lo utilizzano.
  • Rilancia il codice di eliminazione dei processi a bassa memoria e correggi un numero di gare che potrebbero impedire il funzionamento della funzione.
  • Correzione del blocco del sistema con VMM e refactoring del codice VMX.
  • Risolvi un deadlock quando numvnodes raggiunge maxvnodes, che può verificarsi in presenza di carichi pesanti. Risolvi anche una piccola perdita di memoria del kernel quando 'df' o la sincronizzazione del filesystem si dirige su una umount. Riduci anche il calcolo di maxvnodes in modo modesto. Ad esempio, una macchina con 8GB di ram ora imposterà maxvnodes su 478483 anziché su 598103.
  • Risolve un panico raro che può essere attivato da vm_object_page_remove () quando user_yield () viene chiamato in modo improprio mentre si tiene uno spinlock, quindi decide di deschedule.
  • Riduce le dimensioni di alcune strutture del kernel allocate dinamicamente. In particolare, le allocazioni delle tabelle hash inode di dimensioni eccessive sono ora ridotte. Influisce principalmente su UFS (che DragonFlyBSD non utilizza molto).
  • Aggiungi soluzione alternativa per AMD erratum 793.
  • Risolve un deadlock che può verificarsi nelle chiamate I / O cluster _ * () in pila.
  • Correzione di un bug in cui il caricamento del modulo ricorsivo poteva deadlock.
  • Risolto un bug insulso nel codice sillyrename NFS (lato server NFS) che poteva causare il codice sillyrename del server NFS per non rimuovere mai il file ridenominato. Che sciocco!
  • Esegui un lavoro migliore in grado di supportare configurazioni ncpu + memoria insufficiente.
  • Refactor ha condiviso spinlock per ridurre la quantità di spinning che può verificarsi quando più cpus acquisiscono uno spinlock condiviso allo stesso tempo.
  • Revisionare le operazioni di namecache per ridurre ulteriormente il conflitto SMP. Ciò migliora le prestazioni simultanee a componente singolo non conflittuali di almeno 25x su sistemi con molti core e riduce in modo significativo le operazioni di ref e wasref della struttura di mount e di vnode
  • Revisiona numerose altre strutture del kernel per migliorare la localizzazione della cache e ridurre il bouncing della linea cache.
  • Risolto un bug nel codice di ridenominazione del file SMBFS.
  • Implementa RLIMIT_RSS, un limitatore RSS per processo che imporrà il paging localizzato su una base per processo. Questa funzione può essere utilizzata per impedire a un processo di trasformare il resto della macchina in una custodia rigida.
  • Aumentare lo spazio di scambio massimo supportato. Il massimo è ora limitato principalmente da ram e sarà compreso tra decine di terabyte (se si dispone di RAM sufficiente per le strutture di gestione di supporto). Aumenta anche il KVM del kernel da 128G a 511G.
  • Implementa l'eliminazione dinamica di pmap (disabilitata per impostazione predefinita). Questo dirige il codice pmap per eliminare al volo le pagine della tabella di pagine intermedie e le PD dalla pmap. Può essere utile se la memoria è un vantaggio, ma nota che, se abilitata, rallenterà l'esecuzione dei programmi che allocano e deallocano la memoria ad alta velocità.
  • Rifatto come funzionano i livelli "belli" dell'utente, rendendo i valori piacevoli selezionati più significativi di quelli che erano in precedenza.
  • Aggiungi un driver NVME nativo ad alte prestazioni a DragonFly, scritto da Matt Dillon. Questo driver utilizza i vettori MSI-X e tutte le code disponibili supportate dal dispositivo, localizzazione per-cpu senza blocco o blocco minimo (nessun conflitto SMP nella maggior parte dei casi) ed è in grado di eseguire IOPS e throughput folle.
  • Grafica:
  • Stabilizza Broadwell e Skylake, portaci al DRM equivalente a Linux 4.6
  • Implementa l'API di i2c Linux per semplificare il porting.
  • Correggere alcuni vecchi bug, incluso un inversione dell'ordine di blocco, che potrebbe rallentare la riproduzione del video (e il resto di X).
  • Risolto un errore di priorità del thread del drm del kernel che consentiva ai processi utente di avere una priorità più alta rispetto al thread helm drm. Questo risolve la maggior parte dei video temporanei segnalati sui browser.
  • Gestire il frame buffer EFI passando in DRM, migliorare la commutazione VT di syscons e correggere un deadlock correlato. Anche il kernel prova a tornare alla console VT da X quando si verifica un errore.
  • Networking:
  • Molti miglioramenti su tutta la linea.
  • iwm - Risolve un problema causato dalla logica invertita. Numerosi altri miglioramenti che migliorano significativamente le prestazioni.
  • wlan - Supporto per la scansione bg asincrona e altre funzionalità aggiunte.
  • Altri driver:
  • nvme - Aggiunto al build predefinito del kernel, oltre a correzioni e miglioramenti delle prestazioni.
  • mmcsd - Supporto eMMC significativo aggiunto a DragonFly.
  • ahci - Alcuni aggiustamenti di compatibilità e altre stranezze aggiunte per supportare i chipset danneggiati, in particolare i moltiplicatori di porte. Implementare anche FBS (FIS-Based-Switching) quando supportato dal chipset.
  • Aggiunta del trackpoint e del supporto Elantech.
  • ambiente utente:
  • systat migliorato per comprimere più interrupt appartenenti allo stesso driver, dato che spesso ce ne sono troppi da elencare ora.
  • systat -vm 1 significativamente migliorato e rinnovato per riportare informazioni più utili e per decomprimere i campi in modo che non si incontrino a vicenda. E aggiungi "nvme" alla corrispondenza del dispositivo a blocchi. Regola anche il display vmstats esteso e cambia il modo in cui vengono visualizzati ozfod e nzfod.
  • 'vmstat 1' output refactored. Tutti i campi si scontravano l'un l'altro a causa delle alte prestazioni di una macchina moderna contro ciò che esisteva 30 anni fa.
  • Modifica segnalazione di montaggio / montaggio per ridurre scansioni e comandi di mountlist non necessari dalle operazioni mount_null e mount_tmpfs. Solamente importa solo con il pesante uso simultaneo di mount / umount, ma la generazione di massa in realtà crea quella situazione.
  • Correzione di numerose perdite di fork / exec * () che libc può attivare a causa dell'utilizzo di O_CLOEXEC in modo atomico. Aggiungi varie funzioni di O_CLOEXEC a funzioni come popen () e mk * stemp * () (aggiungi mkostemp () e mkostemps ()). Correggere una perdita di descrittore di file in popen () durante l'esecuzione in un ambiente con thread.
  • Sii più bello di pthreads in vfork () dando al lwp del nuovo processo secondario lo stesso TID di quello che ha chiamato vfork (). Ciò consente alle funzioni di supporto pthread di essere eseguite nel child durante il vfork senza implodere pthreads.
  • Un sacco di correzioni di compatibilità alle intestazioni per migliorare le build bulk dei dport.
  • Diverse importazioni OpenSSL per correzioni di sicurezza.
  • Risincronizza OpenSSH per rendere più facile mantenerlo aggiornato.
  • Separa i flag del kernel C facendo in modo che il build del kernel usi KCFLAGS invece di CFLAGS.
  • Rimuovi completamente numerosi vecchi driver ISA dall'albero. Poiché DragonFlyBSD ora è solo a 64 bit, possiamo iniziare a rimuovere vecchi driver che non esistono su piattaforme a 64 bit.
  • Introduci WORLD_CFLAGS e WORLD_CCOPTLEVEL, con impostazione predefinita su -O. Ciò semplifica la compilazione del tuo mondo -O2 o qualsiasi altra cosa (ad esempio WORLD_CCOPTLEVEL = 2). Tuttavia, scoraggiamo l'uso di 3 o superiore. I valori validi sono 0, 1, 2, 3, s, g e 'veloce'.
  • Regola la formattazione STATUS per ps per renderla più leggibile e per rimuovere le bandiere antiche che non sono più applicabili e crea semplicemente confusione.
  • Correzione dell'allineamento di malloc () per piccole allocazioni. L'allineamento minimo ora è 16 per le allocazioni nell'intervallo di 16-128 byte anziché 8. Si noti che le allocazioni di potenza di 2 sono sempre state allineate naturalmente, ma alcuni programmi usano multipli di (es.) 16, come '48', e assumere l'allineamento a 16 byte.
  • Fortune refactored, aggiunte.
  • powerd - Aggiungi la gestione basata sulla temperatura a powerd con una nuova opzione -H lotemp: hightemp. Questa funzione è estremamente utile su laptop con raffreddamento insufficiente e i cui BIOS intenzionalmente rallentano a temperature troppo elevate. Powerd ora rileva anche i cambiamenti dello stato di alimentazione (che possono modificare l'elenco delle frequenze disponibili) e transita correttamente il servizio quando si verifica un cambio di stato di alimentazione.
  • Un sacco di correzioni e correzioni libthread_xu / pthreads per migliorare la compatibilità dei dport.
  • Aggiungi funzionalità di copia su scrittura al vkernel. Ad esempio, consente a più vkernel di utilizzare una singola immagine disco avendo ciascuna modifica COW internamente alla ram.
  • / usr / src / sicuro rewired, conflitti rimossi da libmd, libcrypt.
  • Vari strumenti sono stati aggiornati nel sistema di base:
  • Compilatore aggiornato a GCC 5.4.1.
  • Ora abbiamo un linker oro con LTO.
  • binutils 2,25
  • meno 481.
  • OpenSSL / LibRESSL completamente rinnovato. Base ora usa libressl.
  • Aggiornamenti multipli del fuso orario.
  • Stato Hammer:
  • Miglioramenti vari. Una cosa che non è entrata nel rilascio è stata una versione di bump per utilizzare un algoritmo CRC più veloce con un polinomio diverso. Questo lavoro sarà MFC per -release una volta completato il test. Tuttavia, gli utenti non dovrebbero preoccuparsene troppo perché la correzione delle prestazioni più seria è nella versione (una correzione al codice cluster_write () per le scritture del filesystem).
  • Stato Hammer2:
  • Lo sviluppo continua ma non c'è ancora una parola in una prima versione.
  • Stato Clang:
  • È stato aggiunto un framework di partenza per l'utilizzo di clang come compilatore di base alternativo in DragonFly, per sostituire gcc 4.7. Non è ancora completo. Naturalmente Clang può essere aggiunto come pacchetto.
  • Stato a 64 bit:
  • Si noti che DragonFly è un sistema operativo solo a 64 bit a 4.6 e non verrà eseguito su hardware a 32 bit.
  • Il supporto di AMD Ryzen è incluso nella versione e ulteriori lavori verranno introdotti man mano che si verificano nuovi sviluppi di Ryzen. Esistono alcuni problemi relativi alla topologia della cpu che verranno risolti e l'MFC. Ci sono alcuni problemi di stabilità attualmente in attesa su un aggiornamento del microcodice AMD per risolvere / ritestare. Gli utenti di Ryzen possono essere certi che ce ne occuperemo!

Novità nella versione 4.8.0:

  • Kernel:
  • Codice cache del buffer di refactoring per rimuovere prenotazioni KVA dinamiche. Invece, tutto il KVA è riservato al momento dell'avvio. Salva da IPI non necessari e consente una significativa semplificazione del codice della cache del buffer.
  • Aggiungi vfs.repurpose_enable (sotto test, disabilitato per impostazione predefinita). Questa funzione può essere abilitata a ridurre significativamente il carico di gestione IPI e VM su una macchina che sta facendo enormi quantità di I / O di file, ad esempio da un SSD NVMe, aggirando il normale meccanismo di riciclaggio delle pagine VM. Se abilitato, la funzione si attiva solo con carichi I / O elevati. Funziona riproponendo le pagine VM sottostanti un buffer sul posto (quando possibile) in modo da non dover kremove / kenter le pagine nel KVA del buffer. Anche il normale riciclo delle pagine VM (che altrimenti sarebbe sopraffatto dal carico I / O) viene bypassato.
  • Modificare il modo in cui viene elaborato l'IPIQ, in particolare creare un meccanismo vettoriale Xinterrupt indipendente per le invalidazioni delle pagine che ignorano (funzioneranno) anche se viene mantenuta una sezione critica. Implementa machdep.optimized_invltlb (disabilitato per impostazione predefinita, in fase di test) che evita l'invio di IPI di invalidazione tlb alla cpus inattiva.
  • Correggere numerose gare che potrebbero verificarsi in caso di carichi estremi. La maggior parte dei casi d'uso non li innescherebbe mai, ma occasionalmente i nostri box di costruzione. Ad esempio, c'è stata una corsa a due istruzioni in cui il bit della cpu per una pmap sarebbe stato cancellato (per due istruzioni) e causare un IPI TLB che si verifica nello stesso momento su un'altra CPU per la stessa pmap per non rendersi conto che la CPU stava usando la pmap . La correzione consiste nel disabilitare l'ottimizzazione di ricarica CR3 per il caso switch LWP- & gt; LWP (same proc).
  • Correggere un bug HAMMER che potrebbe causare un errore di DATA CRC riportato in modo errato.
  • Risolve una doppia scrittura attivata dal modo in cui HAMMER utilizza cluster_write (). Ciò migliora significativamente le prestazioni di scrittura di HAMMER.
  • Sono anche andate molte altre correzioni e correzioni di HAMMER.
  • Correzione di un blocco hardware che potrebbe verificarsi in getpbuf * () a causa di un'interpretazione errata del valore restituito di un'opzione atomica
  • Risolve un interrupt di stacking che può verificarsi in una finestra di 10 istruzioni, potenzialmente (ma non trovata in natura) che esegue lo stack del kernel.
  • Tagliare le IPI relative alla pmap a metà per determinate operazioni della cache del buffer, non preoccupandosi di invalidare il TLB, e sul rovescio della medaglia invalidando sempre il TLB quando si immette una nuova PTE anche se il contenuto precedente non era valido. Ciò migliora le prestazioni e semplifica anche il debug rimuovendo un'ottimizzazione problematica.
  • Correggere un numero di gare SMP difficili da innescare, in particolare uno relativo a umounts simultanei di diversi mount point che potrebbero essere generati dalla generazione di massa. Correggi anche una gara mountctl vs umount.
  • Riduci il numero di operazioni atomiche nel percorso switch.
  • Correzione di una razza / panico di namecache che potrebbe verificarsi in caso di carichi estremi accoppiati con molte attività di mount / umount.
  • Limita% rip campionamento a root.
  • Risolto un problema con getpid () in vfork () durante il thread. In particolare, concurrent vfork () in un programma con thread potrebbe causare il ritorno del PID errato da getpid () nel figlio prima dell'esecuzione.
  • Correggi una rara gara di tsleep / callout quando il timer di callout si attiva prima che tsleep () abbia completato la configurazione.
  • Pulisci i messaggi di stallo del namecache sulla console. In particolare, segnala il tempo trascorso corretto e il td_comm del thread coinvolto.
  • Riduci ulteriormente il test della memoria e l'azzeramento all'avvio per migliorare i tempi di avvio su sistemi con grandi quantità di ram.
  • Rimuovi completamente il codice di azzeramento della pagina inattiva. L'azzeramento di una pagina su una CPU moderna su richiesta è migliore per molte ragioni e potrebbe essere più veloce se combinato con il consumatore che accede ai dati nella pagina, a causa degli effetti della cache. Rimuovi PG_ZERO, perché non è più necessario. La rimozione di PG_ZERO rende inoltre il debug del kernel rimuovendo un'altra possibile fonte di contaminazione incrociata.
  • Refactor e completa l'implementazione della localizzazione della CPU per le allocazioni della memoria del kernel. Combina con la consapevolezza NUMA. Questo funziona per le strutture di dati del kernel cpu-localized o di breve durata. I due sono combinati insieme nella nostra astrazione PQ_L2_SIZE che era il codice di colorazione della pagina VM. Questo codice ora gestisce anche la localizzazione della CPU e il riconoscimento NUMA.
  • Risolve molti problemi di vkernel e migliora significativamente le prestazioni di vkernel.
  • Aggiorna kern.proc.pathname, un sysctl usato dai programmi per trovare il percorso del programma in esecuzione. Questo sysctl è stato inizialmente implementato prima di memorizzare dati sufficienti per restituire un percorso completo e corretto.
  • Sincronizzazione di ACPICA da Intel (si tratta di un evento normale).
  • Correggere l'assembly memcpy () ABI. L'assembly non restituiva l'argomento originale (dst). Non risolve alcun problema noto ma chiude un buco quando GCC a volte decide di chiamare memcpy durante la generazione del codice.
  • Molti si impegna a ripulire gli avvisi e gli errori dell'O2. Il kernel è ora compilato -O2 per impostazione predefinita.
  • Aggiungi una soluzione alternativa per un rendimento improprio nel percorso ACPI (noto anche come codice ACPI buggy).
  • Correzione di una race STOP / CONT che potrebbe essere innescata da un segnale in sospeso proprio nel momento sbagliato.
  • Correggere correzioni di coredump e correggere un blocco correlato allo stesso quando più thread dello stesso processo seg-fault allo stesso tempo.
  • Risolve un deadlock CAM / VM che potrebbe verificarsi a causa di un bug in uiomove_nofault (). Ciò potrebbe causare un "buffer di attesa indefinito" durante il paging / swapping pesante.
  • Aggiungi codice per rilevare e gestire le IPI perse. Questo è principalmente per vkernels, dove alcuni host virtuali possono perdere IPI. Le CPU reali non dovrebbero perdere le IPI.
  • Varie correzioni a clock_gettime ().
  • Rimuovi più tracce del MPLOCK. Tutti i percorsi critici sono stati da tempo dismessi da questo blocco, ma ci sono ancora alcuni posti non critici che lo utilizzano.
  • Rilancia il codice di eliminazione dei processi a bassa memoria e correggi un numero di gare che potrebbero impedire il funzionamento della funzione.
  • Correzione del blocco del sistema con VMM e refactoring del codice VMX.
  • Risolvi un deadlock quando numvnodes raggiunge maxvnodes, che può verificarsi in presenza di carichi pesanti. Risolvi anche una piccola perdita di memoria del kernel quando 'df' o la sincronizzazione del filesystem si dirige su una umount. Riduci anche il calcolo di maxvnodes in modo modesto. Ad esempio, una macchina con 8GB di ram ora imposterà maxvnodes su 478483 anziché su 598103.
  • Risolve un panico raro che può essere attivato da vm_object_page_remove () quando user_yield () viene chiamato in modo improprio mentre si tiene uno spinlock, quindi decide di deschedule.
  • Riduce le dimensioni di alcune strutture del kernel allocate dinamicamente. In particolare, le allocazioni delle tabelle hash inode di dimensioni eccessive sono ora ridotte. Influisce principalmente su UFS (che DragonFlyBSD non utilizza molto).
  • Aggiungi soluzione alternativa per AMD erratum 793.
  • Risolve un deadlock che può verificarsi nelle chiamate I / O cluster _ * () in pila.
  • Correzione di un bug in cui il caricamento del modulo ricorsivo poteva deadlock.
  • Risolto un bug insulso nel codice sillyrename NFS (lato server NFS) che poteva causare il codice sillyrename del server NFS per non rimuovere mai il file ridenominato. Che sciocco!
  • Esegui un lavoro migliore in grado di supportare configurazioni ncpu + memoria insufficiente.
  • Refactor ha condiviso spinlock per ridurre la quantità di spinning che può verificarsi quando più cpus acquisiscono uno spinlock condiviso allo stesso tempo.
  • Revisionare le operazioni di namecache per ridurre ulteriormente il conflitto SMP. Ciò migliora le prestazioni simultanee a componente singolo non conflittuali di almeno 25x su sistemi con molti core e riduce in modo significativo le operazioni di ref e wasref della struttura di mount e di vnode
  • Revisiona numerose altre strutture del kernel per migliorare la localizzazione della cache e ridurre il bouncing della linea cache.
  • Risolto un bug nel codice di ridenominazione del file SMBFS.
  • Implementa RLIMIT_RSS, un limitatore RSS per processo che imporrà il paging localizzato su una base per processo. Questa funzione può essere utilizzata per impedire a un processo di trasformare il resto della macchina in una custodia rigida.
  • Aumentare lo spazio di scambio massimo supportato. Il massimo è ora limitato principalmente da ram e sarà compreso tra decine di terabyte (se si dispone di RAM sufficiente per le strutture di gestione di supporto). Aumenta anche il KVM del kernel da 128G a 511G.
  • Implementa l'eliminazione dinamica di pmap (disabilitata per impostazione predefinita). Questo dirige il codice pmap per eliminare al volo le pagine della tabella di pagine intermedie e le PD dalla pmap. Può essere utile se la memoria è un vantaggio, ma nota che, se abilitata, rallenterà l'esecuzione dei programmi che allocano e deallocano la memoria ad alta velocità.
  • Rifatto come funzionano i livelli "belli" dell'utente, rendendo i valori piacevoli selezionati più significativi di quelli che erano in precedenza.
  • Aggiungi un driver NVME nativo ad alte prestazioni a DragonFly, scritto da Matt Dillon. Questo driver utilizza i vettori MSI-X e tutte le code disponibili supportate dal dispositivo, localizzazione per-cpu senza blocco o blocco minimo (nessun conflitto SMP nella maggior parte dei casi) ed è in grado di eseguire IOPS e throughput folle.
  • Grafica:
  • Stabilizza Broadwell e Skylake, portaci al DRM equivalente a Linux 4.6
  • Implementa l'API di i2c Linux per semplificare il porting.
  • Correggere alcuni vecchi bug, incluso un inversione dell'ordine di blocco, che potrebbe rallentare la riproduzione del video (e il resto di X).
  • Risolto un errore di priorità del thread del drm del kernel che consentiva ai processi utente di avere una priorità più alta rispetto al thread helm drm. Questo risolve la maggior parte dei video temporanei segnalati sui browser.
  • Gestire il frame buffer EFI passando in DRM, migliorare la commutazione VT di syscons e correggere un deadlock correlato. Anche il kernel prova a tornare alla console VT da X quando si verifica un errore.
  • Networking:
  • Molti miglioramenti su tutta la linea.
  • iwm - Risolve un problema causato dalla logica invertita. Numerosi altri miglioramenti che migliorano significativamente le prestazioni.
  • wlan - Supporto per la scansione bg asincrona e altre funzionalità aggiunte.
  • Altri driver:
  • nvme - Aggiunto al build predefinito del kernel, oltre a correzioni e miglioramenti delle prestazioni.
  • mmcsd - Supporto eMMC significativo aggiunto a DragonFly.
  • ahci - Alcuni aggiustamenti di compatibilità e altre stranezze aggiunte per supportare i chipset danneggiati, in particolare i moltiplicatori di porte. Implementare anche FBS (FIS-Based-Switching) quando supportato dal chipset.
  • Aggiunta del trackpoint e del supporto Elantech.
  • ambiente utente:
  • systat migliorato per comprimere più interrupt appartenenti allo stesso driver, dato che spesso ce ne sono troppi da elencare ora.
  • systat -vm 1 significativamente migliorato e rinnovato per riportare informazioni più utili e per decomprimere i campi in modo che non si incontrino a vicenda. E aggiungi "nvme" alla corrispondenza del dispositivo a blocchi. Regola anche il display vmstats esteso e cambia il modo in cui vengono visualizzati ozfod e nzfod.
  • 'vmstat 1' output refactored. Tutti i campi si scontravano l'un l'altro a causa delle alte prestazioni di una macchina moderna contro ciò che esisteva 30 anni fa.
  • Modifica segnalazione di montaggio / montaggio per ridurre scansioni e comandi di mountlist non necessari dalle operazioni mount_null e mount_tmpfs. Solamente importa solo con il pesante uso simultaneo di mount / umount, ma la generazione di massa in realtà crea quella situazione.
  • Correzione di numerose perdite di fork / exec * () che libc può attivare a causa dell'utilizzo di O_CLOEXEC in modo atomico. Aggiungi varie funzioni di O_CLOEXEC a funzioni come popen () e mk * stemp * () (aggiungi mkostemp () e mkostemps ()). Correggere una perdita di descrittore di file in popen () durante l'esecuzione in un ambiente con thread.
  • Sii più bello di pthreads in vfork () dando al lwp del nuovo processo secondario lo stesso TID di quello che ha chiamato vfork (). Ciò consente alle funzioni di supporto pthread di essere eseguite nel child durante il vfork senza implodere pthreads.
  • Un sacco di correzioni di compatibilità alle intestazioni per migliorare le build bulk dei dport.
  • Diverse importazioni OpenSSL per correzioni di sicurezza.
  • Risincronizza OpenSSH per rendere più facile mantenerlo aggiornato.
  • Separa i flag del kernel C facendo in modo che il build del kernel usi KCFLAGS invece di CFLAGS.
  • Rimuovi completamente numerosi vecchi driver ISA dall'albero. Poiché DragonFlyBSD ora è solo a 64 bit, possiamo iniziare a rimuovere vecchi driver che non esistono su piattaforme a 64 bit.
  • Introduci WORLD_CFLAGS e WORLD_CCOPTLEVEL, con impostazione predefinita su -O. Ciò semplifica la compilazione del tuo mondo -O2 o qualsiasi altra cosa (ad esempio WORLD_CCOPTLEVEL = 2). Tuttavia, scoraggiamo l'uso di 3 o superiore. I valori validi sono 0, 1, 2, 3, s, g e 'veloce'.
  • Regola la formattazione STATUS per ps per renderla più leggibile e per rimuovere le bandiere antiche che non sono più applicabili e crea semplicemente confusione.
  • Correzione dell'allineamento di malloc () per piccole allocazioni. L'allineamento minimo ora è 16 per le allocazioni nell'intervallo di 16-128 byte anziché 8. Si noti che le allocazioni di potenza di 2 sono sempre state allineate naturalmente, ma alcuni programmi usano multipli di (es.) 16, come '48', e assumere l'allineamento a 16 byte.
  • Fortune refactored, aggiunte.
  • powerd - Aggiungi la gestione basata sulla temperatura a powerd con una nuova opzione -H lotemp: hightemp. Questa funzione è estremamente utile su laptop con raffreddamento insufficiente e i cui BIOS intenzionalmente rallentano a temperature troppo elevate. Powerd ora rileva anche i cambiamenti dello stato di alimentazione (che possono modificare l'elenco delle frequenze disponibili) e transita correttamente il servizio quando si verifica un cambio di stato di alimentazione.
  • Un sacco di correzioni e correzioni libthread_xu / pthreads per migliorare la compatibilità dei dport.
  • Aggiungi funzionalità di copia su scrittura al vkernel. Ad esempio, consente a più vkernel di utilizzare una singola immagine disco avendo ciascuna modifica COW internamente alla ram.
  • / usr / src / sicuro rewired, conflitti rimossi da libmd, libcrypt.
  • Vari strumenti sono stati aggiornati nel sistema di base:
  • Compilatore aggiornato a GCC 5.4.1.
  • Ora abbiamo un linker oro con LTO.
  • binutils 2,25
  • meno 481.
  • OpenSSL / LibRESSL completamente rinnovato. Base ora usa libressl.
  • Aggiornamenti multipli del fuso orario.
  • Stato Hammer:
  • Miglioramenti vari. Una cosa che non è entrata nel rilascio è stata una versione di bump per utilizzare un algoritmo CRC più veloce con un polinomio diverso. Questo lavoro sarà MFC per -release una volta completato il test. Tuttavia, gli utenti non dovrebbero preoccuparsene troppo perché la correzione delle prestazioni più seria è nella versione (una correzione al codice cluster_write () per le scritture del filesystem).
  • Stato Hammer2:
  • Lo sviluppo continua ma non c'è ancora una parola in una prima versione.
  • Stato Clang:
  • È stato aggiunto un framework di partenza per l'utilizzo di clang come compilatore di base alternativo in DragonFly, per sostituire gcc 4.7. Non è ancora completo. Naturalmente Clang può essere aggiunto come pacchetto.
  • Stato a 64 bit:
  • Si noti che DragonFly è un sistema operativo solo a 64 bit a 4.6 e non verrà eseguito su hardware a 32 bit.
  • Il supporto di AMD Ryzen è incluso nella versione e ulteriori lavori verranno introdotti man mano che si verificano nuovi sviluppi di Ryzen. Esistono alcuni problemi relativi alla topologia della cpu che verranno risolti e l'MFC. Ci sono alcuni problemi di stabilità attualmente in attesa su un aggiornamento del microcodice AMD per risolvere / ritestare. Gli utenti di Ryzen possono essere certi che ce ne occuperemo!

Novità nella versione 4.6.0:

  • mmcsd (4): Correggere l'errore negli argomenti disk_create (). Consente l'accesso a & gt; 1 SD- / MMC-card.
  • Aggiungi decomprimi (1). Se non puoi sconfiggerli, unisciti a loro
  • Ripristina la capacità del mondo master di creare la versione 4.4
  • buildworld - Permetti -release da costruire sul master
  • etc / rc.d - aggiustamenti senza disco
  • kernel - Aggiungi il supporto di kqueue a NFS (risolvi i problemi di firefox w / nfs)
  • Importa OpenSSL 1.0.1s.
  • Aggiustamenti locali per OpenSSL 1.0.1s.
  • Sincronizza database di zoneinfo con tzdata2016b da ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): non avvisare su abbreviazioni come "-05".
  • zic (8): rimuovi un 'registro' che si è insinuato nell'ultimo commit.
  • kernel / acpi_timer: aggiungi un cpu_enable_intr () mancante dopo il test del timer.
  • em.4: menziona il supporto per i219.
  • ig_hal / em / emx: aggiungi il supporto I219 (Skylake)
  • sys / vfs / hammer: corregge bug sulla cancellazione dell'intestazione del volume
  • sbin / hammer: non accedere oltre i 16KB del buffer dello spazio utente di HAMMER
  • sbin / hammer: aggiungi l'opzione offuscata a hammer show
  • sys / vfs / hammer: correzione temporanea per il kernel panic su volume-del

Novità nella versione 4.4.3 / 4.6.0 RC2:

  • mmcsd (4): Correggere l'errore negli argomenti disk_create (). Consente l'accesso a & gt; 1 SD- / MMC-card.
  • Aggiungi decomprimi (1). Se non puoi sconfiggerli, unisciti a loro
  • Ripristina la capacità del mondo master di creare la versione 4.4
  • buildworld - Permetti -release da costruire sul master
  • etc / rc.d - aggiustamenti senza disco
  • kernel - Aggiungi il supporto di kqueue a NFS (risolvi i problemi di firefox w / nfs)
  • Importa OpenSSL 1.0.1s.
  • Aggiustamenti locali per OpenSSL 1.0.1s.
  • Sincronizza database di zoneinfo con tzdata2016b da ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): non avvisare su abbreviazioni come "-05".
  • zic (8): rimuovi un 'registro' che si è insinuato nell'ultimo commit.
  • kernel / acpi_timer: aggiungi un cpu_enable_intr () mancante dopo il test del timer.
  • em.4: menziona il supporto per i219.
  • ig_hal / em / emx: aggiungi il supporto I219 (Skylake)
  • sys / vfs / hammer: corregge bug sulla cancellazione dell'intestazione del volume
  • sbin / hammer: non accedere oltre i 16KB del buffer dello spazio utente di HAMMER
  • sbin / hammer: aggiungi l'opzione offuscata a hammer show
  • sys / vfs / hammer: correzione temporanea per il kernel panic su volume-del

Novità della versione 4.4.3:

  • mmcsd (4): Correggere l'errore negli argomenti disk_create (). Consente l'accesso a & gt; 1 SD- / MMC-card.
  • Aggiungi decomprimi (1). Se non puoi sconfiggerli, unisciti a loro
  • Ripristina la capacità del mondo master di creare la versione 4.4
  • buildworld - Permetti -release da costruire sul master
  • etc / rc.d - aggiustamenti senza disco
  • kernel - Aggiungi il supporto di kqueue a NFS (risolvi i problemi di firefox w / nfs)
  • Importa OpenSSL 1.0.1s.
  • Aggiustamenti locali per OpenSSL 1.0.1s.
  • Sincronizza database di zoneinfo con tzdata2016b da ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): non avvisare su abbreviazioni come "-05".
  • zic (8): rimuovi un 'registro' che si è insinuato nell'ultimo commit.
  • kernel / acpi_timer: aggiungi un cpu_enable_intr () mancante dopo il test del timer.
  • em.4: menziona il supporto per i219.
  • ig_hal / em / emx: aggiungi il supporto I219 (Skylake)
  • sys / vfs / hammer: corregge bug sulla cancellazione dell'intestazione del volume
  • sbin / hammer: non accedere oltre i 16KB del buffer dello spazio utente di HAMMER
  • sbin / hammer: aggiungi l'opzione offuscata a hammer show
  • sys / vfs / hammer: correzione temporanea per il kernel panic su volume-del

Novità nella versione 4.4.2:

  • virtio_blk: usa contigmalloc / contigfree per le allocazioni vtblk_request.
  • drm / radeon: abbiamo bisogno dell'indirizzo fisico della pagina fittizia, non del virtuale
  • if_iwm: applica alcune modifiche da OpenBSD, if_iwm.c rev 1.39 - & gt; 1.42
  • if_iwm: basta memorizzare il puntatore del firmware struct, come fa if_iwn.
  • if_iwm: rimuove i commenti relativi ai nomi di file di Linux iwlwifi.
  • if_iwm: corregge l'utilizzo di IEEE80211_ADDR_COPY ().
  • if_iwm: corregge il codice di configurazione del controllo della velocità.
  • etc / rc.d: Aggiorna rtsold
  • i915 - Aggiungi ritardo dopo il collegamento per evitare le razze console / X
  • kernel - Riduce la latenza lwp_signotify ()
  • devfs - Corregge il panico su supporti extra devfs quando sono presenti regole
  • ssh - Rimuovi supporto di roaming non documentato CVE-2016-0777 CVE-2016-0778
  • kernel - Aggiungi stranezze per xhci (usb)
  • martello - rimuovi il debug di kprintf
  • libc / stdtime: corregge due casi in cui un puntatore NULL avrebbe potuto essere libero () 'd.
  • kernel / vga: rimuove lwkt_reltoken () errato. Non è preso a questo punto.
  • libc / nls: sincronizza i messaggi str {error, signal} () con.
  • w (1): inet_addr () restituisce INADDR_NONE in caso di errore.
  • ee (1): corregge una variabile non inizializzata.
  • kernel: corregge il file kern.dumpdev sysctl.
  • Importa OpenSSL 1.0.1r.
  • Aggiustamenti locali per OpenSSL 1.0.1r.
  • gcc50 / libconv_supc: cp-demangle.c ha bisogno di HAVE_CONFIG_H.
  • Sincronizza database di zoneinfo con tzdata2016a da ftp://ftp.iana.org/tz/releases
  • effettua l'upgrade: aggiungi un fuso orario obsoleto.
  • igb: corregge le impostazioni DMACR
  • ifconfig: corregge l'eliminazione dell'indirizzo di inet6

Novità della versione 4.4.1:

  • Kernel:
  • Miglioramento delle impostazioni di risparmio energetico della CPU
  • Riduzione dell'allocazione file / contesa gratuita
  • Riduci la contesa di kqueue
  • Implementato lwp_setname (2) chiamata di sistema
  • Supporto per operazioni non bloccanti dsp (4)
  • Aggiungi driver aperf (4) per visualizzare la frequenza effettiva della CPU
  • Numerose correzioni e correzioni a HAMMER
  • Sincronizza ACPICA a 20151124
  • Ha quasi terminato la rimozione dei bit i386 (32 bit)
  • Regola l'heap del boot loader per gestire le immagini MD più grandi
  • Cleanup passa al codice del kernel morto (syslink rimane, ecc.)
  • dsched rimosso (problemi con bug e non funziona bene con gli SSD)
  • Ricodifica gli algoritmi del cercapersone per pkill di memoria insufficiente e fuori memoria
  • Grafica:

  • I driver
  • drm / i915 e drm / radeon ora corrispondono al kernel di Linux 3.18
  • i915 supporta i SOC ValleyView / Baytrail e Cherryview Atom
  • Le GPU Broadwell ora sono completamente accelerate
  • Lavoro preparatorio per il supporto Skylake
  • La console di sistema ora supporta la grafica drm per impostazione predefinita; i terminali virtuali non mostrano più solo uno schermo nero una volta avviato Xorg e caricato uno dei moduli del kernel km.
  • Migliore gestione dell'alimentazione. Panel Self Refresh disponibile su hardware i915
  • I sensori di temperatura ora sono supportati sull'hardware Radeon
  • Networking:
  • Supporto per Realtek 8168H in re (4)
  • driver iwm (4) aggiunto
  • rtadvd aggiornato, rtadvctl aggiunto
  • Connessioni UDP asincrone, per gestire carichi molto maggiori
  • Nuova finestra di avvio TCP più grande, per connessioni a latenza elevata
  • I valori di nmbcluster del kernel sono regolabili dal vivo, per il traffico estremo. Networking:
  • Stabilizza il socket del dominio UNIX
  • Nuovo codice GC per passare fd su domini unix
  • Varie sincronizzazione IPv6 con FreeBSD
  • Prestazioni socket migliorate (2) per TCP e UDP
  • Migliorata la selezione della porta locale TCP connect (2)
  • È stata aggiunta la chiamata di sistema accept (4)
  • Aggiunto il supporto per SOCK_CLOEXEC e SOCK_NONBLOCK socket (2) e accept4 (2) flags
  • Rendi disponibili le funzioni di controllo del flusso HW su ifconfig
  • Aggiungi sintonizzabili per consentire a NFSROOT iosize e readahead di essere impostati
  • Inserisci ipfw espanso da FreeBSD (chiamato ipfw3 in DFly)
  • Altri driver:
  • Il supporto MIDI è stato inserito
  • Molti bugfix per il dispositivo di mappatura
  • dm-delay e dm-flakey sono stati aggiunti al device mapper
  • I modem USB funzionano meglio (o almeno non vanno in panico nel kernel)
  • Miglioramento dell'accesso a ram Funzioni e stato ECC
  • wlan aggiornato da FreeBSD (appena prima della rimozione del dispositivo diviso)
  • ambiente utente:
  • la libreria regex è stata sostituita con la libreria di espressioni regolari multi-byte e generalmente molto più capace. Corrisponde a OSX nelle funzionalità. (DF è il primo BSD a spostarsi su TRE dopo MacOS)
  • libm sostituito con la versione di OpenBSD (questo è un lavoro collaborativo in corso)
  • libc ora presenta il controllo delle versioni dei simboli che può abilitare i binari creati nella versione 4.4 per l'esecuzione su DragonFly per anni nel futuro.
  • Revisione completa e aggiornamento delle impostazioni locali, inclusa l'implementazione delle regole di confronto.
  • malloc.h rimosso (DragonFly è il primo BSD a rimuovere questa intestazione)
  • gcc50 libstdc ++ modificato per abilitare l'uso completo delle funzioni C99 su clang
  • Come conseguenza dell'aggiornamento di locales, l'output di ls (1) long format e -t format è cambiato quando sono in uso le named locales. In particolare, i mesi del formato lungo sono sempre abbreviati in inglese (utilizzando le definizioni POSIX garantite in tal modo di essere sia veloci che di tre lettere) e l'anno, ora e secondo vengono sempre visualizzate. Sotto le impostazioni locali di C / POSIX non è stata modificata nessuna modifica nell'output di ls (1) oltre alla futura gestione di data / ora per adattarsi ai requisiti standard POSIX.
  • Se viene utilizzato WPA Supplicant dalla base, ci sarà un ritardo di 10 secondi durante l'avvio quando viene visualizzato un messaggio che consiglia vivamente di utilizzare la versione DPorts (security / wpa_supplicant).
  • Migliorato powerd (8)
  • Output top top (1) e ps (1) per LWP e thread del kernel
  • Corretto il supporto per pthread_set_name_np (3)
  • Portato tcpdrop (8)
  • Aggiunta di molti nuovi locali, tra cui sei locali arabi (Emirati Arabi Uniti, Arabia Saudita, Egitto, Giordania, Marocco, Qatar), altre località spagnole (Messico, Argentina, Costa Rica), altre località inglesi (Phillipines, Singapore, Hong Kong) , corretto locale norvegese (solo nb e nn), esteso svedese (Finlandia), Sami (Finlandia, Norvegia), serbo presentato in forme sia in cirillico che in latino ora. ('locale -a' fornisce un elenco completo.)
  • rtadvc importato da FreeBSD
  • Vari strumenti sono stati aggiornati nel sistema di base:
  • nvi2 aggiornato alla versione 2.1.3
  • aggiunto libexecinfo (sincronizzato da FreeBSD)
  • iconv sincronizzato con FreeBSD
  • openssl aggiornato a 1.0.1q
  • xz aggiornato alla 5.2.2
  • libedit aggiornato alla versione 2015-03-25
  • binutils aggiornati a 2.25.1
  • grep aggiornato alla 2.22
  • tcsh aggiornato alla 6.19.00
  • libdialog aggiornato alla v1.2-20150920
  • (tn) ftp aggiornato a '10 OTTOBRE 2015 '
  • gcc aggiornato a 5.2
  • acpica aggiornato a 20150717
  • sort (1), che era venuto da NetBSD, è stato sostituito dalla versione di FreeBSD
  • localedef (1), strumento interno con origini su Illumos
  • cldr2def, strumento interno con origini nel progetto FreeBSD abbandonato, ma esteso per DF
  • Rimosso dal sistema di base:
  • hostapd (ultima versione disponibile tramite dports: net / hostapd)
  • mklocale (sostituito da localedef)
  • colldef (sostituito da localedef)
  • Miglioramenti HAMMER:
  • Molte, molte correzioni e correzioni su Hammer1, grazie a Tomohiro Kusumi
  • Altri miglioramenti:
  • Il conteggio di DPorts si aggira intorno a 22.800 porte. Molte porte precedentemente danneggiate sono state corrette da utenti regolari a causa dei contributi offerti tramite il meccanismo Pull Request di GitHub. (Grazie!)
  • Sei set "ufficiali" di sfondi DragonFly sono disponibili su x11-themes / dragonfly-wallpapers (pkg installa dragonfly-wallpapers). Questi vengono automaticamente installati e preselezionati per gli utenti di KDE e installati automaticamente per gli utenti XFCE4, ma gli sfondi devono ancora essere selezionati manualmente con quel desktop (almeno per ora). Vengono installati in condivisione / sfondi che sono collegati simbolicamente per condividere / sfondi / libellula.

Programmi simili

FreeBSD
FreeBSD

22 Jun 18

Firefox LiveCD
Firefox LiveCD

3 Jun 15

Commenti a DragonFly BSD

I commenti non trovato
Aggiungi commento
Accendere le immagini!