DragonFly BSD is een open source BSD-besturingssysteem dat is ontworpen als de logische voortzetting van de FreeBSD-4.x OS-serie. Het is vergelijkbaar met andere op BSD gebaseerde distributies, zoals FreeBSD, NetBSD of OpenBSD. Het is een vork in het pad, om zo te zeggen, waardoor de BSD-basis de kans krijgt om in een geheel nieuwe richting te groeien dan die in de FreeBSD-5-serie. Daar bovenop bevat het een unieke reeks functies die het onderscheiden van andere vergelijkbare besturingssystemen.
HAMMER is de hoofdattractie
HAMMER is de belangrijkste attractie van DragonFly, een modern, krachtig bestandssysteem met historische toegangsfunctionaliteit en ingebouwde mirroring. De kernel is ook een van de redenen waarom DragonFly een betere BSD-verdeling is.
Biedt twee verschillende planners voor de kernel
De DragonFly-kernel bevat twee verschillende planners, een die alle uitvoerbare entiteiten plant (lichtgewicht kernel) en een andere die voor elke processor één thread per gebruiker selecteert en de gebruikersthreads abstraheert (User Thread Scheduler). Daarnaast is de kernel voorzien van een complexe kernelgeheugentoewijzing bestaande uit een objectgeoriënteerde geheugenallocator en een basis kernel malloc genaamd kmalloc (), het DragonFly device-bestandssysteem (DEVFS), een virtuele kernel (VKERNEL), NFS V3 RPC asynchronisatie en een disk I / O scheduler framework (dsched).
Functies, veel functies
Naast andere interessante kenmerken, kunnen we de NULL Filesystem Layer (NULLFS) vermelden die niet-loopende willekeurige mountpoints, TMPFS (Temporary Filesystem VFS), transparante disk-encryptie, managed SSD (Solid Storage Device) -ondersteuning, variant (context -sensitief) symlinks, DNTPD (DragonFly Network Time Daemon) en DMA (DragonFly Mail Agent). Bovendien kunnen gebruikers op elk gewenst moment een controlepunt plaatsen of processen op schijf schorsen. De distro biedt krachtige AHCI-stuurprogramma's, stabiele apparaatnamen en goed gefundeerde codering en volumebeheer.
Bottom line
Over het algemeen is DragonFly een modern, gebruikersvriendelijk en zeer toegankelijk UNIX-achtig besturingssysteem. Het kan dagelijks worden gebruikt als een desktopsysteem of als een krachtige BSD-server.
Wat is nieuw in deze versie:
- DragonFly-versie 5.2.1 is uitgebracht, met Meltdown / Spectre-beperking, vele verbeteringen aan HAMMER2, ipfw en versnelde video, plus (in de 5.2.1-update) oplossing voor CVE-2018-8897.
Wat is nieuw in versie:
- Christian Groessler (1):
- telnetd: print systeeminformatie (OS en architectuur) vóór login prompt.
- Matthew Dillon (7):
- hammer2 - Fix divide by 0 race
- kernel - selectieve MFC van kernel umtx werk van master
- kernel - Update umtx-documentatie
- libc en pthreads - Fix atfork problemen met nmalloc, update dmalloc
- hammer2 - Fix rename race
- hammer2 - optimaliseer hammer2_pfs_memory_wakeup ()
- hammer2 - Fix oneindige vuile ketens vanwege hernoemen
- Sascha Wildner (5):
- hammer2.8: typfout.
- Zeg 'hammer2' in plaats van 'hammer' op verschillende plaatsen.
- mtree: Fixeer de eigenaar voor verschillende mappen in / usr / share.
- libc / nls: gebruik de huidige locale (ingesteld per thread).
- libarchive: Zet commit terug die niet was bedoeld om te worden gepusht.
Wat is nieuw in versie 4.8.1:
- Kernel:
- Refactor buffer cache-code om dynamische KVA-reserveringen te verwijderen. In plaats daarvan is alle KVA gereserveerd tijdens het opstarten. Bespaart ons van onnodige IPI's en maakt een aanzienlijke vereenvoudiging van de buffer-cachecode mogelijk.
- Voeg vfs.repurpose_enable toe (te testen, standaard uitgeschakeld). Deze functie kan worden ingeschakeld om de IPI- en VM-beheerbelasting op een machine die enorme hoeveelheden bestands-I / O verwerkt, bijvoorbeeld van een NVMe SSD, aanzienlijk te verminderen door het normale VM-pagina-recyclingmechanisme te omzeilen. Wanneer ingeschakeld, activeert de functie alleen onder hoge I / O-belastingen. Het werkt door de VM-pagina's die ten grondslag liggen aan een buffer (indien mogelijk) opnieuw in de plaats te plaatsen, zodat de pagina's in de KVA van de buffer niet hoeven te worden verwijderd / geknoeid. Normale VM-pagina-recycling (die anders zou worden overweldigd door de I / O-belasting) wordt ook omzeild.
- Wijzig hoe de IPIQ wordt verwerkt, creëer met name een onafhankelijk Xinterrupt-vectormechanisme voor pagina-ongeldigmakingen die negeren (werken) zelfs als een kritieke sectie wordt aangehouden. Implementeer machdep.optimized_invltlb (standaard uitgeschakeld, onder test), waardoor het niet verzenden van IPI's voor ongeldigmaking naar idle cpus wordt vermeden.
- Los verschillende races op die onder extreme belasting kunnen optreden. De meeste use-cases zouden deze nooit activeren, maar onze build-boxes deden dit af en toe. Er was bijvoorbeeld een twee-instructierace waarbij het CPU-bit voor een pmap zou worden gewist (voor twee instructies) en ervoor zorgde dat een TLB-IPI tegelijkertijd op een andere CPU voor dezelfde pmap plaatsvond om niet te beseffen dat cpu de pmap gebruikte . De oplossing is om de CR3-reload-optimalisatie voor de LWP- & gt; LWP (zelfde proc) switchcase uit te schakelen.
- Een HAMMER-bug repareren die ertoe kan leiden dat een DATA CRC-fout niet correct wordt gerapporteerd.
- Fix een double-write geactiveerd door de manier waarop HAMMER cluster_write () gebruikt. Dit verbetert de schrijfprestaties van HAMMER aanzienlijk.
- Talrijke andere opruimacties en reparaties van HAMMER zijn ook binnengekomen.
- Bevestig een harde vergrendeling die kan optreden in getpbuf * () vanwege een verkeerde interpretatie van de geretourneerde waarde van een atomic op.
- Herstel een stacking-interrupt die kan optreden in een 10-instructiesvenster, mogelijk (maar niet in de natuur aangetroffen) waarop de kernel-stack wordt uitgevoerd.
- Verlaag pmap-gerelateerde IPI's in de helft voor bepaalde buffer-cache-bewerkingen door niet de moeite te doen de TLB ongeldig te maken, en aan de andere kant altijd de TLB ongeldig te maken bij het invoeren van een nieuwe PTE, zelfs als de vorige inhoud ongeldig was. Dit verbetert de prestaties en vereenvoudigt ook het debuggen door een problematische optimalisatie te verwijderen.
- Een aantal moeilijk te activeren SMP-races repareren, met name een die gerelateerd is aan het gelijktijdig uitvoeren van verschillende mount-punten die de bulksamenstelling zou kunnen activeren. Maak ook een mountctl vs umount race.
- Verminder het aantal atomaire operaties in het schakelpad.
- Herstel een namecache-race / paniek die zich zou kunnen voordoen onder extreme belastingen in combinatie met veel mount / umount-activiteit.
- Beperk% rip-sampling tot root.
- Repareer een getpid () -probleem in vfork () wanneer u een thread gebruikt. Concurrent vfork () s in een threaded programma kan er bijvoorbeeld voor zorgen dat de verkeerde PID wordt geretourneerd door getpid () in het kind voorafgaand aan de exec.
- Herstel een zeldzame tsleep / callout-race wanneer de callout-timer start voordat de tsleep () helemaal klaar is met het instellen.
- Berichtspaties voor namecache opschonen op de console. Vermeld in het bijzonder de juiste verstreken tijd en de td_comm van de betreffende thread.
- Verlaag verder geheugentests en vroeg opstarten van de boot om de opstarttijden te verbeteren op systemen met grote hoeveelheden ram.
- Verwijder de idle page-zeroing code volledig. Nulstellen van een pagina op een moderne cpu-on-demand is om vele redenen beter, en kan zelfs sneller zijn in combinatie met de consument die toegang heeft tot gegevens op de pagina vanwege cache-effecten. Verwijder PG_ZERO, omdat het niet langer nodig is. Als u PG_ZERO verwijdert, wordt de kernel ook meer debuggabel door een andere mogelijke bron van kruisbesmetting te verwijderen.
- Refactor en voltooi de implementatie van CPU-lokalisatie voor kernelgeheugentoewijzingen. Combineer met NUMA-bewustzijn. Dit werkt voor cpu-gelokaliseerde of kort levende kerneldatastructuren. De twee zijn samen gecombineerd in onze PQ_L2_SIZE-abstractie die de VM-paginakleuringcode was. Deze code verwerkt nu ook CPU-lokalisatie en NUMA-voorlichting.
- Veel vkernel-problemen oplossen en de prestaties van vkernel aanzienlijk verbeteren.
- Werk kern.proc.pathname bij, een sysctl gebruikt door programma's om het pad van het actieve programma te vinden. Dit sysctl is oorspronkelijk geïmplementeerd voordat we voldoende gegevens hebben opgeslagen om een volledig, juist pad te retourneren.
- Synchroniseer ACPICA van Intel (dit is een normaal verschijnsel).
- Fix de ABI van memcpy () assembly. De assembly retourneerde het oorspronkelijke (dst) argument niet. Lost geen bekende problemen op, maar sluit een gat wanneer GCC soms besluit memcpy te bellen tijdens het genereren van code.
- Veel commits om op te ruimen -O2 waarschuwingen en fouten. De kernel is nu standaard -O2 gecompileerd.
- Voeg een tijdelijke oplossing toe voor een onjuiste opbrengst in het ACPI-pad (ook ACPI-code met fouten).
- Bepaal een STOP / CONT-race die op het verkeerde moment zou kunnen worden geactiveerd door een signaal in afwachting.
- Coredump-correcties met schroefdraad en een lockup gerelateerd aan hetzelfde wanneer meerdere threads van dezelfde proces-seg-fault tegelijkertijd optreden.
- Herstel een CAM / VM-deadlock die zou kunnen optreden als gevolg van een fout in uiomove_nofault (). Dit kan een 'onbepaalde wachtbuffer' veroorzaken tijdens zwaar paging / swappen.
- Voeg code toe om verloren IPI's te detecteren en af te handelen. Dit is vooral voor vkernels waar sommige virtuele hosts IPI's kunnen verliezen. Het is niet de bedoeling dat echte CPU's IPI's verliezen.
- Verschillende oplossingen voor clock_gettime ().
- Meer overblijfselen van de MPLOCK verwijderen. Alle kritieke paden zijn al lang geleden gedesinvesteerd uit dit slot, maar er zijn nog steeds een paar niet-kritieke plaatsen over die het gebruiken.
- Herwerk de moordende code met weinig geheugen en repareer een aantal races die kunnen voorkomen dat de functie werkt.
- Een systeemvergrendeling met VMM oplossen en de VMX-code refactiveren.
- Fix deadlock wanneer numnnodes maxvnodes bereiken, wat kan optreden bij zware belasting. Herstel ook een kleine kernelgeheugenlek wanneer 'df' of bestandssysteemsynchronisatie een umount uitvoert. Verminder ook de maxvnodes-berekening bescheiden. Een machine met 8 GB RAM zal nu maxvnodes instellen op 478483 in plaats van 598103.
- Verhelp een zeldzame paniek die kan worden getriggerd door vm_object_page_remove () wanneer user_yield () onjuist wordt aangeroepen terwijl je een spinlock vasthoudt en vervolgens besluit om te schikken.
- Beperk de grootte van sommige dynamisch toegewezen kernelstructuren. In het bijzonder zijn overmatig bemeten haspeltabeltoewijzingen nu kleiner. Heeft voornamelijk invloed op UFS (DragonFlyBSD gebruikt niet veel).
- Tijdelijke oplossing toevoegen voor AMD erratum 793.
- Een deadlock repareren die kan optreden in gestapelde cluster _ * () I / O-aanroepen.
- Een bug repareren waarbij het laden van recursieve modules kon vastlopen.
- Los een dwaze bug op in de NFS sillyrename-code (server-side NFS) die ertoe kan leiden dat de sillyrename-code van de NFS-server het domme hernoemde bestand nooit zal verwijderen. Hoe dom!
- Voer een betere taak uit voor high-ncpu + low-memory-configuraties.
- Refactor gedeelde spinlocks om de hoeveelheid spinning te verminderen die kan optreden wanneer meerdere cpu's tegelijkertijd een gedeelde spinlock verwerven.
- Voer de namecache-bewerkingen opnieuw in om de SMP-conflicten nog verder te verminderen. Dit verbetert gelijktijdige niet-conflicterende prestaties van één component met ten minste 25x op systemen met veel kernen, en verlaagt vnode- en mount-structuurref- en unref-bewerkingen aanzienlijk.
- Voer een groot aantal andere kernelstructuren grondig uit om de cachelocaliteit te verbeteren en de cache-lijn te verminderen.
- Repareer een fout in de bestandsnaam van de SMBFS-bestandsnaam.
- Implementeer RLIMIT_RSS, een RSS-limiter per proces die gelokaliseerde semafonie per proces zal afdwingen. Deze functie kan worden gebruikt om te voorkomen dat één proces de rest van de machine verandert in een harde case.
- Verhoog de maximale ondersteunde swapruimte. Het maximum wordt nu voornamelijk beperkt door ram en zal in de tientallen terabytes zijn (als je genoeg ram hebt voor de ondersteunende managementstructuren). Verhoog ook de KVM van de kernel van 128G naar 511G.
- Dynamische pmap-verwijdering implementeren (standaard uitgeschakeld). Hiermee wordt de pmap-code geleid om tussentafelpagina's en PD's van de pmap on the fly te verwijderen. Het kan handig zijn als geheugen een premie heeft, maar houd er rekening mee dat het, indien ingeschakeld, de uitvoering van programma's die geheugen toewijzen en de toewijzing van geheugen op een hoog tempo vertragen.
- Refactoren hoe gebruikers 'mooie' niveaus werken, waardoor de geselecteerde mooie waarden significanter zijn dan vroeger.
- Voeg een native NVME-stuurprogramma met hoge prestaties toe aan DragonFly, geschreven door Matt Dillon. Dit stuurprogramma gebruikt MSI-X-vectoren en alle beschikbare wachtrijen die door het apparaat worden ondersteund, per-cpu-lokalisatie zonder vergrendeling of minimale vergrendeling (in de meeste gevallen geen SMP-conflicten) en is in staat tot gestoorde IOPS en doorvoer.
- Graphics:
- Stabiliseert Broadwell en Skylake, brengt ons op de Linux 4.6 equivalente DRM.
- Implementeer de Linux i2c API om het porten eenvoudiger te maken.
- Een paar oude bugs verhelpen, waaronder een omkering van de vergrendelingsvolgorde, waardoor het afspelen van video's (en de rest van X) kan afremmen.
- Een fout in de kerneldrm-threadprioriteit oplossen waardoor gebruikersprocessen een hogere prioriteit hadden dan de drm-helper-thread. Dit lost de meest tijdelijke video-standen op die in browsers zijn gerapporteerd.
- Omgaan met EFI framebuffer die in DRM gaat, syscons VT switching verbetert en een gerelateerde deadlock repareert. Zorg er ook voor dat de kernel probeert terug te schakelen naar de console VT van X wanneer er een paniek optreedt.
- Netwerken:
- Veel verbeteringen over de hele linie.
- iwm: hiermee verhelpt u een probleem veroorzaakt door omgekeerde logica. Talloze andere verbeteringen die de prestaties aanzienlijk verbeteren.
- wlan - Ondersteuning voor asynchrone BG-scan en andere functies toegevoegd.
- Andere stuurprogramma's:
- nvme - Toegevoegd aan standaard kernel-build, plus fixes en prestatieverbeteringen.
- mmcsd - Significante eMMC-ondersteuning toegevoegd aan DragonFly.
- ahci - Enkele compatibiliteitsaanpassingen en meer eigenaardigheden toegevoegd om gebroken chipsets te ondersteunen, in het bijzonder port-multipliers. Implementeer ook FBS (FIS-Based-Switching) wanneer dit door de chipset wordt ondersteund.
- Trackpoint- en Elantech-ondersteuning toegevoegd.
- Userland:
- systat enhanced om meerdere interrupts samen te voegen die bij dezelfde driver horen, omdat er vaak te veel zijn om nu te vermelden.
- systat -vm 1 aanzienlijk verbeterd en vernieuwd om nuttigere informatie te rapporteren en om velden uit te pakken, zodat ze elkaar niet tegenkomen. En voeg 'nvme' toe aan de match van het blokapparaat. Pas ook de uitgebreide vmstats-weergave aan en wijzig hoe ozfod en nzfod worden gerapporteerd.
- 'vmstat 1' output gerefactored. Alle velden liepen tegen elkaar aan vanwege de hoge prestaties van een moderne machine-versie die al 30 jaar bestaat.
- Verander mount / mountd signalering om onnodige mountlist-scans en -opdrachten van mount_null en mount_tmpfs te verminderen. Het maakt alleen echt uit onder zwaar gelijktijdig gebruik van mount / umount, maar de bulk-build creëert die situatie feitelijk.
- Los vele fork / exec * () lekken op die libc kan activeren vanwege het niet atomair gebruiken van O_CLOEXEC. Voeg verschillende O_CLOEXEC-functies toe aan functies zoals popen () en mk * stemp * () (mkostemp () en mkostemps () toevoegen. Repareer een bestandsdescriptorlek in popen () bij het uitvoeren van een threadomgeving.
- Beter zijn voor pthreads in vfork () door het lep van het nieuwe subproces dezelfde TID te geven als degene die vfork () heeft aangeroepen. Hiermee kunnen pthread-ondersteuningsfuncties worden uitgevoerd in het kind tijdens de uitvoering zonder dat er pthreads worden geïmplementeerd.
- Veel compatibiliteitsoplossingen voor kopteksten om bulkupdates in dp te verbeteren.
- Verschillende importen van OpenSSL voor beveiligingsoplossingen
- Synchroniseer OpenSSH om het gemakkelijker te maken om het up to date te houden.
- Verwijder de kernel C-vlaggen door de kernel te laten bouwen met KCFLAGS in plaats van CFLAGS.
- Verwijder meerdere oude ISA-stuurprogramma's volledig uit de structuur. Omdat DragonFlyBSD nu alleen 64-bits is, kunnen we beginnen met het verwijderen van oude stuurprogramma's die niet bestaan op 64-bits platforms.
- Introduceer WORLD_CFLAGS en WORLD_CCOPTLEVEL, standaard in op -O. Dit maakt het eenvoudiger om je wereld -O2 of wat dan ook te compileren (bijvoorbeeld WORLD_CCOPTLEVEL = 2). We raden echter het gebruik van 3 of hoger af. Geldige waarden zijn 0, 1, 2, 3, s, g en 'snel'.
- Pas STATUS-opmaak aan voor ps om het leesbaarder te maken en verwijder oude vlaggen die niet meer van toepassing zijn en maak gewoon rommel.
- Fixeer malloc () voor kleine toewijzingen. De minimale uitlijning is nu 16 voor toewijzingen in het bereik van 16-128 bytes in plaats van 8. Merk op dat macht-van-2 toewijzingen altijd op natuurlijke wijze zijn uitgelijnd, maar sommige programma's gebruiken veelvouden van (bijv.) 16, zoals '48', en veronderstel 16-byte uitlijning.
- Fortunes gerefactored, toegevoegd.
- powerd - Voeg temperatuurgebaseerd beheer toe aan powerd met een nieuwe -H lotemp: hightemp-optie. Deze functie is bijzonder handig op laptops met slechte koeling en wanneer BIOSes opzettelijk gas geven bij een te hoge temperatuur. Powerd detecteert nu ook stroomstatusveranderingen (die de lijst met beschikbare frequenties kunnen wijzigen) en schakelt de service op de juiste manier over wanneer zich een verandering van de energiestatus voordoet.
- Veel libthread_xu / pthreads-fixes en aanpassingen om de compatibiliteit met dpls te verbeteren.
- Voeg copy-on-write-functies toe aan de vkernel. Bijvoorbeeld, staat meerdere vkernels toe om een enkele schijfafbeelding te gebruiken door elke COW-modificatie intern in te rammen.
- / usr / src / veilig opnieuw bedraad, conflicten verwijderd uit libmd, libcrypt.
- Verschillende hulpmiddelen zijn bijgewerkt in het basissysteem:
- Compiler bijgewerkt naar GCC 5.4.1.
- We hebben nu een gouden linker met LTO.
- binutils 2,25
- minder 481.
- OpenSSL / LibRESSL volledig vernieuwd. Base gebruikt nu libressl.
- Meerdere tijdzone-updates.
- Hammer-status:
- Diverse verbeteringen. Een ding dat de release niet gehaald had, was een versiegroep om een sneller CRC-algoritme met een andere polynoom te gebruiken. Dit werk zal door MFC worden vrijgegeven zodra het testen is voltooid. Gebruikers moeten zich echter niet te veel zorgen maken omdat de meest ernstige prestatie-oplossing IS in de release is (een correctie voor de cluster_write () code voor het schrijven van bestandssystemen).
- Hammer2-status:
- Ontwikkeling gaat door maar nog geen woord over een eerste release.
- Clang-status:
- Een startraamwerk is toegevoegd voor het gebruik van clang als de alternatieve base-compiler in DragonFly, ter vervanging van gcc 4.7. Het is nog niet voltooid. Clang kan natuurlijk als een pakket worden toegevoegd.
- 64-bit status:
- Merk op dat DragonFly vanaf 64 een 64-bits besturingssysteem is en niet op 32-bits hardware kan draaien.
- AMD Ryzen-ondersteuning is in de release en verder werk zal worden ingebracht wanneer er nieuwe Ryzen-ontwikkelingen plaatsvinden. Er zijn enkele cpu-reports-topology-problemen die zullen worden opgelost en MFC'd. Er zijn momenteel enkele stabiliteitsproblemen die wachten op een AMD-microcode-update om te verhelpen / opnieuw testen. Ryzen-gebruikers kunnen er zeker van zijn dat we er bovenop blijven!
Wat is nieuw in versie 4.8.0:
- Kernel:
- Refactor buffer cache-code om dynamische KVA-reserveringen te verwijderen. In plaats daarvan is alle KVA gereserveerd tijdens het opstarten. Bespaart ons van onnodige IPI's en maakt een aanzienlijke vereenvoudiging van de buffer-cachecode mogelijk.
- Voeg vfs.repurpose_enable toe (te testen, standaard uitgeschakeld). Deze functie kan worden ingeschakeld om de IPI- en VM-beheerbelasting op een machine die enorme hoeveelheden bestands-I / O verwerkt, bijvoorbeeld van een NVMe SSD, aanzienlijk te verminderen door het normale VM-pagina-recyclingmechanisme te omzeilen. Wanneer ingeschakeld, activeert de functie alleen onder hoge I / O-belastingen. Het werkt door de VM-pagina's die ten grondslag liggen aan een buffer (indien mogelijk) opnieuw in de plaats te plaatsen, zodat de pagina's in de KVA van de buffer niet hoeven te worden verwijderd / geknoeid. Normale VM-pagina-recycling (die anders zou worden overweldigd door de I / O-belasting) wordt ook omzeild.
- Wijzig hoe de IPIQ wordt verwerkt, creëer met name een onafhankelijk Xinterrupt-vectormechanisme voor pagina-ongeldigmakingen die negeren (werken) zelfs als een kritieke sectie wordt aangehouden. Implementeer machdep.optimized_invltlb (standaard uitgeschakeld, onder test), waardoor het niet verzenden van IPI's voor ongeldigmaking naar idle cpus wordt vermeden.
- Los verschillende races op die onder extreme belasting kunnen optreden. De meeste use-cases zouden deze nooit activeren, maar onze build-boxes deden dit af en toe. Er was bijvoorbeeld een twee-instructierace waarbij het CPU-bit voor een pmap zou worden gewist (voor twee instructies) en ervoor zorgde dat een TLB-IPI tegelijkertijd op een andere CPU voor dezelfde pmap plaatsvond om niet te beseffen dat cpu de pmap gebruikte . De oplossing is om de CR3-reload-optimalisatie voor de LWP- & gt; LWP (zelfde proc) switchcase uit te schakelen.
- Een HAMMER-bug repareren die ertoe kan leiden dat een DATA CRC-fout niet correct wordt gerapporteerd.
- Fix een double-write geactiveerd door de manier waarop HAMMER cluster_write () gebruikt. Dit verbetert de schrijfprestaties van HAMMER aanzienlijk.
- Talrijke andere opruimacties en reparaties van HAMMER zijn ook binnengekomen.
- Bevestig een harde vergrendeling die kan optreden in getpbuf * () vanwege een verkeerde interpretatie van de geretourneerde waarde van een atomic op.
- Herstel een stacking-interrupt die kan optreden in een 10-instructiesvenster, mogelijk (maar niet in de natuur aangetroffen) waarop de kernel-stack wordt uitgevoerd.
- Verlaag pmap-gerelateerde IPI's in de helft voor bepaalde buffer-cache-bewerkingen door niet de moeite te doen de TLB ongeldig te maken, en aan de andere kant altijd de TLB ongeldig te maken bij het invoeren van een nieuwe PTE, zelfs als de vorige inhoud ongeldig was. Dit verbetert de prestaties en vereenvoudigt ook het debuggen door een problematische optimalisatie te verwijderen.
- Een aantal moeilijk te activeren SMP-races repareren, met name een die gerelateerd is aan het gelijktijdig uitvoeren van verschillende mount-punten die de bulksamenstelling zou kunnen activeren. Maak ook een mountctl vs umount race.
- Verminder het aantal atomaire operaties in het schakelpad.
- Herstel een namecache-race / paniek die zich zou kunnen voordoen onder extreme belastingen in combinatie met veel mount / umount-activiteit.
- Beperk% rip-sampling tot root.
- Repareer een getpid () -probleem in vfork () wanneer u een thread gebruikt. Concurrent vfork () s in een threaded programma kan er bijvoorbeeld voor zorgen dat de verkeerde PID wordt geretourneerd door getpid () in het kind voorafgaand aan de exec.
- Herstel een zeldzame tsleep / callout-race wanneer de callout-timer start voordat de tsleep () helemaal klaar is met het instellen.
- Berichtspaties voor namecache opschonen op de console. Vermeld in het bijzonder de juiste verstreken tijd en de td_comm van de betreffende thread.
- Verlaag verder geheugentests en vroeg opstarten van de boot om de opstarttijden te verbeteren op systemen met grote hoeveelheden ram.
- Verwijder de idle page-zeroing code volledig. Nulstellen van een pagina op een moderne cpu-on-demand is om vele redenen beter, en kan zelfs sneller zijn in combinatie met de consument die toegang heeft tot gegevens op de pagina vanwege cache-effecten. Verwijder PG_ZERO, omdat het niet langer nodig is. Als u PG_ZERO verwijdert, wordt de kernel ook meer debuggabel door een andere mogelijke bron van kruisbesmetting te verwijderen.
- Refactor en voltooi de implementatie van CPU-lokalisatie voor kernelgeheugentoewijzingen. Combineer met NUMA-bewustzijn. Dit werkt voor cpu-gelokaliseerde of kort levende kerneldatastructuren. De twee zijn samen gecombineerd in onze PQ_L2_SIZE-abstractie die de VM-paginakleuringcode was. Deze code verwerkt nu ook CPU-lokalisatie en NUMA-voorlichting.
- Veel vkernel-problemen oplossen en de prestaties van vkernel aanzienlijk verbeteren.
- Werk kern.proc.pathname bij, een sysctl gebruikt door programma's om het pad van het actieve programma te vinden. Dit sysctl is oorspronkelijk geïmplementeerd voordat we voldoende gegevens hebben opgeslagen om een volledig, juist pad te retourneren.
- Synchroniseer ACPICA van Intel (dit is een normaal verschijnsel).
- Fix de ABI van memcpy () assembly. De assembly retourneerde het oorspronkelijke (dst) argument niet. Lost geen bekende problemen op, maar sluit een gat wanneer GCC soms besluit memcpy te bellen tijdens het genereren van code.
- Veel commits om op te ruimen -O2 waarschuwingen en fouten. De kernel is nu standaard -O2 gecompileerd.
- Voeg een tijdelijke oplossing toe voor een onjuiste opbrengst in het ACPI-pad (ook ACPI-code met fouten).
- Bepaal een STOP / CONT-race die op het verkeerde moment zou kunnen worden geactiveerd door een signaal in afwachting.
- Coredump-correcties met schroefdraad en een lockup gerelateerd aan hetzelfde wanneer meerdere threads van dezelfde proces-seg-fault tegelijkertijd optreden.
- Herstel een CAM / VM-deadlock die zou kunnen optreden als gevolg van een fout in uiomove_nofault (). Dit kan een 'onbepaalde wachtbuffer' veroorzaken tijdens zwaar paging / swappen.
- Voeg code toe om verloren IPI's te detecteren en af te handelen. Dit is vooral voor vkernels waar sommige virtuele hosts IPI's kunnen verliezen. Het is niet de bedoeling dat echte CPU's IPI's verliezen.
- Verschillende oplossingen voor clock_gettime ().
- Meer overblijfselen van de MPLOCK verwijderen. Alle kritieke paden zijn al lang geleden gedesinvesteerd uit dit slot, maar er zijn nog steeds een paar niet-kritieke plaatsen over die het gebruiken.
- Herwerk de moordende code met weinig geheugen en repareer een aantal races die kunnen voorkomen dat de functie werkt.
- Een systeemvergrendeling met VMM oplossen en de VMX-code refactiveren.
- Fix deadlock wanneer numnnodes maxvnodes bereiken, wat kan optreden bij zware belasting. Herstel ook een kleine kernelgeheugenlek wanneer 'df' of bestandssysteemsynchronisatie een umount uitvoert. Verminder ook de maxvnodes-berekening bescheiden. Een machine met 8 GB RAM zal nu maxvnodes instellen op 478483 in plaats van 598103.
- Verhelp een zeldzame paniek die kan worden getriggerd door vm_object_page_remove () wanneer user_yield () onjuist wordt aangeroepen terwijl je een spinlock vasthoudt en vervolgens besluit om te schikken.
- Beperk de grootte van sommige dynamisch toegewezen kernelstructuren. In het bijzonder zijn overmatig bemeten haspeltabeltoewijzingen nu kleiner. Heeft voornamelijk invloed op UFS (DragonFlyBSD gebruikt niet veel).
- Tijdelijke oplossing toevoegen voor AMD erratum 793.
- Een deadlock repareren die kan optreden in gestapelde cluster _ * () I / O-aanroepen.
- Een bug repareren waarbij het laden van recursieve modules kon vastlopen.
- Los een dwaze bug op in de NFS sillyrename-code (server-side NFS) die ertoe kan leiden dat de sillyrename-code van de NFS-server het domme hernoemde bestand nooit zal verwijderen. Hoe dom!
- Voer een betere taak uit voor high-ncpu + low-memory-configuraties.
- Refactor gedeelde spinlocks om de hoeveelheid spinning te verminderen die kan optreden wanneer meerdere cpu's tegelijkertijd een gedeelde spinlock verwerven.
- Voer de namecache-bewerkingen opnieuw in om de SMP-conflicten nog verder te verminderen. Dit verbetert gelijktijdige niet-conflicterende prestaties van één component met ten minste 25x op systemen met veel kernen, en verlaagt vnode- en mount-structuurref- en unref-bewerkingen aanzienlijk.
- Voer een groot aantal andere kernelstructuren grondig uit om de cachelocaliteit te verbeteren en de cache-lijn te verminderen.
- Repareer een fout in de bestandsnaam van de SMBFS-bestandsnaam.
- Implementeer RLIMIT_RSS, een RSS-limiter per proces die gelokaliseerde semafonie per proces zal afdwingen. Deze functie kan worden gebruikt om te voorkomen dat één proces de rest van de machine verandert in een harde case.
- Verhoog de maximale ondersteunde swapruimte. Het maximum wordt nu voornamelijk beperkt door ram en zal in de tientallen terabytes zijn (als je genoeg ram hebt voor de ondersteunende managementstructuren). Verhoog ook de KVM van de kernel van 128G naar 511G.
- Dynamische pmap-verwijdering implementeren (standaard uitgeschakeld). Hiermee wordt de pmap-code geleid om tussentafelpagina's en PD's van de pmap on the fly te verwijderen. Het kan handig zijn als geheugen een premie heeft, maar houd er rekening mee dat het, indien ingeschakeld, de uitvoering van programma's die geheugen toewijzen en de toewijzing van geheugen op een hoog tempo vertragen.
- Refactoren hoe gebruikers 'mooie' niveaus werken, waardoor de geselecteerde mooie waarden significanter zijn dan vroeger.
- Voeg een native NVME-stuurprogramma met hoge prestaties toe aan DragonFly, geschreven door Matt Dillon. Dit stuurprogramma gebruikt MSI-X-vectoren en alle beschikbare wachtrijen die door het apparaat worden ondersteund, per-cpu-lokalisatie zonder vergrendeling of minimale vergrendeling (in de meeste gevallen geen SMP-conflicten) en is in staat tot gestoorde IOPS en doorvoer.
- Graphics:
- Stabiliseert Broadwell en Skylake, brengt ons op de Linux 4.6 equivalente DRM.
- Implementeer de Linux i2c API om het porten eenvoudiger te maken.
- Een paar oude bugs verhelpen, waaronder een omkering van de vergrendelingsvolgorde, waardoor het afspelen van video's (en de rest van X) kan afremmen.
- Een fout in de kerneldrm-threadprioriteit oplossen waardoor gebruikersprocessen een hogere prioriteit hadden dan de drm-helper-thread. Dit lost de meest tijdelijke video-standen op die in browsers zijn gerapporteerd.
- Omgaan met EFI framebuffer die in DRM gaat, syscons VT switching verbetert en een gerelateerde deadlock repareert. Zorg er ook voor dat de kernel probeert terug te schakelen naar de console VT van X wanneer er een paniek optreedt.
- Netwerken:
- Veel verbeteringen over de hele linie.
- iwm: hiermee verhelpt u een probleem veroorzaakt door omgekeerde logica. Talloze andere verbeteringen die de prestaties aanzienlijk verbeteren.
- wlan - Ondersteuning voor asynchrone BG-scan en andere functies toegevoegd.
- Andere stuurprogramma's:
- nvme - Toegevoegd aan standaard kernel-build, plus fixes en prestatieverbeteringen.
- mmcsd - Significante eMMC-ondersteuning toegevoegd aan DragonFly.
- ahci - Enkele compatibiliteitsaanpassingen en meer eigenaardigheden toegevoegd om gebroken chipsets te ondersteunen, in het bijzonder port-multipliers. Implementeer ook FBS (FIS-Based-Switching) wanneer dit door de chipset wordt ondersteund.
- Trackpoint- en Elantech-ondersteuning toegevoegd.
- Userland:
- systat enhanced om meerdere interrupts samen te voegen die bij dezelfde driver horen, omdat er vaak te veel zijn om nu te vermelden.
- systat -vm 1 aanzienlijk verbeterd en vernieuwd om nuttigere informatie te rapporteren en om velden uit te pakken, zodat ze elkaar niet tegenkomen. En voeg 'nvme' toe aan de match van het blokapparaat. Pas ook de uitgebreide vmstats-weergave aan en wijzig hoe ozfod en nzfod worden gerapporteerd.
- 'vmstat 1' output gerefactored. Alle velden liepen tegen elkaar aan vanwege de hoge prestaties van een moderne machine-versie die al 30 jaar bestaat.
- Verander mount / mountd signalering om onnodige mountlist-scans en -opdrachten van mount_null en mount_tmpfs te verminderen. Het maakt alleen echt uit onder zwaar gelijktijdig gebruik van mount / umount, maar de bulk-build creëert die situatie feitelijk.
- Los vele fork / exec * () lekken op die libc kan activeren vanwege het niet atomair gebruiken van O_CLOEXEC. Voeg verschillende O_CLOEXEC-functies toe aan functies zoals popen () en mk * stemp * () (mkostemp () en mkostemps () toevoegen. Repareer een bestandsdescriptorlek in popen () bij het uitvoeren van een threadomgeving.
- Beter zijn voor pthreads in vfork () door het lep van het nieuwe subproces dezelfde TID te geven als degene die vfork () heeft aangeroepen. Hiermee kunnen pthread-ondersteuningsfuncties worden uitgevoerd in het kind tijdens de uitvoering zonder dat er pthreads worden geïmplementeerd.
- Veel compatibiliteitsoplossingen voor kopteksten om bulkupdates in dp te verbeteren.
- Verschillende importen van OpenSSL voor beveiligingsoplossingen
- Synchroniseer OpenSSH om het gemakkelijker te maken om het up to date te houden.
- Verwijder de kernel C-vlaggen door de kernel te laten bouwen met KCFLAGS in plaats van CFLAGS.
- Verwijder meerdere oude ISA-stuurprogramma's volledig uit de structuur. Omdat DragonFlyBSD nu alleen 64-bits is, kunnen we beginnen met het verwijderen van oude stuurprogramma's die niet bestaan op 64-bits platforms.
- Introduceer WORLD_CFLAGS en WORLD_CCOPTLEVEL, standaard in op -O. Dit maakt het eenvoudiger om je wereld -O2 of wat dan ook te compileren (bijvoorbeeld WORLD_CCOPTLEVEL = 2). We raden echter het gebruik van 3 of hoger af. Geldige waarden zijn 0, 1, 2, 3, s, g en 'snel'.
- Pas STATUS-opmaak aan voor ps om het leesbaarder te maken en verwijder oude vlaggen die niet meer van toepassing zijn en maak gewoon rommel.
- Fixeer malloc () voor kleine toewijzingen. De minimale uitlijning is nu 16 voor toewijzingen in het bereik van 16-128 bytes in plaats van 8. Merk op dat macht-van-2 toewijzingen altijd op natuurlijke wijze zijn uitgelijnd, maar sommige programma's gebruiken veelvouden van (bijv.) 16, zoals '48', en veronderstel 16-byte uitlijning.
- Fortunes gerefactored, toegevoegd.
- powerd - Voeg temperatuurgebaseerd beheer toe aan powerd met een nieuwe -H lotemp: hightemp-optie. Deze functie is bijzonder handig op laptops met slechte koeling en wanneer BIOSes opzettelijk gas geven bij een te hoge temperatuur. Powerd detecteert nu ook stroomstatusveranderingen (die de lijst met beschikbare frequenties kunnen wijzigen) en schakelt de service op de juiste manier over wanneer zich een verandering van de energiestatus voordoet.
- Veel libthread_xu / pthreads-fixes en aanpassingen om de compatibiliteit met dpls te verbeteren.
- Voeg copy-on-write-functies toe aan de vkernel. Bijvoorbeeld, staat meerdere vkernels toe om een enkele schijfafbeelding te gebruiken door elke COW-modificatie intern in te rammen.
- / usr / src / veilig opnieuw bedraad, conflicten verwijderd uit libmd, libcrypt.
- Verschillende hulpmiddelen zijn bijgewerkt in het basissysteem:
- Compiler bijgewerkt naar GCC 5.4.1.
- We hebben nu een gouden linker met LTO.
- binutils 2,25
- minder 481.
- OpenSSL / LibRESSL volledig vernieuwd. Base gebruikt nu libressl.
- Meerdere tijdzone-updates.
- Hammer-status:
- Diverse verbeteringen. Een ding dat de release niet gehaald had, was een versiegroep om een sneller CRC-algoritme met een andere polynoom te gebruiken. Dit werk zal door MFC worden vrijgegeven zodra het testen is voltooid. Gebruikers moeten zich echter niet te veel zorgen maken omdat de meest ernstige prestatie-oplossing IS in de release is (een correctie voor de cluster_write () code voor het schrijven van bestandssystemen).
- Hammer2-status:
- Ontwikkeling gaat door maar nog geen woord over een eerste release.
- Clang-status:
- Een startraamwerk is toegevoegd voor het gebruik van clang als de alternatieve base-compiler in DragonFly, ter vervanging van gcc 4.7. Het is nog niet voltooid. Clang kan natuurlijk als een pakket worden toegevoegd.
- 64-bit status:
- Merk op dat DragonFly vanaf 64 een 64-bits besturingssysteem is en niet op 32-bits hardware kan draaien.
- AMD Ryzen-ondersteuning is in de release en verder werk zal worden ingebracht wanneer er nieuwe Ryzen-ontwikkelingen plaatsvinden. Er zijn enkele cpu-reports-topology-problemen die zullen worden opgelost en MFC'd. Er zijn momenteel enkele stabiliteitsproblemen die wachten op een AMD-microcode-update om te verhelpen / opnieuw testen. Ryzen-gebruikers kunnen er zeker van zijn dat we er bovenop blijven!
Wat is nieuw in versie 4.6.0:
- mmcsd (4): typfout in disk_create () args. Geeft toegang tot & gt; 1 SD- / MMC-kaart.
- Voeg unzip toe (1). Als je ze niet kunt verslaan, word dan lid van hen
- Herstel het vermogen van de hoofdwereld om versie 4.4 te bouwen
- buildworld - Allow-release wordt gebouwd op master
- etc / rc.d - schijfloze aanpassingen
- kernel - Ondersteuning van kqueue toevoegen aan NFS (firefox-problemen met nfs oplossen)
- Importeer OpenSSL 1.0.1s.
- Lokale aanpassingen voor OpenSSL 1.0.1s.
- Synchronisatie zoneinfo-database met tzdata2016b vanaf ftp://ftp.iana.org/tz/releases
- zic (8) / zdump (8): waarschuw niet voor afkortingen zoals '-05'.
- zic (8): verwijder een 'register' dat binnenkwam bij de laatste commit.
- kernel / acpi_timer: voeg een ontbrekende cpu_enable_intr () toe na de timer-test.
- em.4: vermeld i219-ondersteuning.
- ig_hal / em / emx: ondersteuning I219 (Skylake) toevoegen
- sys / vfs / hammer: Bug verhelpen bij het wissen van de volumekop
- sbin / hammer: geen toegang tot meer dan 16 KB HAMMER-gebruikersbuffer
- sbin / hammer: voeg een verduisteringsoptie toe aan hammer show
- sys / vfs / hammer: Tijdelijke oplossing voor kernelpanic op volume-del
Wat is nieuw in versie 4.4.3 / 4.6.0 RC2:
- mmcsd (4): typfout in disk_create () args. Geeft toegang tot & gt; 1 SD- / MMC-kaart.
- Voeg unzip toe (1). Als je ze niet kunt verslaan, word dan lid van hen
- Herstel het vermogen van de hoofdwereld om versie 4.4 te bouwen
- buildworld - Allow-release wordt gebouwd op master
- etc / rc.d - schijfloze aanpassingen
- kernel - Ondersteuning van kqueue toevoegen aan NFS (firefox-problemen met nfs oplossen)
- Importeer OpenSSL 1.0.1s.
- Lokale aanpassingen voor OpenSSL 1.0.1s.
- Synchronisatie zoneinfo-database met tzdata2016b vanaf ftp://ftp.iana.org/tz/releases
- zic (8) / zdump (8): waarschuw niet voor afkortingen zoals '-05'.
- zic (8): verwijder een 'register' dat binnenkwam bij de laatste commit.
- kernel / acpi_timer: voeg een ontbrekende cpu_enable_intr () toe na de timer-test.
- em.4: vermeld i219-ondersteuning.
- ig_hal / em / emx: ondersteuning I219 (Skylake) toevoegen
- sys / vfs / hammer: Bug verhelpen bij het wissen van de volumekop
- sbin / hammer: geen toegang tot meer dan 16 KB HAMMER-gebruikersbuffer
- sbin / hammer: voeg een verduisteringsoptie toe aan hammer show
- sys / vfs / hammer: Tijdelijke oplossing voor kernelpanic op volume-del
Wat is nieuw in versie 4.4.3:
- mmcsd (4): typfout in disk_create () args. Geeft toegang tot & gt; 1 SD- / MMC-kaart.
- Voeg unzip toe (1). Als je ze niet kunt verslaan, word dan lid van hen
- Herstel het vermogen van de hoofdwereld om versie 4.4 te bouwen
- buildworld - Allow-release wordt gebouwd op master
- etc / rc.d - schijfloze aanpassingen
- kernel - Ondersteuning van kqueue toevoegen aan NFS (firefox-problemen met nfs oplossen)
- Importeer OpenSSL 1.0.1s.
- Lokale aanpassingen voor OpenSSL 1.0.1s.
- Synchronisatie zoneinfo-database met tzdata2016b vanaf ftp://ftp.iana.org/tz/releases
- zic (8) / zdump (8): waarschuw niet voor afkortingen zoals '-05'.
- zic (8): verwijder een 'register' dat binnenkwam bij de laatste commit.
- kernel / acpi_timer: voeg een ontbrekende cpu_enable_intr () toe na de timer-test.
- em.4: vermeld i219-ondersteuning.
- ig_hal / em / emx: ondersteuning I219 (Skylake) toevoegen
- sys / vfs / hammer: Bug verhelpen bij het wissen van de volumekop
- sbin / hammer: geen toegang tot meer dan 16 KB HAMMER-gebruikersbuffer
- sbin / hammer: voeg een verduisteringsoptie toe aan hammer show
- sys / vfs / hammer: Tijdelijke oplossing voor kernelpanic op volume-del
Wat is nieuw in versie 4.4.2:
- virtio_blk: gebruik contigmalloc / contigfree voor toewijzingen vtblk_request.
- drm / radeon: We hebben het fysieke adres van de dummy-pagina nodig, niet het virtuele
- if_iwm: Pas een aantal wijzigingen toe vanuit OpenBSD, if_iwm.c rev 1.39 - & gt; 1.42
- if_iwm: sla de structfirmware-aanwijzer op, zoals if_iwn.
- if_iwm: verwijder opmerkingen die verwijzen naar Linux iwlwifi bronbestandsnamen.
- if_iwm: fixeer IEEE80211_ADDR_COPY () gebruik.
- if_iwm: repareer de instellingscode van de snelheidscontrole.
- etc / rc.d: Update rtsold
- i915 - Vertraging na toevoegen toevoegen om console / X-races te vermijden
- kernel - Verminder lwp_signotify () latentie
- devfs - Herstel paniek op extra devfs mounts wanneer regels aanwezig zijn
- ssh - Verwijder ongedocumenteerde roaming-ondersteuning CVE-2016-0777 CVE-2016-0778
- kernel - voeg eigenaardigheden toe voor xhci (usb)
- hamer - verwijder debugging kprintf
- libc / stdtime: herstel twee gevallen waarbij een NULL-aanwijzer vrij had kunnen zijn () 'd.
- kernel / vga: verwijder verkeerde lwkt_reltoken (). Het wordt op dit moment niet afgenomen.
- libc / nls: Sync str {error, signal} () berichten met.
- w (1): inet_addr () levert INADDR_NONE op bij een fout.
- ee (1): fixeer een niet-geïnitialiseerde variabele.
- kernel: Corrigeer de kern.dumpdev sysctl.
- Importeer OpenSSL 1.0.1r.
- Lokale aanpassingen voor OpenSSL 1.0.1r.
- gcc50 / libconv_supc: cp-demangle.c heeft HAVE_CONFIG_H nodig.
- Synchronisatie zoneinfo-database met tzdata2016a vanaf ftp://ftp.iana.org/tz/releases
- upgrade uitvoeren: voeg een verouderde tijdzone toe.
- igb: DMACR-instellingen herstellen
- ifconfig: Inet6-adres verwijderen
Wat is nieuw in versie 4.4.1:
- Kernel:
- Verbeterde CPU energiebesparing instellingen
- Verminderde bestandsallocatie / gratis conflicten
- Kqueue-conflict verminderen
- Lwp_setname (2) systeemaanroep geïmplementeerd
- Vaste dsp (4) niet-blokkerende bedieningsondersteuning
- Voeg aperf (4) -stuurprogramma toe om effectieve CPU-frequentie weer te geven
- Talrijke opruimacties en oplossingen voor HAMMER
- ACSICA synchroniseren met 20151124
- Meestal klaar met het verwijderen van i386 (32-bits) bits
- Pas de opstartladerhoop aan om grotere MD-afbeeldingen te verwerken
- Opschonen doorgeven dode kernelcode doorgeven (syslink blijft, enzovoort)
- dsched verwijderd (problemen met bugs en werkt niet goed met SSD's)
- Hercodeer pager-algoritmen voor pkill met weinig geheugen en onvoldoende geheugen
- Graphics:
- stuurprogramma's voor drm / i915 en drm / radeon komen nu overeen met Linux-kernel 3.18
- i915 ondersteunt ValleyView / Baytrail en Cherryview Atom SOCs
- Broadwell GPU's zijn nu volledig versneld
- Voorbereidende werkzaamheden voor Skylake-ondersteuning
- De systeemconsole ondersteunt nu standaard drm-afbeeldingen; virtuele terminals laten niet alleen een zwart scherm meer zien als Xorg is gestart en een van de kms-kernelmodules is geladen.
- Verbeterd energiebeheer. Panel Self Refresh beschikbaar op i915-hardware
- Temperatuursensoren nu ondersteund op Radeon-hardware
- Netwerken:
- Realtek 8168H-ondersteuning in re (4)
- iwm (4) stuurprogramma toegevoegd
- rtadvd bijgewerkt, rtadvctl toegevoegd
- Asynchrone UDP-verbindingen, voor het afhandelen van veel grotere belasting
- Nieuw groter TCP-startvenster, voor verbindingen met hoge latentie
- Kernel nmbcluster-waarden zijn live instelbaar, voor extreem verkeer Netwerken:
- UNIX-domeinsocket stabiliseren
- Nieuwe GC-code voor fd-passing over unix domain-sockets
- Diverse IPv6-synchronisatie met FreeBSD
- Verbeterde socket (2) prestaties voor TCP en UDP
- Verbeterde TCP-verbinding (2) lokale poortselectie
- Toegevoegd accept (4) systeemaanroep
- Ondersteuning toegevoegd voor de vlaggen SOCK_CLOEXEC en SOCK_NONBLOCK socket (2) en accept4 (2)
- Maak HW flow control-functies beschikbaar voor ifconfig
- Voeg tunables toe zodat NFSROOT iosize en readahead kunnen worden ingesteld
- Breng uitgebreide ipfw van FreeBSD binnen (genaamd ipfw3 in DFly)
- Andere stuurprogramma's:
- MIDI-ondersteuning is aangepast
- Veel bugfixes voor de apparaatmap
- dm-delay en dm-flakey zijn toegevoegd aan de mapper van het apparaat
- USB-modems werken beter (of paniek de kernel niet)
- Verbeterde toegang tot ram ECC-functies en status
- wlan bijgewerkt van FreeBSD (net vóór de verwijdering van het gedeelde apparaat)
- Userland:
- de regex-bibliotheek is vervangen door de multi-byte en over het algemeen veel beter in staat zijnde TRE-regexbibliotheek. Het komt overeen met OSX in functies. (DF is de eerste BSD die na MacOS naar TRE verhuist)
- libm vervangen door OpenBSD-versie (dit is een collaborative work in progress)
- libc is nu voorzien van symboolversiebeheer waarmee binaire bestanden die in Release 4.4 zijn gemaakt, jarenlang in de toekomst op DragonFly kunnen worden uitgevoerd.
- Volledige revisie en update van locales, inclusief de implementatie van collatie.
- malloc.h verwijderd (DragonFly is de eerste BSD die deze koptekst verwijdert)
- gcc50 libstdc ++ aangepast om volledig gebruik van C99-functies op clang mogelijk te maken
- Als gevolg van de lokale update, is de uitvoer van ls (1) lange indeling en -T-indeling gewijzigd wanneer benoemde landinstellingen in gebruik zijn. Met name de maanden met het lange formaat worden altijd afgekort in het Engels (met de POSIX-definities dus gegarandeerd snel en drie letters breed) en de jaar-, uur- en seconde-informatie wordt altijd weergegeven. Onder de C / POSIX-locale is er geen verandering in de uitvoer van ls (1), behalve dat toekomstige verwerking van tijdstempels is gecorrigeerd om te voldoen aan de POSIX-standaardvereisten.
- Als WPA Supplicant from base wordt gebruikt, treedt er een vertraging van 10 seconden op tijdens het opstarten, omdat een bericht wordt weergegeven dat sterk wordt aanbevolen om de DPorts-versie (security / wpa_supplicant) te gebruiken.
- Verbeterd vermogen (8)
- Verbeterde top (1) en ps (1) uitvoer voor LWP's en kerneldraden
- De ondersteuning voor pthread_set_name_np (3) opgelost
- Gepaarde tcpdrop (8)
- Toevoeging van veel nieuwe landinstellingen, waaronder zes Arabische locaties (Verenigde Arabische Emiraten, Saudi-Arabië, Egypte, Jordanië, Marokko, Qatar), extra Spaanse locaties (Mexico, Argentinië, Costa Rica), aanvullende Engelse locaties (Filipijnen, Singapore, Hong Kong) , gecorrigeerde Noorse locaties (alleen nb en nn), uitgebreid Zweeds (Finland), Sami (Finland, Noorwegen), Servisch gepresenteerd in zowel Cyrillische als Latijnse vormen nu. ('locale -a' biedt een volledige lijst.)
- rtadvc geïmporteerd uit FreeBSD
- Verschillende hulpmiddelen zijn bijgewerkt in het basissysteem:
- nvi2 bijgewerkt naar versie 2.1.3
- libexecinfo toegevoegd (gesynchroniseerd vanuit FreeBSD)
- iconv gesynchroniseerd met FreeBSD
- openssl bijgewerkt naar 1.0.1q
- xz bijgewerkt naar 5.2.2
- libedit bijgewerkt tot versie 2015-03-25
- binutils geüpdatet naar 2.25.1
- grep bijgewerkt tot 2.22
- tcsh bijgewerkt tot 6.19.00
- libdialog bijgewerkt tot v1.2-20150920
- (tn) ftp bijgewerkt tot '10 OKT 2015 '
- gcc bijgewerkt tot 5.2
- acpica bijgewerkt naar 20150717
- sort (1), afkomstig van NetBSD, is vervangen door FreeBSD-versie
- localedef (1), interne tool met oorsprong op Illumos
- cldr2def, interne tool met oorsprong in verlaten FreeBSD-project, maar uitgebreid voor DF
- Verwijderd uit het basissysteem:
- hostapd (laatste versie beschikbaar via dports: net / hostapd)
- mklocale (vervangen door localedef)
- colldef (vervangen door localedef)
- HAMMER-verbeteringen:
- Veel, veel opruimacties en oplossingen voor Hammer1, dankzij Tomohiro Kusumi
- Andere verbeteringen:
- DPorts tellen rond de 22.800 poorten. Veel eerder afgebroken poorten zijn door vaste gebruikers gerepareerd vanwege bijdragen die zijn aangeboden via het Pull Request-mechanisme van GitHub. (Met dank!)
- Zes "officiële" sets van DragonFly-wallpaper zijn beschikbaar bij x11-themes / dragonfly-wallpapers (pkg install dragonfly-wallpapers). Deze worden automatisch geïnstalleerd en voorgeselecteerd voor KDE-gebruikers en automatisch geïnstalleerd voor XFCE4-gebruikers, maar de achtergronden moeten nog steeds handmatig worden geselecteerd op dat bureaublad (in ieder geval voorlopig). Ze worden geïnstalleerd op share / wallpapers die symbolisch is om te delen / achtergronden / libelle.
Reacties niet gevonden