DragonFly BSD

Screenshot Software:
DragonFly BSD
Detalii soft:
Versiune: 5.2.2 Actualizat
Incarca data: 22 Jun 18
Producător: The DragonFly Team
Licenţă: Gratuit
Popularitate: 50

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD este un sistem de operare BSD open source proiectat să fie continuarea logică a seriei de programe FreeBSD-4.x. Este foarte asemănător cu alte distribuții bazate pe BSD, cum ar fi FreeBSD, NetBSD sau OpenBSD. Este o furculiță în cale, ca să spunem așa, oferind bazei BSD o oportunitate de a crește într-o direcție cu totul nouă față de cea adoptată în seria FreeBSD-5. În plus, acesta include un set unic de caracteristici care o diferențiază de alte sisteme similare similare.


HAMMER este principala atracție

HAMMER este atracția principală a DragonFly, un sistem de fișiere modern, de înaltă performanță, care oferă funcționalități de acces istoric și oglindire încorporată. Kernel-ul este, de asemenea, unul dintre motivele pentru care DragonFly este o distribuție mai bună a BSD.

Oferă două planificatoare diferite pentru kernel
kernel-ul DragonFly include două planificatoare diferite, unul care programează toate entitățile executabile (Light Weight Kernel Thread) și un altul care selectează câte un fir de utilizator la un moment dat pentru fiecare procesor și abstractează firele utilizatorilor (User Thread Scheduler). În plus, nucleul dispune de un alocator complex de memorie de kernel alcătuit dintr-un alocator de memorie orientat pe obiect și un kernel malloc de bază numit kmalloc (), sistemul de fișiere de dispozitiv DragonFly (DEVFS), un nucleu virtual (VKERNEL), asincronizarea NFS V3 RPC și schema de programare I / O de pe disc (dsched).


Caracteristici, o mulțime de caracteristici

Printre alte caracteristici interesante se numără NULL File System Layer (NULLFS), care suportă puncte de montare arbitrare, non-looping, TMPFS (Temporary Filesystem VFS), criptare disc transparentă, suport SSD (Solid Storage Device) -sensitive), DNTPD (DragonFly Network Time Daemon) și DMA (DragonFly Mail Agent). În plus, utilizatorii vor putea controla sau suspenda procesele pe disc în orice moment. Distro oferă drivere puternice AHCI, nume stabile de dispozitive, precum și o criptare bine fundamentată și un management al volumului.

Linia de fund

În ansamblu, DragonFly se dovedește a fi un sistem de operare modern, ușor de utilizat și foarte accesibil UNIX. Acesta poate fi folosit zilnic ca sistem desktop sau ca un server BSD puternic.

Ce este nou în această versiune:

  • DragonFly versiunea 5.2.1 a fost lansată, cu atenuarea Meltdown / Spectre, multe îmbunătățiri ale videoclipurilor HAMMER2, ipfw și accelerate, plus (în actualizarea 5.2.1) pentru CVE-2018-8897.
  • Ce este nou în versiune:

    • Christian Groessler (1):
    • telnetd: tipăriți informațiile despre sistem (OS și arhitectură) înainte de promptul de autentificare.
    • Matthew Dillon (7):
    • hammer2 - Fixați diviziunea cu 0 rasă
    • kernel - selectiv MFC de kernel umtx de lucru de la maestru
    • kernel - Actualizați documentația umtx
    • libc și pthreads - Fixarea problemelor atfork cu nmalloc, actualizare dmalloc
    • hammer2 - Fixați redenumirea cursei
    • hammer2 - optimizați hammer2_pfs_memory_wakeup ()
    • hammer2 - Fix lanțuri murdare nedefinite din cauza redenumitului
    • Sascha Wildner (5):
    • hammer2.8: Fixați tipografia.
    • Spuneți "ciocan2" în loc de "ciocan" în diverse locuri.
    • mtree: Fixați proprietarul pentru mai multe directoare din / usr / share.
    • libc / nls: Utilizați locația curentă (setată pe fir).
    • librărie: Reveniți comitetul care nu a fost creat pentru a fi împins.

    Ce este nou în versiunea 4.8.1:

    • Kernel:
    • Codul buffer-ului cache al buffer-ului pentru a elimina rezervările KVA dinamice. În schimb, toate KVA sunt rezervate la momentul încărcării. Ne salvează de IPI-urile inutile și permite simplificarea semnificativă a codului tampon tampon.
    • Adăugați vfs.repurpose_enable (testat, dezactivat în mod implicit). Această caracteristică poate fi activată pentru a reduce semnificativ încărcarea de gestionare IPI și VM pe o mașină care realizează cantități imense de fișiere I / O, de exemplu dintr-un SSD NVMe, ocolind mecanismul normal de recuperare a paginilor VM. Când este activată, caracteristica se declanșează numai la sarcini I / O ridicate. Funcționează repornind paginile VM care stau la baza unui tampon în loc (atunci când este posibil), astfel încât să nu fie necesar să se creeze / creeze paginile din KVA-ul tamponului. Recyclarea paginilor VM normale (care altfel ar fi copleșită de sarcina I / O) este ocolită, de asemenea.
    • Modificați modul în care se procesează IPIQ, în special crearea unui mecanism vectorial independent Xinterrupt pentru invalidările paginilor care ignoră (va funcționa) chiar dacă se ține o secțiune critică. Implementați machdep.optimized_invltlb (dezactivat în mod implicit, sub test), care evită trimiterea IPL-urilor de invalidare TLB la cpus-ul inactiv.
    • Fixați numeroase rase care ar putea apărea sub sarcini extreme. Cele mai multe cazuri de utilizare nu ar declanșa niciodată aceste, dar cutiile noastre de construcție au făcut ocazional. De exemplu, a existat o cursă de două instrucțiuni în care bitul CPU pentru un pmap ar fi șters (pentru două instrucțiuni) și ar cauza un IPL TLB care apare în același timp pe o altă CPU pentru același pmap să nu realizeze că CPU folosea pmap . Remedierea este de a dezactiva optimizarea reîncărcării CR3 pentru cazul LWP-> LWP (același proc).
    • Remediați o eroare HAMMER care ar putea duce la o eroare CRC a DATELOR raportată incorect.
    • Fixați o scriere dublă declanșată de modul în care HAMMER folosește cluster_write (). Acest lucru îmbunătățește semnificativ performanța de scriere a lui HAMMER.
    • Numeroase alte curățări și remediere HAMMER au intrat și ele.
    • Fixați un blocaj dur care ar putea apărea în getpbuf * () din cauza unei interpretări greșite a valorii returnate a unei opțiuni atomice.
    • Remediați o întrerupere de stivuire care poate apărea într-o fereastră de 10 instrucțiuni, potențial (dar nu găsită în sălbăticie) care rulează stack-ul kernel-ului.
    • Decuplați IPI-urile legate de pmap pentru o anumită operațiune cache-tampon, fără a deranja invalidarea TLB-ului, iar pe partea inversă invalidând întotdeauna TLB-ul atunci când introduceți un PTE nou, chiar dacă conținutul anterior a fost nevalid. Acest lucru îmbunătățește performanța și facilitează depanarea eliminând o optimizare problematică.
    • Fixați o serie de curse SMP dificil de declanșat, în special una care se referă la efectuarea simultană a diferitelor puncte de montare pe care construcția în vrac ar putea declanșa. De asemenea, fixați o cursă mountctl vs umount.
    • Reduceți numărul de operații atomice în calea comutatorului.
    • Fixați o rasă de nume / panică care ar putea apărea sub sarcini extreme asociate cu o mulțime de activități mount / umount.
    • Restricționați eșantionarea% rip la rădăcină.
    • Fixați o problemă getpid () în vfork () atunci când este filetat. În particular, vfork-ul concurent () într-un program filetat ar putea determina ca PID greșit să fie returnat de getpid () în copil înainte de exec.
    • Fixați o cursă rară de alertă / alertă atunci când se declanșează cronometrul de avertizare înainte ca setarea () să fie finalizată complet.
    • Curățarea mesajelor de stingere a numelui de pe consola. În special, raportați durata scursă potrivită și td_comm a firului implicat.
    • Reduceți în continuare testarea memoriei și reducerea la zero a boot-ului pentru a îmbunătăți timpii de încărcare pe sistemele cu cantități mari de berbeci.
    • Înlăturați complet codul zero al paginii de așteptare. Zeroarea unei pagini pe un procesor modern la cerere este mai bună din mai multe motive și poate fi mai rapidă atunci când este combinată cu accesarea de către consumator a datelor din pagină, datorită efectelor cache. Eliminați PG_ZERO, deoarece nu mai este necesar. Îndepărtarea PG_ZERO face de asemenea nucleul mai debuggabil, eliminând o altă sursă posibilă de contaminare încrucișată.
    • Refactor și termină implementarea localizării CPU pentru alocările de memorie kernel. Se combină cu conștientizarea NUMA. Aceasta funcționează pentru structurile de date kernel-localizate sau de scurtă durată. Cele două sunt combinate împreună în abstracția PQ_L2_SIZE care a fost codul de colorare al paginii VM. Acest cod gestionează, de asemenea, localizarea procesorului și conștientizarea NUMA.
    • Remediați multe probleme vkernel și îmbunătățiți în mod semnificativ performanța vkernel.
    • Actualizați numele kern.proc.path, o sysctl folosită de programe pentru a găsi calea programului rulat. Acest sistem sysctl a fost inițial implementat înainte de a stoca date suficiente pentru a reveni la o cale completă și corectă.
    • Sincronizați ACPICA de la Intel (acesta este un eveniment obișnuit).
    • Fixați ansamblul memcpy () ABI. Ansamblul nu a returnat argumentul original (dst). Nu rezolvă nicio problemă cunoscută, dar închide o gaură când GCC uneori decide să apeleze memcpy în timp ce generează cod.
    • Mulți se angajează să atenueze avertismentele și erorile de tip O2. Kernel-ul este acum compilat -O2 în mod implicit.
    • Adăugați o soluție pentru un randament necorespunzător în calea ACPI (codul ACPI de tip buggy).
    • Fixați o cursă STOP / CONT care ar putea fi declanșată de un semnal în așteptare la momentul potrivit.
    • Coredump-ul cu filet fixează și fixează un blocaj asociat aceluiași lucru atunci când mai multe fire ale aceluiași proces seg-fault în același timp.
    • Fixați un blocaj CAM / VM care ar putea apărea din cauza unei erori în uiomove_nofault (). Acest lucru ar putea provoca un "tampon de așteptare nedefinit" în timpul paginării / schimbării grele.
    • Adăugați cod pentru a detecta și a trata IPI-urile pierdute. Acest lucru este în primul rând pentru vkernels în cazul în care unele gazde virtuale pot pierde IPIs. Real CPU-uri nu ar trebui să-și piardă IPI-urile.
    • Diverse remedii pentru clock_gettime ().
    • Eliminați mai multe vestigii ale MPLOCK. Toate căile critice s-au îndepărtat de mult de această blocare, dar mai sunt încă câteva locuri necritice care l-au folosit.
    • Refaceți codul de ucidere a procesului de memorie redusă și reparați o serie de curse care ar putea împiedica funcționarea acestei funcții.
    • Fixați o blocare a sistemului cu VMM și refăctorul codului VMX.
    • Fixați un blocaj atunci când numvnodes ajunge la maxvnodes, care pot apărea sub sarcini grele. De asemenea, remediați o scurgere de memorie minoră a kernel-ului atunci când 'df' sau sincronizarea sistemelor de fișiere este o problemă. De asemenea, reduceți modest calculul maxvnodes. De exemplu, o mașină cu 8 GB ram va seta acum maxvnodes la 478483 în loc de 598103.
    • Fixați o panică rară care poate fi declanșată de vm_object_page_remove () atunci când user_yield () este apelat în mod necorespunzător în timp ce țineți un spinlock și apoi decide să vă deconectați.
    • Reduceți dimensiunea unor structuri de kernel alocate dinamic. În special, alocările de tabel inexistente de dimensiuni excesive sunt acum mai mici. Afectează în primul rând UFS (pe care DragonFlyBSD nu o folosește prea mult).
    • Adăugați soluție pentru AMD erratum 793.
    • Remediați un blocaj care poate apărea în apelurile I / O stivuite din cluster stivuit.
    • Remediați o eroare în care încărcarea modulului recursiv ar putea fi blocată.
    • Remediați o eroare proastă în codul NFS sillyrename (partea serverului NFS) care ar putea determina codul sillyrename al serverului NFS să nu elimine niciodată fișierul redenumit. Cât de prost!
    • Efectuați o lucrare mai bună pentru a acoperi configurațiile high-ncpu + cu memorie redusă.
    • Sprinklock-urile partajate de reactiv pentru a reduce cantitatea de filare care poate apărea atunci când multiple cpus dobândesc un spinlock în același timp.
    • Efectuați revizii operațiunilor cu numele de cache pentru a reduce și mai mult convingerea SMP. Acest lucru îmbunătățește simultan performanțele simultane non-conflictuale cu cel puțin 25 de ori pe sistemele cu mai multe nuclee și reduce în mod semnificativ operațiunile de refacere și operațiuni de refacere a structurilor vnode și mount.
    • Revizuiți numeroase alte structuri de kernel pentru a îmbunătăți localitatea cache-ului și pentru a reduce bouncingul liniei de cache.
    • Remediați o eroare în codul de redenumire a fișierului SMBFS.
    • Implementați RLIMIT_RSS, un limiter RSS per-proces care va forța paginarea localizată pe o bază per proces. Această caracteristică poate fi utilizată pentru a împiedica ca un proces să transforme restul aparatului într-un caz greu.
    • Creșteți spațiul de swap maxim acceptat. Maximul este acum limitat în primul rând de berbec și va fi în zeci de terabiți (dacă aveți suficient berbec pentru structurile de management de sprijin). De asemenea, măriți KVM-ul kernel-ului de la 128G la 511G.
    • Implementați ștergerea dinamic dinamică (dezactivată implicit). Acest lucru direcționează codul pmap pentru a șterge paginile mesei de pagină intermediare și PD-urile din pmap pe zbor. Poate fi util dacă memoria este la primă, dar rețineți că, dacă este activată, aceasta va încetini execuția programelor care alocă și aruncă memoria la o rată ridicată.
    • Refactor cum funcționează nivelele "nice" ale utilizatorilor, făcând valorile frumoase selectate mai importante decât erau.
    • Adăugați un driver NVME de înaltă performanță la DragonFly, scris de Matt Dillon. Acest driver va folosi vectorii MSI-X și toate cozile disponibile suportate de dispozitiv, localizarea pe cpu fără închidere sau închidere minimă (în majoritatea cazurilor nu există conflicte SMP) și este capabil de IOPS nebun și de transfer.
    • Grafică:
    • Stabilizează Broadwell și Skylake, ne aduce la DRM echivalent cu Linux 4.6.
    • Implementați API-ul Linux i2c pentru a ușura portarea.
    • Remediați câteva bug-uri vechi, inclusiv o inversare a ordinii de blocare, care ar putea împiedica redarea video (și restul de X).
    • Remediați o eroare de prioritate a thread-ului de kernel dur, care permitea proceselor utilizatorilor să aibă o prioritate mai mare decât firul helper drm. Aceasta stabilește cele mai temporale posturi video raportate în browsere.
    • Gestionați EFI framebuffer trecând în DRM, îmbunătățiți comutarea syscons VT și remediați un blocaj asociat. De asemenea, aveți kernelul să încerce să comutați înapoi la consolă VT de la X când apare o panică.
    • Rețele:
    • Multe îmbunătățiri de la bord.
    • iwm - remediază o problemă cauzată de logica inversată. Numeroase alte îmbunătățiri care îmbunătățesc semnificativ performanța.
    • wlan - Suport pentru scanarea asincronă bg și alte caracteristici adăugate.
    • Alți șoferi:
    • nvme - Adăugat la construirea kernelului implicit, plus corecții și îmbunătățiri de performanță.
    • mmcsd - Suport semnificativ pentru eMMC adăugat la DragonFly.
    • ahci - Unele ajustări de compatibilitate și mai multe modificări adăugate pentru susținerea chipset-urilor rupte, în special a multiplicatorilor de porturi. De asemenea, implementați FBS (FIS-Based-Switching) atunci când este acceptat de chipset.
    • A fost adăugat suportul Trackpoint și Elantech.
    • Userland:
    • Systat îmbunătățit pentru a restrânge mai multe întreruperi care aparțin aceluiași driver, deoarece sunt adesea prea multe pentru a fi afișate acum.
    • systat -vm 1 îmbunătățit și reînnoit semnificativ pentru a raporta mai multe informații utile și pentru a despacheta câmpurile astfel încât să nu se întâlnească unul cu celălalt. Și adăugați "nvme" la potrivirea dispozitivului bloc. De asemenea, reglați afișajul extins vmstats și modificați modul în care sunt raportate ozfod și nzfod.
    • ieșire "vmstat 1" refactored. Toate câmpurile se împrăștia unul cu celălalt datorită performanțelor ridicate ale unei mașini moderne versus ceea ce a existat acum 30 de ani.
    • Schimbați semnalizarea mount / mountd pentru a reduce scanează și comenzile de listă inutile din operațiile mount_null și mount_tmpfs. Doar contează cu adevărat în cazul utilizării grele a mount / umount, dar construcția în masă creează acea situație.
    • Fixați numeroase scurgerile fork / exec * () care pot declanșa libc datorită faptului că nu utilizați O_CLOEXEC într-un mod atomic. Adăugați diferite funcții O_CLOEXEC la funcții precum popen () și mk * stemp * () (adăugați mkostemp () și mkostemps ()). Fixați o scurgere a descriptorului de fișiere în popen () atunci când rulează într-un mediu filetat.
    • Fii mai fericit în pvreads în vfork () dând noului sub-proces lwp același TID ca cel care a numit vfork (). Acest lucru permite ca funcțiile de suport pthread să fie executate în copilul în timpul vfork-ului, fără a se implima pthreads.
    • O mulțime de compatibilități se remediază la anteturi pentru a îmbunătăți construirea în vrac a dporturilor.
    • Câteva importuri OpenSSL pentru corecții de securitate.
    • Resync OpenSSH pentru a facilita păstrarea actualizării.
    • Separarea flag-urilor de kernel C prin construirea kernel-ului utilizează KCFLAGS în loc de CFLAGS.
    • Înlăturați numeroșii drivere ISA vechi din copac în întregime. Deoarece DragonFlyBSD este acum numai pe 64 de biți, putem începe să eliminăm driverele vechi care nu există pe platformele pe 64 de biți.
    • Introduceți WORLD_CFLAGS și WORLD_CCOPTLEVEL, implicit la -O. Acest lucru facilitează compilarea lumii dvs. -O2 sau orice altceva (de exemplu, WORLD_CCOPTLEVEL = 2). Cu toate acestea, descurajăm utilizarea a 3 sau mai mult. Valorile valide sunt 0, 1, 2, 3, s, g și "rapide".
    • Ajustați formatul STATUS pentru ps pentru ao face mai ușor de citit și pentru a elimina stegulețele antice care nu mai sunt aplicabile și creați doar dezordine.
    • Fixați alinierea malloc () pentru alocări mici. Alinierea minimă este acum 16 pentru alocările în gama de octeți 16-128 în loc de 8. Observați că alocările power-of-2 au fost întotdeauna aliniate în mod natural, dar unele programe utilizează multipli de (de exemplu) 16, cum ar fi '48' și presupune o aliniere de 16 octeți.
    • Fortunes refactored, adăugat.
    • powerd - Adăugați o gestionare bazată pe temperatură la powerd cu o lotemp nouă -H: opțiune hightemp. Această caracteristică este extrem de utilă pentru laptopurile cu răcire slabă și cu care BIOS-urile intenționează să accelereze la o temperatură prea ridicată. De asemenea, Powerd detectează modificările de stare a puterii (care pot schimba lista frecvențelor disponibile) și tranziționează corespunzător serviciul atunci când are loc o schimbare de stare a alimentării.
    • O mulțime de remedii și ajustări libthread_xu / pthreads pentru a îmbunătăți compatibilitatea cu dport.
    • Adăugați funcții de copiere pe scriere la vkernel. De exemplu, permite vkernel-urilor multiple să utilizeze o singură imagine a discului, prin modificarea fiecărei modificări COW intern.
    • / usr / src / secure rewired, conflictele eliminate din libmd, libcrypt.
    • În sistemul de bază au fost actualizate diferite instrumente:
    • Compilatorul actualizat la GCC 5.4.1.
    • Acum avem un linker de aur cu LTO.
    • binutils 2.25
    • mai puțin 481.
    • OpenSSL / LibRESSL a fost complet refăcut. Baza utilizează acum libressl.
    • Actualizări ale mai multor fusuri orare.
    • Starea ciocanului:
    • Diverse îmbunătățiri. Un lucru care nu a reusit sa apara in versiunea de lansare a fost o versiune pentru a folosi un algoritm CRC mai rapid cu un polinom diferit. Acest lucru va fi MFC'd la-elibera odată ce testarea este completă. Cu toate acestea, utilizatorii nu ar trebui să-și facă griji prea mult, deoarece corecția de performanță cea mai serioasă este în lansare (o corecție la codul cluster_write () pentru sistemul de fișiere care scrie).
    • Hammer2 Status:
    • Dezvoltarea continuă, dar nu există încă nici un cuvânt despre prima lansare.
    • Starea Clang:
    • A fost adăugat un cadru de pornire pentru utilizarea clang ca compilator de bază alternativă în DragonFly, pentru a înlocui gcc 4.7. Nu este încă completă. Clang poate fi, desigur, adăugat ca un pachet.
    • starea pe 64 de biți:
    • Rețineți că DragonFly este un sistem de operare numai pe 64 de biți din 4.6 și nu va funcționa pe hardware pe 32 de biți.
    • Sprijinul AMD Ryzen se află în lansare, iar lucrările ulterioare vor fi aduse pe măsură ce apar noi dezvoltări Ryzen. Există câteva probleme despre topologia raportată de CPU care vor fi rezolvate și vor fi rezolvate de MFC. Există câteva probleme de stabilitate care așteaptă în prezent o actualizare a microcodului AMD pentru a rezolva / retesta. Utilizatorii Ryzen pot fi siguri că ne aflăm în continuare!

    Ce este nou în versiunea 4.8.0:

    • Kernel:
    • Codul buffer-ului cache al buffer-ului pentru a elimina rezervările KVA dinamice. În schimb, toate KVA sunt rezervate la momentul încărcării. Ne salvează de IPI-urile inutile și permite simplificarea semnificativă a codului tampon tampon.
    • Adăugați vfs.repurpose_enable (testat, dezactivat în mod implicit). Această caracteristică poate fi activată pentru a reduce semnificativ încărcarea de gestionare IPI și VM pe o mașină care realizează cantități imense de fișiere I / O, de exemplu dintr-un SSD NVMe, ocolind mecanismul normal de recuperare a paginilor VM. Când este activată, caracteristica se declanșează numai la sarcini I / O ridicate. Funcționează repornind paginile VM care stau la baza unui tampon în loc (atunci când este posibil), astfel încât să nu fie necesar să se creeze / creeze paginile din KVA-ul tamponului. Recyclarea paginilor VM normale (care altfel ar fi copleșită de sarcina I / O) este ocolită, de asemenea.
    • Modificați modul în care se procesează IPIQ, în special crearea unui mecanism vectorial independent Xinterrupt pentru invalidările paginilor care ignoră (va funcționa) chiar dacă se ține o secțiune critică. Implementați machdep.optimized_invltlb (dezactivat în mod implicit, sub test), care evită trimiterea IPL-urilor de invalidare TLB la cpus-ul inactiv.
    • Fixați numeroase rase care ar putea apărea sub sarcini extreme. Cele mai multe cazuri de utilizare nu ar declanșa niciodată aceste, dar cutiile noastre de construcție au făcut ocazional. De exemplu, a existat o cursă de două instrucțiuni în care bitul CPU pentru un pmap ar fi șters (pentru două instrucțiuni) și ar cauza un IPL TLB care apare în același timp pe o altă CPU pentru același pmap să nu realizeze că CPU folosea pmap . Remedierea este de a dezactiva optimizarea reîncărcării CR3 pentru cazul LWP-> LWP (același proc).
    • Remediați o eroare HAMMER care ar putea duce la o eroare CRC a DATELOR raportată incorect.
    • Fixați o scriere dublă declanșată de modul în care HAMMER folosește cluster_write (). Acest lucru îmbunătățește semnificativ performanța de scriere a lui HAMMER.
    • Numeroase alte curățări și remediere HAMMER au intrat și ele.
    • Fixați un blocaj dur care ar putea apărea în getpbuf * () din cauza unei interpretări greșite a valorii returnate a unei opțiuni atomice.
    • Remediați o întrerupere de stivuire care poate apărea într-o fereastră de 10 instrucțiuni, potențial (dar nu găsită în sălbăticie) care rulează stack-ul kernel-ului.
    • Decuplați IPI-urile legate de pmap pentru o anumită operațiune cache-tampon, fără a deranja invalidarea TLB-ului, iar pe partea inversă invalidând întotdeauna TLB-ul atunci când introduceți un PTE nou, chiar dacă conținutul anterior a fost nevalid. Acest lucru îmbunătățește performanța și facilitează depanarea eliminând o optimizare problematică.
    • Fixați o serie de curse SMP dificil de declanșat, în special una care se referă la efectuarea simultană a diferitelor puncte de montare pe care construcția în vrac ar putea declanșa. De asemenea, fixați o cursă mountctl vs umount.
    • Reduceți numărul de operații atomice în calea comutatorului.
    • Fixați o rasă de nume / panică care ar putea apărea sub sarcini extreme asociate cu o mulțime de activități mount / umount.
    • Restricționați eșantionarea% rip la rădăcină.
    • Fixați o problemă getpid () în vfork () atunci când este filetat. În particular, vfork-ul concurent () într-un program filetat ar putea determina ca PID greșit să fie returnat de getpid () în copil înainte de exec.
    • Fixați o cursă rară de alertă / alertă atunci când se declanșează cronometrul de avertizare înainte ca setarea () să fie finalizată complet.
    • Curățarea mesajelor de stingere a numelui de pe consola. În special, raportați durata scursă potrivită și td_comm a firului implicat.
    • Reduceți în continuare testarea memoriei și reducerea la zero a boot-ului pentru a îmbunătăți timpii de încărcare pe sistemele cu cantități mari de berbeci.
    • Înlăturați complet codul zero al paginii de așteptare. Zeroarea unei pagini pe un procesor modern la cerere este mai bună din mai multe motive și poate fi mai rapidă atunci când este combinată cu accesarea de către consumator a datelor din pagină, datorită efectelor cache. Eliminați PG_ZERO, deoarece nu mai este necesar. Îndepărtarea PG_ZERO face de asemenea nucleul mai debuggabil, eliminând o altă sursă posibilă de contaminare încrucișată.
    • Refactor și termină implementarea localizării CPU pentru alocările de memorie kernel. Se combină cu conștientizarea NUMA. Aceasta funcționează pentru structurile de date kernel-localizate sau de scurtă durată. Cele două sunt combinate împreună în abstracția PQ_L2_SIZE care a fost codul de colorare al paginii VM. Acest cod gestionează, de asemenea, localizarea procesorului și conștientizarea NUMA.
    • Remediați multe probleme vkernel și îmbunătățiți în mod semnificativ performanța vkernel.
    • Actualizați numele kern.proc.path, o sysctl folosită de programe pentru a găsi calea programului rulat. Acest sistem sysctl a fost inițial implementat înainte de a stoca date suficiente pentru a reveni la o cale completă și corectă.
    • Sincronizați ACPICA de la Intel (acesta este un eveniment obișnuit).
    • Fixați ansamblul memcpy () ABI. Ansamblul nu a returnat argumentul original (dst). Nu rezolvă nicio problemă cunoscută, dar închide o gaură când GCC uneori decide să apeleze memcpy în timp ce generează cod.
    • Mulți se angajează să atenueze avertismentele și erorile de tip O2. Kernel-ul este acum compilat -O2 în mod implicit.
    • Adăugați o soluție pentru un randament necorespunzător în calea ACPI (codul ACPI de tip buggy).
    • Fixați o cursă STOP / CONT care ar putea fi declanșată de un semnal în așteptare la momentul potrivit.
    • Coredump-ul cu filet fixează și fixează un blocaj asociat aceluiași lucru atunci când mai multe fire ale aceluiași proces seg-fault în același timp.
    • Fixați un blocaj CAM / VM care ar putea apărea din cauza unei erori în uiomove_nofault (). Acest lucru ar putea provoca un "tampon de așteptare nedefinit" în timpul paginării / schimbării grele.
    • Adăugați cod pentru a detecta și a trata IPI-urile pierdute. Acest lucru este în primul rând pentru vkernels în cazul în care unele gazde virtuale pot pierde IPIs. Real CPU-uri nu ar trebui să-și piardă IPI-urile.
    • Diverse remedii pentru clock_gettime ().
    • Eliminați mai multe vestigii ale MPLOCK. Toate căile critice s-au îndepărtat de mult de această blocare, dar mai sunt încă câteva locuri necritice care l-au folosit.
    • Refaceți codul de ucidere a procesului de memorie redusă și reparați o serie de curse care ar putea împiedica funcționarea acestei funcții.
    • Fixați o blocare a sistemului cu VMM și refăctorul codului VMX.
    • Fixați un blocaj atunci când numvnodes ajunge la maxvnodes, care pot apărea sub sarcini grele. De asemenea, remediați o scurgere de memorie minoră a kernel-ului atunci când 'df' sau sincronizarea sistemelor de fișiere este o problemă. De asemenea, reduceți modest calculul maxvnodes. De exemplu, o mașină cu 8 GB ram va seta acum maxvnodes la 478483 în loc de 598103.
    • Fixați o panică rară care poate fi declanșată de vm_object_page_remove () atunci când user_yield () este apelat în mod necorespunzător în timp ce țineți un spinlock și apoi decide să vă deconectați.
    • Reduceți dimensiunea unor structuri de kernel alocate dinamic. În special, alocările de tabel inexistente de dimensiuni excesive sunt acum mai mici. Afectează în primul rând UFS (pe care DragonFlyBSD nu o folosește prea mult).
    • Adăugați soluție pentru AMD erratum 793.
    • Remediați un blocaj care poate apărea în apelurile I / O stivuite din cluster stivuit.
    • Remediați o eroare în care încărcarea modulului recursiv ar putea fi blocată.
    • Remediați o eroare proastă în codul NFS sillyrename (partea serverului NFS) care ar putea determina codul sillyrename al serverului NFS să nu elimine niciodată fișierul redenumit. Cât de prost!
    • Efectuați o lucrare mai bună pentru a acoperi configurațiile high-ncpu + cu memorie redusă.
    • Sprinklock-urile partajate de reactiv pentru a reduce cantitatea de filare care poate apărea atunci când multiple cpus dobândesc un spinlock în același timp.
    • Efectuați revizii operațiunilor cu numele de cache pentru a reduce și mai mult convingerea SMP. Acest lucru îmbunătățește simultan performanțele simultane non-conflictuale cu cel puțin 25 de ori pe sistemele cu mai multe nuclee și reduce în mod semnificativ operațiunile de refacere și operațiuni de refacere a structurilor vnode și mount.
    • Revizuiți numeroase alte structuri de kernel pentru a îmbunătăți localitatea cache-ului și pentru a reduce bouncingul liniei de cache.
    • Remediați o eroare în codul de redenumire a fișierului SMBFS.
    • Implementați RLIMIT_RSS, un limiter RSS per-proces care va forța paginarea localizată pe o bază per proces. Această caracteristică poate fi utilizată pentru a împiedica ca un proces să transforme restul aparatului într-un caz greu.
    • Creșteți spațiul de swap maxim acceptat. Maximul este acum limitat în primul rând de berbec și va fi în zeci de terabiți (dacă aveți suficient berbec pentru structurile de management de sprijin). De asemenea, măriți KVM-ul kernel-ului de la 128G la 511G.
    • Implementați ștergerea dinamic dinamică (dezactivată implicit). Acest lucru direcționează codul pmap pentru a șterge paginile mesei de pagină intermediare și PD-urile din pmap pe zbor. Poate fi util dacă memoria este la primă, dar rețineți că, dacă este activată, aceasta va încetini execuția programelor care alocă și aruncă memoria la o rată ridicată.
    • Refactor cum funcționează nivelele "nice" ale utilizatorilor, făcând valorile frumoase selectate mai importante decât erau.
    • Adăugați un driver NVME de înaltă performanță la DragonFly, scris de Matt Dillon. Acest driver va folosi vectorii MSI-X și toate cozile disponibile suportate de dispozitiv, localizarea pe cpu fără închidere sau închidere minimă (în majoritatea cazurilor nu există conflicte SMP) și este capabil de IOPS nebun și de transfer.
    • Grafică:
    • Stabilizează Broadwell și Skylake, ne aduce la DRM echivalent cu Linux 4.6.
    • Implementați API-ul Linux i2c pentru a ușura portarea.
    • Remediați câteva bug-uri vechi, inclusiv o inversare a ordinii de blocare, care ar putea împiedica redarea video (și restul de X).
    • Remediați o eroare de prioritate a thread-ului de kernel dur, care permitea proceselor utilizatorilor să aibă o prioritate mai mare decât firul helper drm. Aceasta stabilește cele mai temporale posturi video raportate în browsere.
    • Gestionați EFI framebuffer trecând în DRM, îmbunătățiți comutarea syscons VT și remediați un blocaj asociat. De asemenea, aveți kernelul să încerce să comutați înapoi la consolă VT de la X când apare o panică.
    • Rețele:
    • Multe îmbunătățiri de la bord.
    • iwm - remediază o problemă cauzată de logica inversată. Numeroase alte îmbunătățiri care îmbunătățesc semnificativ performanța.
    • wlan - Suport pentru scanarea asincronă bg și alte caracteristici adăugate.
    • Alți șoferi:
    • nvme - Adăugat la construirea kernelului implicit, plus corecții și îmbunătățiri de performanță.
    • mmcsd - Suport semnificativ pentru eMMC adăugat la DragonFly.
    • ahci - Unele ajustări de compatibilitate și mai multe modificări adăugate pentru susținerea chipset-urilor rupte, în special a multiplicatorilor de porturi. De asemenea, implementați FBS (FIS-Based-Switching) atunci când este acceptat de chipset.
    • A fost adăugat suportul Trackpoint și Elantech.
    • Userland:
    • Systat îmbunătățit pentru a restrânge mai multe întreruperi care aparțin aceluiași driver, deoarece sunt adesea prea multe pentru a fi afișate acum.
    • systat -vm 1 îmbunătățit și reînnoit semnificativ pentru a raporta mai multe informații utile și pentru a despacheta câmpurile astfel încât să nu se întâlnească unul cu celălalt. Și adăugați "nvme" la potrivirea dispozitivului bloc. De asemenea, reglați afișajul extins vmstats și modificați modul în care sunt raportate ozfod și nzfod.
    • ieșire "vmstat 1" refactored. Toate câmpurile se împrăștia unul cu celălalt datorită performanțelor ridicate ale unei mașini moderne versus ceea ce a existat acum 30 de ani.
    • Schimbați semnalizarea mount / mountd pentru a reduce scanează și comenzile de listă inutile din operațiile mount_null și mount_tmpfs. Doar contează cu adevărat în cazul utilizării grele a mount / umount, dar construcția în masă creează acea situație.
    • Fixați numeroase scurgerile fork / exec * () care pot declanșa libc datorită faptului că nu utilizați O_CLOEXEC într-un mod atomic. Adăugați diferite funcții O_CLOEXEC la funcții precum popen () și mk * stemp * () (adăugați mkostemp () și mkostemps ()). Fixați o scurgere a descriptorului de fișiere în popen () atunci când rulează într-un mediu filetat.
    • Fii mai fericit în pvreads în vfork () dând noului sub-proces lwp același TID ca cel care a numit vfork (). Acest lucru permite ca funcțiile de suport pthread să fie executate în copilul în timpul vfork-ului, fără a se implima pthreads.
    • O mulțime de compatibilități se remediază la anteturi pentru a îmbunătăți construirea în vrac a dporturilor.
    • Câteva importuri OpenSSL pentru corecții de securitate.
    • Resync OpenSSH pentru a facilita păstrarea actualizării.
    • Separarea flag-urilor de kernel C prin construirea kernel-ului utilizează KCFLAGS în loc de CFLAGS.
    • Înlăturați numeroșii drivere ISA vechi din copac în întregime. Deoarece DragonFlyBSD este acum numai pe 64 de biți, putem începe să eliminăm driverele vechi care nu există pe platformele pe 64 de biți.
    • Introduceți WORLD_CFLAGS și WORLD_CCOPTLEVEL, implicit la -O. Acest lucru facilitează compilarea lumii dvs. -O2 sau orice altceva (de exemplu, WORLD_CCOPTLEVEL = 2). Cu toate acestea, descurajăm utilizarea a 3 sau mai mult. Valorile valide sunt 0, 1, 2, 3, s, g și "rapide".
    • Ajustați formatul STATUS pentru ps pentru ao face mai ușor de citit și pentru a elimina stegulețele antice care nu mai sunt aplicabile și creați doar dezordine.
    • Fixați alinierea malloc () pentru alocări mici. Alinierea minimă este acum 16 pentru alocările în gama de octeți 16-128 în loc de 8. Observați că alocările power-of-2 au fost întotdeauna aliniate în mod natural, dar unele programe utilizează multipli de (de exemplu) 16, cum ar fi '48' și presupune o aliniere de 16 octeți.
    • Fortunes refactored, adăugat.
    • powerd - Adăugați o gestionare bazată pe temperatură la powerd cu o lotemp nouă -H: opțiune hightemp. Această caracteristică este extrem de utilă pentru laptopurile cu răcire slabă și cu care BIOS-urile intenționează să accelereze la o temperatură prea ridicată. De asemenea, Powerd detectează modificările de stare a puterii (care pot schimba lista frecvențelor disponibile) și tranziționează corespunzător serviciul atunci când are loc o schimbare de stare a alimentării.
    • O mulțime de remedii și ajustări libthread_xu / pthreads pentru a îmbunătăți compatibilitatea cu dport.
    • Adăugați funcții de copiere pe scriere la vkernel. De exemplu, permite vkernel-urilor multiple să utilizeze o singură imagine a discului, prin modificarea fiecărei modificări COW intern.
    • / usr / src / secure rewired, conflictele eliminate din libmd, libcrypt.
    • În sistemul de bază au fost actualizate diferite instrumente:
    • Compilatorul actualizat la GCC 5.4.1.
    • Acum avem un linker de aur cu LTO.
    • binutils 2.25
    • mai puțin 481.
    • OpenSSL / LibRESSL a fost complet refăcut. Baza utilizează acum libressl.
    • Actualizări ale mai multor fusuri orare.
    • Starea ciocanului:
    • Diverse îmbunătățiri. Un lucru care nu a reusit sa apara in versiunea de lansare a fost o versiune pentru a folosi un algoritm CRC mai rapid cu un polinom diferit. Acest lucru va fi MFC'd la-elibera odată ce testarea este completă. Cu toate acestea, utilizatorii nu ar trebui să-și facă griji prea mult, deoarece corecția de performanță cea mai serioasă este în lansare (o corecție la codul cluster_write () pentru sistemul de fișiere care scrie).
    • Hammer2 Status:
    • Dezvoltarea continuă, dar nu există încă nici un cuvânt despre prima lansare.
    • Starea Clang:
    • A fost adăugat un cadru de pornire pentru utilizarea clang ca compilator de bază alternativă în DragonFly, pentru a înlocui gcc 4.7. Nu este încă completă. Clang poate fi, desigur, adăugat ca un pachet.
    • starea pe 64 de biți:
    • Rețineți că DragonFly este un sistem de operare numai pe 64 de biți din 4.6 și nu va funcționa pe hardware pe 32 de biți.
    • Sprijinul AMD Ryzen se află în lansare, iar lucrările ulterioare vor fi aduse pe măsură ce apar noi dezvoltări Ryzen. Există câteva probleme despre topologia raportată de CPU care vor fi rezolvate și vor fi rezolvate de MFC. Există câteva probleme de stabilitate care așteaptă în prezent o actualizare a microcodului AMD pentru a rezolva / retesta. Utilizatorii Ryzen pot fi siguri că ne aflăm în continuare!

    Ce este nou în versiunea 4.6.0:

    • mmcsd (4): Fixarea tipo în disc_create () args. Permite accesarea> 1 SD / MMC-card.
    • Adăugați unzip (1). Dacă nu le puteți bate, aderați-le la
    • Restabiliți capacitatea de a construi versiunea 4.4 a versiunii Master
    • buildworld - Permiteți -pentru a fi construit pe master
    • etc / rc.d - ajustări fără discuri
    • kernel - Adăugarea suportului de tip kqueue la NFS (remedierea problemelor firefox w / nfs)
    • Importați OpenSSL 1.0.1s.
    • Ajustări locale pentru OpenSSL 1.0.1s.
    • Baza de date sincronizatăinfo cu tzdata2016b de la ftp://ftp.iana.org/tz/releases
    • zic (8) / zdump (8): Nu avertizați despre abrevieri precum "-05".
    • zic (8): Scoateți un "registru" care a intrat în ultimul comitet.
    • kernel / acpi_timer: Adăugați un cpu_enable_intr () după testul cronometrului.
    • em.4: Menționați suportul i219.
    • ig_hal / em / emx: adăugați suport I219 (Skylake)
    • sys / vfs / hammer: Remedierea erorilor la ștergerea antetului volumului
    • sbin / hammer: nu accesați dincolo de 16KB din bufferul spațiului de utilizator HAMMER
    • sbin / ciocan: adăugați opțiunea de opacitate la afișarea ciocanului
    • sys / vfs / hammer: Fixarea temporară pentru panica kernel-ului pe volume-del

    Ce este nou în versiunea 4.4.3 / 4.6.0 RC2:

    • mmcsd (4): Fixarea tipo în disc_create () args. Permite accesarea> 1 SD / MMC-card.
    • Adăugați unzip (1). Dacă nu le puteți bate, aderați-le la
    • Restabiliți capacitatea de a construi versiunea 4.4 a versiunii Master
    • buildworld - Permiteți -pentru a fi construit pe master
    • etc / rc.d - ajustări fără discuri
    • kernel - Adăugarea suportului de tip kqueue la NFS (remedierea problemelor firefox w / nfs)
    • Importați OpenSSL 1.0.1s.
    • Ajustări locale pentru OpenSSL 1.0.1s.
    • Baza de date sincronizatăinfo cu tzdata2016b de la ftp://ftp.iana.org/tz/releases
    • zic (8) / zdump (8): Nu avertizați despre abrevieri precum "-05".
    • zic (8): Scoateți un "registru" care a intrat în ultimul comitet.
    • kernel / acpi_timer: Adăugați un cpu_enable_intr () după testul cronometrului.
    • em.4: Menționați suportul i219.
    • ig_hal / em / emx: adăugați suport I219 (Skylake)
    • sys / vfs / hammer: Remedierea erorilor la ștergerea antetului volumului
    • sbin / hammer: nu accesați dincolo de 16KB din bufferul spațiului de utilizator HAMMER
    • sbin / ciocan: adăugați opțiunea de opacitate la afișarea ciocanului
    • sys / vfs / hammer: Fixarea temporară pentru panica kernel-ului pe volume-del

    Ce este nou în versiunea 4.4.3:

    • mmcsd (4): Fixarea tipo în disc_create () args. Permite accesarea> 1 SD / MMC-card.
    • Adăugați unzip (1). Dacă nu le puteți bate, aderați-le la
    • Restabiliți capacitatea de a construi versiunea 4.4 a versiunii Master
    • buildworld - Permiteți -pentru a fi construit pe master
    • etc / rc.d - ajustări fără discuri
    • kernel - Adăugarea suportului de tip kqueue la NFS (remedierea problemelor firefox w / nfs)
    • Importați OpenSSL 1.0.1s.
    • Ajustări locale pentru OpenSSL 1.0.1s.
    • Baza de date sincronizatăinfo cu tzdata2016b de la ftp://ftp.iana.org/tz/releases
    • zic (8) / zdump (8): Nu avertizați despre abrevieri precum "-05".
    • zic (8): Scoateți un "registru" care a intrat în ultimul comitet.
    • kernel / acpi_timer: Adăugați un cpu_enable_intr () după testul cronometrului.
    • em.4: Menționați suportul i219.
    • ig_hal / em / emx: adăugați suport I219 (Skylake)
    • sys / vfs / hammer: Remedierea erorilor la ștergerea antetului volumului
    • sbin / hammer: nu accesați dincolo de 16KB din bufferul spațiului de utilizator HAMMER
    • sbin / ciocan: adăugați opțiunea de opacitate la afișarea ciocanului
    • sys / vfs / hammer: Fixarea temporară pentru panica kernel-ului pe volume-del

    Ce este nou în versiunea 4.4.2:

    • virtio_blk: utilizați contigmalloc / contigfree pentru alocările vtblk_request.
    • drm / radeon: Avem nevoie de adresa fizică a paginii dummy, nu de virtuale
    • if_iwm: Aplicați unele modificări de la OpenBSD, if_iwm.c rev 1.39 - & gt; 1,42
    • if_iwm: Păstrați doar pointerul de firmware struct, ca și if_iwn.
    • if_iwm: Eliminați comentariile referitoare la numele de fișiere sursă Linux iwlwifi.
    • if_iwm: Fixarea utilizării IEEE80211_ADDR_COPY ().
    • if_iwm: Fixați codul de configurare a controlului ratei.
    • etc / rc.d: Actualizați rtsold
    • i915 - Adăugați o întârziere după atașare pentru a evita consola / cursele X
    • kernel - Reduce lwp_signotify () latența
    • devfs - Remediază panica pe extra devfs mounts atunci când regulile sunt prezente
    • ssh - Eliminarea asistenței în roaming fără documente CVE-2016-0777 CVE-2016-0778
    • kernel - Adaugă quirks pentru xhci (usb)
    • ciocan - eliminați depanarea kprintf
    • libc / stdtime: Fixați două cazuri în care un pointer NULL ar fi putut fi liber () 'd.
    • kernel / vga: Eliminați greșit lwkt_reltoken (). Nu este luată în acest moment.
    • libc / nls: Sync str {eroare, semnal} () mesaje cu.
    • w (1): inet_addr () returnează INADDR_NONE la eșec.
    • ee (1): Fixați o variabilă neinitializată.
    • kernel: Fixați kern.dumpdev sysctl.
    • Importați OpenSSL 1.0.1r.
    • Ajustări locale pentru OpenSSL 1.0.1r.
    • gcc50 / libconv_supc: cp-demangle.c are nevoie de HAVE_CONFIG_H.
    • Baza de date sincronizatăinfo cu tzdata2016a de la ftp://ftp.iana.org/tz/releases
    • faceți upgrade: adăugați o fus orar învechit.
    • Igb: Fixați setările DMACR
    • ifconfig: Fixați ștergerea adresei inet6

    Ce este nou în versiunea 4.4.1:

    • Kernel:
    • Setări îmbunătățite de economisire a energiei CPU
    • Alocare redusă a fișierelor / contestație gratuită
    • Reduceți contestația kqueue
    • Implementat apelul de sistem lwp_setname (2)
    • Suport pentru funcționarea fără blocare dsp (4)
    • Adăugați driverul aperf (4) pentru a afișa frecvența efectivă a procesorului
    • Numeroase curățări și remedii pentru HAMMER
    • Sincronizați ACPICA la 20151124
    • În cele mai multe cazuri, a fost eliminat biți i386 (32 biți)
    • Ajustați grosimea încărcătorului de încărcare pentru a mări imaginile MD mai mari
    • Parola de curățare a codului kernelului mort (syslink rămâne, etc)
    • dsched a fost eliminat (probleme cu erori și nu funcționează bine cu SSD-uri)
    • Recodează algoritmi de pager pentru memorie cu memorie redusă și memorie în afara memoriei
    • Grafică:
    • Driverele drm / i915 și drm / radeon se potrivesc acum cu kernelul Linux 3.18
    • i915 acceptă platformele ValleyView / Baytrail și Cherryview Atom
    • GPU-urile Broadwell sunt acum complet accelerate
    • Lucrări pregătitoare pentru suportul Skylake
    • Consola de sistem acceptă acum în mod implicit grafice grafice; terminalele virtuale nu mai arată doar un ecran negru după ce Xorg a fost pornit și unul dintre modulele kernel kms încărcat.
    • Gestionarea îmbunătățită a alimentării. Panel Self Refresh disponibil pe hardware-ul i915
    • Senzorii de temperatură sunt acum compatiți cu hardware-ul Radeon
    • Rețele:
    • Suportul Realtek 8168H în re (4)
    • iwm (4) driver adăugat
    • rtadvd actualizat, adăugat rtadvctl
    • Conexiuni asincron UDP, pentru manipularea încărcăturii mult mai mari
    • O nouă fereastră de pornire mai mare TCP, pentru conexiuni cu latență ridicată
    • Valorile kernel-ului nmbcluster sunt reglabile în timp real, pentru trafic extrem de frecvent în rețea:
    • Stabilizați socketul de domeniu UNIX
    • Cod nou GC pentru trecerea fd prin mufe de domeniu unix
    • Diverse sincronizare IPv6 cu FreeBSD
    • Performanță îmbunătățită pentru socket (2) pentru TCP și UDP
    • Conectare îmbunătățită TCP (2) selecție port local
    • A fost adăugat acceptarea sistemului (4)
    • S-a adăugat suport pentru soclurile SOCK_CLOEXEC și SOCK_NONBLOCK (2) și a acceptat 4 (2) steaguri
    • Asigurați-vă că caracteristicile de control al fluxului HW sunt disponibile pentru ifconfig
    • Adăugați tunabile pentru a permite setarea NOSROOT iosize și readahead
    • Aduceți ipfw extins din FreeBSD (numit ipfw3 în DFly)
    • Alți șoferi:
    • A fost citit suportul MIDI
    • Multe bug-uri pentru dispozitivul mapper
    • dm-delay și dm-flakey au fost adăugate la mapperul dispozitivului
    • Modemurile USB funcționează mai bine (sau cel puțin nu intră în panică asupra kernelului)
    • Acces îmbunătățit la caracteristicile și starea ECC ram
    • wlan actualizat din FreeBSD (chiar înainte de eliminarea dispozitivului divizat)
    • Userland:
    • biblioteca regex a fost înlocuită cu biblioteca TRE regex multi-byte și în general mult mai capabilă. Se potrivește OSX în caracteristici. (DF este primul BSD care se mută la TRE după MacOS)
    • libm înlocuit cu versiunea OpenBSD (aceasta este o lucrare colaborativă în desfășurare)
    • libc oferă acum versiuni de simboluri care pot permite ca binarele create pe versiunea 4.4 să fie executate pe DragonFly de ani de zile în viitor.
    • Reformarea completă și actualizarea localizărilor, inclusiv punerea în aplicare a colaționării.
    • malloc.h eliminat (DragonFly este primul BSD care elimină acest antet)
    • gcc50 libstdc ++ modificat pentru a permite utilizarea completă a funcțiilor C99 pe clang
    • Ca o consecință a actualizării localizărilor, ieșirea formatului ls (1) lung și format -T sa schimbat atunci când se utilizează locale numite. În mod special, lunile lungi de formate sunt întotdeauna abreviate în limba engleză (folosind definițiile POSIX garantate astfel încât să fie rapidă și cu o lățime de trei litere), iar anul, ora și a doua informație sunt întotdeauna afișate. Sub limbajul C / POSIX nu există nici o modificare a ls (1) de ieșire, altul decât manipularea marcajului de timp viitoare a fost corectat pentru a se potrivi cerințelor standard POSIX.
    • Dacă se folosește WPA Supplicant din bază, va apărea o întârziere de 10 secunde în timpul încărcării, pe măsură ce este afișat un mesaj care recomandă ca versiunea DPorts (security / wpa_supplicant) să fie folosită în schimb.
    • Putere îmbunătățită (8)
    • Ieșire îmbunătățită de sus (1) și ps (1) pentru firele LWP și fire de kernel
    • Fixat suportul pentru pthread_set_name_np (3)
    • Tcpdrop portat (8)
    • Adăugarea multor locații noi, inclusiv șase localități arabe (EAU, Arabia Saudită, Egipt, Iordania, Maroc, Qatar), locații suplimentare spaniole (Mexic, Argentina, Costa Rica) , corectate localizări norvegiene (numai nb și nn), extinsă suedeză (Finlanda), Sami (Finlanda, Norvegia), sârbă prezentată atât în ​​formă chirilică cât și latină. ("locale -a" oferă o listă completă.)
    • rtadvc importat din FreeBSD
    • În sistemul de bază au fost actualizate diferite instrumente:
    • nvi2 actualizat la versiunea 2.1.3
    • adăugat libexecinfo (sincronizat din FreeBSD)
    • iconv sincronizat cu FreeBSD
    • openssl actualizat la 1.0.1q
    • xz actualizat la 5.2.2
    • libedit actualizat la versiunea 2015-03-25
    • binutils actualizat la 2.25.1
    • grep actualizat la 2.22
    • tcsh actualizat la 6.19.00
    • libdialog actualizat la v1.2-20150920
    • (tn) FTP actualizat la '10 OCT 2015 '
    • gcc actualizat la 5.2
    • acpica actualizat la 20150717
    • sortarea (1), care provenea de la NetBSD, a fost înlocuită cu versiunea FreeBSD
    • localedef (1), instrument intern cu origini în Illumos
    • cldr2def, instrument intern cu origini în proiectul FreeBSD abandonat, dar extins pentru DF
    • Eliminat din sistemul de bază:
    • hostapd (ultima versiune disponibilă prin dports: net / hostapd)
    • mklocale (înlocuit cu localedef)
    • colldef (înlocuit de localdef)
    • Îmbunătățirile HAMMER:
    • Multe, multe curățări și remedii pentru Hammer1, datorită lui Tomohiro Kusumi
    • Alte îmbunătățiri:
    • DPorts numără în jurul a 22.800 de porturi. Multe porturi anterior rupte au fost fixate de utilizatori obișnuiți datorită contribuțiilor oferite prin mecanismul GitHub Pull Request. (Multumesc!)
    • Șase "oficiale" seturi de tapet DragonFly sunt disponibile la x11-teme / dragonfly-wallpapers (pkg instala dragonfly-wallpapers). Acestea sunt instalate automat și preselectate pentru utilizatorii KDE și sunt instalate automat pentru utilizatorii XFCE4, însă imaginile de fundal sunt încă selectate manual cu acel desktop (cel puțin pentru moment). Se instalează la partajare / imagini de fundal care este simbolică pentru partajare / fundaluri / dragonfly.

    Software similare

    Plan 9
    Plan 9

    2 Jun 15

    Carbon OS
    Carbon OS

    17 Feb 15

    Cloudium OS
    Cloudium OS

    20 Feb 15

    NDT MIUI
    NDT MIUI

    14 Apr 15

    Comentarii la DragonFly BSD

    Comentariile nu a fost găsit
    Adauga comentarii
    Porniţi pe imagini!