DragonFly BSD

Logiciel capture d'écran:
DragonFly BSD
Détails logiciels:
Version: 5.2.2 Mise à jour
Date de transfert: 22 Jun 18
Développeur: The DragonFly Team
Licence: Gratuit
Popularité: 50

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD est un système d'exploitation BSD open source conçu pour être la suite logique de la série d'OS FreeBSD-4.x. Il est très similaire à d'autres distributions basées sur BSD, telles que FreeBSD, NetBSD ou OpenBSD. C'est une fourchette dans le chemin, pour ainsi dire, donnant à la base BSD une opportunité de grandir dans une toute nouvelle direction à partir de celle prise dans la série FreeBSD-5. En plus de cela, il comprend un ensemble unique de fonctionnalités qui le différencient des autres systèmes d'exploitation similaires.


HAMMER est l'attraction principale

HAMMER est l'attraction principale de DragonFly, un système de fichiers moderne et performant qui offre des fonctionnalités d'accès historiques et une fonction de mise en miroir intégrée. Le noyau est aussi l'une des raisons pour lesquelles DragonFly est une meilleure distribution BSD.

Offre deux ordonnanceurs différents pour le noyau

Le noyau de DragonFly comprend deux ordonnanceurs différents, un qui planifie toutes les entités exécutables (Lightweight Kernel Thread) et un autre qui sélectionne un seul thread utilisateur à la fois pour chaque processeur et extrait les threads utilisateur (User Thread Scheduler). De plus, le noyau dispose d'un allocateur de mémoire noyau complexe composé d'un allocateur de mémoire orienté objet et d'un noyau malloc appelé kmalloc (), le système de fichiers du périphérique DragonFly (DEVFS), un noyau virtuel (VKERNEL), une asynchronisation RPC NFS V3 et un structure de planificateur d'E / S de disque (dsched).


Caractéristiques, beaucoup de fonctionnalités

Parmi les autres fonctionnalités intéressantes, citons le NULLFS (NULL Filesystem Layer) qui supporte les points de montage arbitraires sans boucle, TMPFS (Temporary Filesystem VFS), le chiffrement de disque transparent, le support SSD (Solid Storage Device), la variante (contexte -sensitive), DNTPD (DragonFly Network Time Daemon) et DMA (DragonFly Mail Agent). En outre, les utilisateurs seront en mesure de vérifier ou de suspendre les processus sur le disque à tout moment. La distribution fournit de puissants pilotes AHCI, des noms de périphériques stables, ainsi qu'une gestion de cryptage et de volume bien établie.

Ligne de fond

Dans l'ensemble, DragonFly s'avère être un système d'exploitation UNIX moderne, convivial et très accessible. Il peut être utilisé quotidiennement comme système de bureau ou comme serveur BSD puissant.

Quoi de neuf dans cette version:

  • La version 5.2.1 de DragonFly a été publiée, avec une atténuation Meltdown / Spectre, de nombreuses améliorations à HAMMER2, ipfw, et vidéo accélérée, plus (dans la mise à jour 5.2.1) correctif pour CVE-2018-8897.

Quoi de neuf dans la version:

  • Christian Groessler (1):
  • telnetd: affiche les informations système (système d'exploitation et architecture) avant l'invite de connexion.
  • Matthew Dillon (7):
  • hammer2 - Correction de la division par 0 course
  • kernel - le MFC sélectif du noyau umtx fonctionne depuis le maître
  • kernel - Mise à jour de la documentation umtx
  • libc et pthreads - Correction des problèmes d'atfork avec nmalloc, mise à jour dmalloc
  • hammer2 - Correction de la renommée du jeu
  • hammer2 - optimise hammer2_pfs_memory_wakeup ()
  • hammer2 - Corrige les chaînes sales indéfinies en raison de leur renommer
  • Sascha Wildner (5):
  • hammer2.8: Correction d'une faute de frappe.
  • Dites 'marteau2' au lieu de 'marteau' à divers endroits.
  • mtree: Fixe le propriétaire de plusieurs répertoires dans / usr / share.
  • libc / nls: Utilise les paramètres régionaux actuels (définis par thread).
  • libarchive: Rétablir la validation qui n'était pas destinée à être poussée.

Nouveautés dans la version 4.8.1:

  • Noyau:
  • Refactorisez le code de cache du tampon pour supprimer les réservations KVA dynamiques. Au lieu de cela, tous les KVA sont réservés au démarrage. Cela nous évite des IPI inutiles et permet une simplification significative du code du cache tampon.
  • Ajoutez vfs.repurpose_enable (en cours de test, désactivé par défaut). Cette fonctionnalité peut être activée pour réduire de manière significative la charge de gestion IPI et VM sur une machine qui effectue d'énormes quantités d'E / S de fichiers, par exemple à partir d'un SSD NVMe, en contournant le mécanisme de recyclage de page VM normal. Lorsqu'elle est activée, la fonctionnalité ne se déclenche que lorsque les charges d'E / S sont élevées. Cela fonctionne en réutilisant les pages VM sous-jacentes à un tampon sur place (si possible) afin de ne pas avoir à kremove / kenter les pages dans le KVA du tampon. Le recyclage normal de la page VM (qui serait sinon submergé par la charge d'E / S) est également ignoré.
  • Modifier la façon dont l'IPIQ est traité, en particulier créer un mécanisme de vecteur Xinterrupt indépendant pour les invalidations de page qui ignorent (fonctionneront) même si une section critique est tenue. Implémenter machdep.optimized_invltlb (désactivé par défaut, sous test) ce qui évite d'envoyer des IPI d'invalidation tlb à des processeurs inutilisés.
  • Corrige de nombreuses courses qui pourraient se produire sous des charges extrêmes. La plupart des cas d'utilisation ne déclencheraient jamais ces cas mais nos boîtes de construction le faisaient occasionnellement. Par exemple, il y avait une course à deux instructions où le bit cpu pour un pmap serait effacé (pour deux instructions) et provoquer un IPI TLB se produisant en même temps sur un autre cpu pour le même pmap de ne pas réaliser que cpu utilisait le pmap . Le correctif consiste à désactiver l'optimisation de rechargement CR3 pour le cas de commutateur LWP- & gt; LWP (même proc).
  • Correction d'un bug HAMMER qui pourrait entraîner une erreur de DATA CRC incorrectement signalé.
  • Correction d'une double écriture déclenchée par la façon dont HAMMER utilise cluster_write (). Cela améliore considérablement les performances d'écriture de HAMMER.
  • De nombreux autres nettoyages et corrections de HAMMER sont également intervenus.
  • Correction d'un verrou dur qui pourrait se produire dans getpbuf * () en raison d'une mauvaise interprétation de la valeur de retour d'une op. atomique
  • Corrige une interruption d'empilement qui peut se produire dans une fenêtre de 10 instructions, potentiellement (mais non trouvée dans la nature) exécutant la pile du noyau.
  • Coupez les IPI liés à pmap de moitié pour certaines opérations de cache-cache en ne dérangeant pas d'invalider le TLB, et en retournant toujours le TLB lorsque vous entrez un nouveau PTE même si le contenu antérieur était invalide. Cela améliore les performances et facilite également le débogage en supprimant une optimisation problématique.
  • Correction d'un certain nombre de races SMP difficiles à déclencher, en particulier une relative à l'exécution simultanée de plusieurs montages de différents points de montage que la construction en masse pourrait déclencher. Réparer également une course mountctl vs umount.
  • Réduisez le nombre d'opérations atomiques dans le chemin du commutateur.
  • Correction d'une course / panique de namecache qui peut se produire sous des charges extrêmes couplées à de nombreuses activités mount / umount.
  • Restreindre l'échantillonnage% rip à la racine.
  • Résout un problème getpid () dans vfork () lorsqu'il est enfilé. En particulier, vfork () simultanés dans un programme threadé peut provoquer le mauvais PID à retourner par getpid () dans l'enfant avant l'exec.
  • Correction d'une course tsleep / légende rare lorsque la minuterie de légende se déclenche avant la fin de la configuration de tsleep ().
  • Nettoyer les messages de décrochage de namecache sur la console. En particulier, signalez le temps écoulé et le td_comm du thread impliqué.
  • Réduisez encore les tests de mémoire et la mise à zéro anticipée pour améliorer les temps de démarrage sur les systèmes avec de grandes quantités de RAM.
  • Supprimez entièrement le code de mise à zéro des pages inactive. La réduction à zéro d'une page sur un processeur moderne à la demande est meilleure pour de nombreuses raisons, et peut même être plus rapide lorsqu'elle est combinée avec le consommateur qui accède aux données de la page, en raison des effets de cache. Supprimez PG_ZERO, car il n'est plus nécessaire. La suppression de PG_ZERO rend également le noyau plus débuggable en supprimant une autre source possible de contamination croisée.
  • Refactoriser et terminer l'implémentation de la localisation du processeur pour les allocations de mémoire du noyau. Combinez avec la conscience de NUMA. Cela fonctionne pour les structures de données de noyau cpu-localisées ou de courte durée. Les deux sont combinés ensemble dans notre abstraction PQ_L2_SIZE qui était le code de coloration de la page VM. Ce code gère désormais également la localisation de l'UC et la reconnaissance NUMA.
  • Correction de nombreux problèmes de vkernel et amélioration significative des performances de vkernel.
  • Mettre à jour kern.proc.pathname, un sysctl utilisé par les programmes pour trouver le chemin du programme en cours d'exécution. Ce sysctl a été implémenté à l'origine avant que nous stockions suffisamment de données pour renvoyer un chemin complet et correct.
  • Synchronisez ACPICA depuis Intel (il s'agit d'une occurrence normale).
  • Correction de l'assembly memcpy () ABI. L'assembly ne retournait pas l'argument d'origine (dst). Ne corrige aucun problème connu mais ferme un trou quand GCC décide parfois d'appeler memcpy tout en générant du code.
  • Beaucoup s'engagent à nettoyer -O2 les avertissements et les erreurs. Le noyau est maintenant compilé -O2 par défaut.
  • Ajoutez une solution de contournement pour un rendement incorrect dans le chemin ACPI (code ACPI buggé).
  • Correction d'une course STOP / CONT qui pouvait être déclenchée par un signal en attente au mauvais moment.
  • Coredump corrigé et corrige un blocage lié à celui-ci lorsque plusieurs threads du même processus seg-fault en même temps.
  • Correction d'un interblocage CAM / VM pouvant survenir à cause d'un bogue dans uiomove_nofault (). Cela pourrait provoquer un «tampon d'attente indéfini» lors d'une pagination / échange intense.
  • Ajoutez du code pour détecter et gérer les IPI perdus. Ceci est principalement pour vkernels où certains hôtes virtuels peuvent perdre des IPI. Les processeurs réels ne sont pas censés perdre des IPI.
  • Diverses corrections apportées à clock_gettime ().
  • Retirez plus de vestiges du MPLOCK. Tous les chemins critiques ont depuis longtemps disparu de ce verrou, mais il reste encore quelques places non critiques qui l'utilisent.
  • Retravaillez le code de suppression de processus en mémoire faible et corrigez un certain nombre de races qui pourraient empêcher la fonctionnalité de fonctionner.
  • Correction d'un blocage du système avec VMM et refactorisation du code VMX.
  • Correction d'un blocage lorsque numvnodes atteint maxvnodes, ce qui peut se produire sous de lourdes charges. Corrigez également une fuite mineure de la mémoire du noyau lorsque 'df' ou la synchronisation du système de fichiers exécute un démon. Réduisez également le calcul de maxvnodes modestement. Par exemple, une machine avec 8 Go de RAM va maintenant définir maxvnodes à 478483 au lieu de 598103.
  • Corrige une panique rare qui peut être déclenchée par vm_object_page_remove () lorsque user_yield () est incorrectement appelé en maintenant un spinlock, puis décide de désarchiver.
  • Réduit la taille de certaines structures de noyau allouées dynamiquement. En particulier, les allocations de table de hachage d'inode de taille excessive sont maintenant plus petites. Principalement affecte UFS (que DragonFlyBSD n'utilise pas beaucoup).
  • Ajout d'une solution de contournement pour AMD erratum 793.
  • Corrige un blocage qui peut se produire dans les appels d'E / S de la pile empilée _ * ().
  • Correction d'un bug où le chargement d'un module récursif pouvait être bloqué.
  • Correction d'un bogue stupide dans le code sillyrename NFS (NFS côté serveur) qui pourrait provoquer le code sillyrename du serveur NFS pour ne jamais supprimer le fichier idiot-renommé. C'est bête!
  • Faites un meilleur travail en prenant en charge les configurations à haute capacité ncpu + basse mémoire.
  • Refactorisez les spinlocks partagés pour réduire la rotation qui peut se produire lorsque plusieurs processeurs acquièrent un spinlock partagé en même temps.
  • Réviser les opérations de namecache pour réduire encore les conflits SMP. Cela améliore les performances mono-composant simultanées et non conflictuelles d'au moins 25 fois sur les systèmes avec plusieurs cœurs, et réduit de manière significative les opérations ref et unref de structure de vnode et mount.
  • Réviser de nombreuses autres structures de noyau pour améliorer la localisation du cache et réduire le rebond de la ligne de cache.
  • Correction d'un bug dans le code de renommer le fichier SMBFS.
  • Implémentez RLIMIT_RSS, un limiteur RSS par processus qui forcera la pagination localisée par processus. Cette fonction peut être utilisée pour empêcher un processus de transformer le reste de la machine en un étui rigide.
  • Augmentez l'espace d'échange maximal pris en charge. Le maximum est maintenant limité principalement par ram et sera dans les dizaines de téraoctets (si vous avez assez de RAM pour les structures de gestion de soutien). Augmentez également le KVM du noyau de 128G à 511G.
  • Implémente la suppression dynamique pmap (désactivée par défaut). Cela dirige le code pmap pour supprimer les pages de table de pages intermédiaires et PD à partir de la pmap à la volée. Cela peut être utile si la mémoire est importante, mais notez que, si elle est activée, elle ralentira l'exécution des programmes qui allouent et libèrent la mémoire à un taux élevé.
  • Refactorisez le fonctionnement des niveaux "gentils" de l'utilisateur, en rendant les bonnes valeurs sélectionnées plus significatives qu'elles ne l'étaient auparavant.
  • Ajoutez un pilote natif NVME haute performance à DragonFly, écrit par Matt Dillon. Ce pilote utilisera les vecteurs MSI-X et toutes les files d'attente disponibles prises en charge par le périphérique, la localisation par PC sans verrouillage ou verrouillage minimal (pas de conflits SMP dans la plupart des cas) et est capable d'IOPS et de débit insensés.
  • Graphiques:
  • Stabilise Broadwell et Skylake, nous amène au DRM équivalent de Linux 4.6.
  • Implémentez l'API Linux i2c pour faciliter le portage.
  • Correction de quelques anciens bogues, y compris une inversion de l'ordre de verrouillage, qui pourrait bloquer la lecture de la vidéo (et le reste de X).
  • Correction d'une erreur de priorité du thread drm du noyau qui permettait aux processus utilisateur d'avoir une priorité plus élevée que le thread d'assistance drm. Cela corrige la plupart des blocages vidéo temporaires signalés sur les navigateurs.
  • Gestion du framebuffer EFI passant en DRM, amélioration de la commutation VT syscons et correction d'un blocage associé. Aussi, le noyau essaie de revenir à la console VT de X en cas de panique.
  • Réseau:
  • De nombreuses améliorations à tous les niveaux.
  • iwm - Résout un problème causé par une logique inversée. De nombreuses autres améliorations améliorent considérablement les performances.
  • wlan - Prise en charge de bg scan asynchrone et d'autres fonctionnalités ajoutées.
  • Autres pilotes:
  • nvme - Ajouté à la compilation par défaut du noyau, ainsi que des correctifs et des améliorations de performances.
  • mmcsd - Important support eMMC ajouté à DragonFly.
  • ahci - Quelques ajustements de compatibilité et plus de bizarreries ajoutées pour supporter les chipsets cassés, en particulier les multiplicateurs de port. Mettez également en œuvre FBS (FIS-Based-Switching) lorsqu'il est pris en charge par le chipset.
  • Support de Trackpoint et Elantech ajouté.
  • Userland:
  • Systat amélioré pour réduire plusieurs interruptions appartenant au même pilote, car il y en a souvent trop pour les lister maintenant.
  • systat -vm 1 significativement amélioré et amélioré pour rapporter des informations plus utiles et décompresser les champs afin qu'ils ne se rencontrent pas. Et ajoutez "nvme" à la correspondance de périphérique de bloc. Ajustez également l'affichage étendu de vmstats et changez comment ozfod et nzfod sont rapportés.
  • Sortie 'vmstat 1' refactorisée. Tous les champs se rencontraient en raison de la haute performance d'une machine moderne par rapport à ce qui existait il y a 30 ans.
  • Modifier la signalisation mount / mountd pour réduire les analyses et les commandes inutiles de mountlist des opérations mount_null et mount_tmpfs. Cela n'a vraiment d'importance que sous une utilisation simultanée de mount / umount, mais la construction en masse crée cette situation.
  • Corrige de nombreuses fuites fork / exec * () que la libc peut déclencher en n'utilisant pas O_CLOEXEC de manière atomique. Ajoutez diverses fonctions O_CLOEXEC à des fonctions telles que popen () et mk * stemp * () (ajoutez mkostemp () et mkostemps ()). Corrigez une fuite de descripteur de fichier dans popen () lors de l'exécution dans un environnement threadé.
  • Soyez plus gentil avec pthreads dans vfork () en donnant au lwp du nouveau sous-processus le même TID que celui qui s'appelle vfork (). Cela permet aux fonctions de support pthread de s'exécuter dans l'enfant pendant le vfork sans implémenter pthreads.
  • Beaucoup de correctifs de compatibilité avec les en-têtes pour améliorer les versions en bloc de Dports.
  • Plusieurs importations OpenSSL pour les correctifs de sécurité.
  • Resync OpenSSH pour le rendre plus facile à maintenir.
  • Séparez les drapeaux C du noyau en faisant en sorte que la construction du noyau utilise KCFLAGS au lieu de CFLAGS.
  • Supprimez entièrement les anciens pilotes ISA de l'arborescence. Comme DragonFlyBSD est maintenant 64 bits seulement, nous pouvons commencer à supprimer les anciens pilotes qui n'existent pas sur les plates-formes 64 bits.
  • Introduisez WORLD_CFLAGS et WORLD_CCOPTLEVEL, par défaut à -O. Cela facilite la compilation de votre monde -O2 ou autre (par exemple WORLD_CCOPTLEVEL = 2). Cependant, nous déconseillons l'utilisation de 3 ou plus. Les valeurs valides sont 0, 1, 2, 3, s, g et 'fast'.
  • Ajustez la mise en forme de STATUS pour ps pour la rendre plus lisible et pour supprimer les anciens drapeaux qui ne sont plus applicables et créez simplement du fouillis.
  • Correction de l'alignement de malloc () pour les petites allocations. Notez que les allocations power-of-2 ont toujours été naturellement alignées, mais certains programmes utilisent des multiples de (par exemple) 16, comme '48', et supposons un alignement de 16 octets.
  • Fortunes refactorisé, ajouté.
  • powerd - Ajoute une gestion basée sur la température à powerd avec une nouvelle option -H lotemp: hightemp. Cette fonctionnalité est extrêmement utile sur les ordinateurs portables avec un refroidissement médiocre et dont les BIOS sont intentionnellement étranglés à une température trop élevée. Powerd détecte maintenant également les changements d'état d'alimentation (qui peuvent changer la liste des fréquences disponibles) et transite correctement le service lorsqu'un changement d'état d'alimentation se produit.
  • Beaucoup de corrections et d'ajustements libthread_xu / pthreads pour améliorer la compatibilité des dports.
  • Ajoutez des fonctionnalités de copie en écriture au vkernel. Par exemple, permet à plusieurs vkernels d'utiliser une image de disque unique en ayant chacune des modifications COW en interne à ram.
  • / usr / src / secure rewired, les conflits sont supprimés de libmd, libcrypt.
  • Divers outils ont été mis à jour dans le système de base:
  • Compilateur mis à jour vers GCC 5.4.1.
  • Nous avons maintenant un lien d'or avec LTO.
  • binutils 2.25
  • moins 481.
  • OpenSSL / LibRESSL complètement remanié. Base utilise maintenant libressl.
  • Mises à jour multiples du fuseau horaire.
  • État du marteau:
  • Améliorations diverses. Une chose qui n'a pas été intégrée dans la version était une version bump pour utiliser un algorithme CRC plus rapide avec un polynôme différent. Ce travail sera MFC'd pour-libérer une fois que le test est terminé. Cependant, les utilisateurs ne devraient pas trop s'en soucier car le correctif de performance le plus sérieux est dans la version (un correctif au code cluster_write () pour les écritures de système de fichiers).
  • Hammer2 Statut:
  • Le développement continue mais pas encore de mot sur une première version.
  • Statut de clang:
  • Un framework de départ a été ajouté pour utiliser clang comme compilateur de base alternatif dans DragonFly, pour remplacer gcc 4.7. Ce n'est pas encore complet. Clang peut bien sûr être ajouté en tant que paquet.
  • Statut 64 bits:
  • Notez que DragonFly est un système d'exploitation 64 bits uniquement à partir de la version 4.6, et ne fonctionnera pas sur du matériel 32 bits.
  • Le soutien d'AMD Ryzen est dans le communiqué et d'autres travaux seront menés au fur et à mesure que de nouveaux développements Ryzen se produiront. Il y a des problèmes de topologie signalés par le processeur qui seront corrigés et MFC'd. Il y a quelques problèmes de stabilité qui attendent actuellement une mise à jour du microcode AMD pour résoudre / retester. Les utilisateurs de Ryzen peuvent être assurés que nous restons au top!

Nouveautés dans la version 4.8.0:

  • Noyau:
  • Refactorisez le code de cache du tampon pour supprimer les réservations KVA dynamiques. Au lieu de cela, tous les KVA sont réservés au démarrage. Cela nous évite des IPI inutiles et permet une simplification significative du code du cache tampon.
  • Ajoutez vfs.repurpose_enable (en cours de test, désactivé par défaut). Cette fonctionnalité peut être activée pour réduire de manière significative la charge de gestion IPI et VM sur une machine qui effectue d'énormes quantités d'E / S de fichiers, par exemple à partir d'un SSD NVMe, en contournant le mécanisme de recyclage de page VM normal. Lorsqu'elle est activée, la fonctionnalité ne se déclenche que lorsque les charges d'E / S sont élevées. Cela fonctionne en réutilisant les pages VM sous-jacentes à un tampon sur place (si possible) afin de ne pas avoir à kremove / kenter les pages dans le KVA du tampon. Le recyclage normal de la page VM (qui serait sinon submergé par la charge d'E / S) est également ignoré.
  • Modifier la façon dont l'IPIQ est traité, en particulier créer un mécanisme de vecteur Xinterrupt indépendant pour les invalidations de page qui ignorent (fonctionneront) même si une section critique est tenue. Implémenter machdep.optimized_invltlb (désactivé par défaut, sous test) ce qui évite d'envoyer des IPI d'invalidation tlb à des processeurs inutilisés.
  • Corrige de nombreuses courses qui pourraient se produire sous des charges extrêmes. La plupart des cas d'utilisation ne déclencheraient jamais ces cas mais nos boîtes de construction le faisaient occasionnellement. Par exemple, il y avait une course à deux instructions où le bit cpu pour un pmap serait effacé (pour deux instructions) et provoquer un IPI TLB se produisant en même temps sur un autre cpu pour le même pmap de ne pas réaliser que cpu utilisait le pmap . Le correctif consiste à désactiver l'optimisation de rechargement CR3 pour le cas de commutateur LWP- & gt; LWP (même proc).
  • Correction d'un bug HAMMER qui pourrait entraîner une erreur de DATA CRC incorrectement signalé.
  • Correction d'une double écriture déclenchée par la façon dont HAMMER utilise cluster_write (). Cela améliore considérablement les performances d'écriture de HAMMER.
  • De nombreux autres nettoyages et corrections de HAMMER sont également intervenus.
  • Correction d'un verrou dur qui pourrait se produire dans getpbuf * () en raison d'une mauvaise interprétation de la valeur de retour d'une op. atomique
  • Corrige une interruption d'empilement qui peut se produire dans une fenêtre de 10 instructions, potentiellement (mais non trouvée dans la nature) exécutant la pile du noyau.
  • Coupez les IPI liés à pmap de moitié pour certaines opérations de cache-cache en ne dérangeant pas d'invalider le TLB, et en retournant toujours le TLB lorsque vous entrez un nouveau PTE même si le contenu antérieur était invalide. Cela améliore les performances et facilite également le débogage en supprimant une optimisation problématique.
  • Correction d'un certain nombre de races SMP difficiles à déclencher, en particulier une relative à l'exécution simultanée de plusieurs montages de différents points de montage que la construction en masse pourrait déclencher. Réparer également une course mountctl vs umount.
  • Réduisez le nombre d'opérations atomiques dans le chemin du commutateur.
  • Correction d'une course / panique de namecache qui peut se produire sous des charges extrêmes couplées à de nombreuses activités mount / umount.
  • Restreindre l'échantillonnage% rip à la racine.
  • Résout un problème getpid () dans vfork () lorsqu'il est enfilé. En particulier, vfork () simultanés dans un programme threadé peut provoquer le mauvais PID à retourner par getpid () dans l'enfant avant l'exec.
  • Correction d'une course tsleep / légende rare lorsque la minuterie de légende se déclenche avant la fin de la configuration de tsleep ().
  • Nettoyer les messages de décrochage de namecache sur la console. En particulier, signalez le temps écoulé et le td_comm du thread impliqué.
  • Réduisez encore les tests de mémoire et la mise à zéro anticipée pour améliorer les temps de démarrage sur les systèmes avec de grandes quantités de RAM.
  • Supprimez entièrement le code de mise à zéro des pages inactive. La réduction à zéro d'une page sur un processeur moderne à la demande est meilleure pour de nombreuses raisons, et peut même être plus rapide lorsqu'elle est combinée avec le consommateur qui accède aux données de la page, en raison des effets de cache. Supprimez PG_ZERO, car il n'est plus nécessaire. La suppression de PG_ZERO rend également le noyau plus débuggable en supprimant une autre source possible de contamination croisée.
  • Refactoriser et terminer l'implémentation de la localisation du processeur pour les allocations de mémoire du noyau. Combinez avec la conscience de NUMA. Cela fonctionne pour les structures de données de noyau cpu-localisées ou de courte durée. Les deux sont combinés ensemble dans notre abstraction PQ_L2_SIZE qui était le code de coloration de la page VM. Ce code gère désormais également la localisation de l'UC et la reconnaissance NUMA.
  • Correction de nombreux problèmes de vkernel et amélioration significative des performances de vkernel.
  • Mettre à jour kern.proc.pathname, un sysctl utilisé par les programmes pour trouver le chemin du programme en cours d'exécution. Ce sysctl a été implémenté à l'origine avant que nous stockions suffisamment de données pour renvoyer un chemin complet et correct.
  • Synchronisez ACPICA depuis Intel (il s'agit d'une occurrence normale).
  • Correction de l'assembly memcpy () ABI. L'assembly ne retournait pas l'argument d'origine (dst). Ne corrige aucun problème connu mais ferme un trou quand GCC décide parfois d'appeler memcpy tout en générant du code.
  • Beaucoup s'engagent à nettoyer -O2 les avertissements et les erreurs. Le noyau est maintenant compilé -O2 par défaut.
  • Ajoutez une solution de contournement pour un rendement incorrect dans le chemin ACPI (code ACPI buggé).
  • Correction d'une course STOP / CONT qui pouvait être déclenchée par un signal en attente au mauvais moment.
  • Coredump corrigé et corrige un blocage lié à celui-ci lorsque plusieurs threads du même processus seg-fault en même temps.
  • Correction d'un interblocage CAM / VM pouvant survenir à cause d'un bogue dans uiomove_nofault (). Cela pourrait provoquer un «tampon d'attente indéfini» lors d'une pagination / échange intense.
  • Ajoutez du code pour détecter et gérer les IPI perdus. Ceci est principalement pour vkernels où certains hôtes virtuels peuvent perdre des IPI. Les processeurs réels ne sont pas censés perdre des IPI.
  • Diverses corrections apportées à clock_gettime ().
  • Retirez plus de vestiges du MPLOCK. Tous les chemins critiques ont depuis longtemps disparu de ce verrou, mais il reste encore quelques places non critiques qui l'utilisent.
  • Retravaillez le code de suppression de processus en mémoire faible et corrigez un certain nombre de races qui pourraient empêcher la fonctionnalité de fonctionner.
  • Correction d'un blocage du système avec VMM et refactorisation du code VMX.
  • Correction d'un blocage lorsque numvnodes atteint maxvnodes, ce qui peut se produire sous de lourdes charges. Corrigez également une fuite mineure de la mémoire du noyau lorsque 'df' ou la synchronisation du système de fichiers exécute un démon. Réduisez également le calcul de maxvnodes modestement. Par exemple, une machine avec 8 Go de RAM va maintenant définir maxvnodes à 478483 au lieu de 598103.
  • Corrige une panique rare qui peut être déclenchée par vm_object_page_remove () lorsque user_yield () est incorrectement appelé en maintenant un spinlock, puis décide de désarchiver.
  • Réduit la taille de certaines structures de noyau allouées dynamiquement. En particulier, les allocations de table de hachage d'inode de taille excessive sont maintenant plus petites. Principalement affecte UFS (que DragonFlyBSD n'utilise pas beaucoup).
  • Ajout d'une solution de contournement pour AMD erratum 793.
  • Corrige un blocage qui peut se produire dans les appels d'E / S de la pile empilée _ * ().
  • Correction d'un bug où le chargement d'un module récursif pouvait être bloqué.
  • Correction d'un bogue stupide dans le code sillyrename NFS (NFS côté serveur) qui pourrait provoquer le code sillyrename du serveur NFS pour ne jamais supprimer le fichier idiot-renommé. C'est bête!
  • Faites un meilleur travail en prenant en charge les configurations à haute capacité ncpu + basse mémoire.
  • Refactorisez les spinlocks partagés pour réduire la rotation qui peut se produire lorsque plusieurs processeurs acquièrent un spinlock partagé en même temps.
  • Réviser les opérations de namecache pour réduire encore les conflits SMP. Cela améliore les performances mono-composant simultanées et non conflictuelles d'au moins 25 fois sur les systèmes avec plusieurs cœurs, et réduit de manière significative les opérations ref et unref de structure de vnode et mount.
  • Réviser de nombreuses autres structures de noyau pour améliorer la localisation du cache et réduire le rebond de la ligne de cache.
  • Correction d'un bug dans le code de renommer le fichier SMBFS.
  • Implémentez RLIMIT_RSS, un limiteur RSS par processus qui forcera la pagination localisée par processus. Cette fonction peut être utilisée pour empêcher un processus de transformer le reste de la machine en un étui rigide.
  • Augmentez l'espace d'échange maximal pris en charge. Le maximum est maintenant limité principalement par ram et sera dans les dizaines de téraoctets (si vous avez assez de RAM pour les structures de gestion de soutien). Augmentez également le KVM du noyau de 128G à 511G.
  • Implémente la suppression dynamique pmap (désactivée par défaut). Cela dirige le code pmap pour supprimer les pages de table de pages intermédiaires et PD à partir de la pmap à la volée. Cela peut être utile si la mémoire est importante, mais notez que, si elle est activée, elle ralentira l'exécution des programmes qui allouent et libèrent la mémoire à un taux élevé.
  • Refactorisez le fonctionnement des niveaux "gentils" de l'utilisateur, en rendant les bonnes valeurs sélectionnées plus significatives qu'elles ne l'étaient auparavant.
  • Ajoutez un pilote natif NVME haute performance à DragonFly, écrit par Matt Dillon. Ce pilote utilisera les vecteurs MSI-X et toutes les files d'attente disponibles prises en charge par le périphérique, la localisation par PC sans verrouillage ou verrouillage minimal (pas de conflits SMP dans la plupart des cas) et est capable d'IOPS et de débit insensés.
  • Graphiques:
  • Stabilise Broadwell et Skylake, nous amène au DRM équivalent de Linux 4.6.
  • Implémentez l'API Linux i2c pour faciliter le portage.
  • Correction de quelques anciens bogues, y compris une inversion de l'ordre de verrouillage, qui pourrait bloquer la lecture de la vidéo (et le reste de X).
  • Correction d'une erreur de priorité du thread drm du noyau qui permettait aux processus utilisateur d'avoir une priorité plus élevée que le thread d'assistance drm. Cela corrige la plupart des blocages vidéo temporaires signalés sur les navigateurs.
  • Gestion du framebuffer EFI passant en DRM, amélioration de la commutation VT syscons et correction d'un blocage associé. Aussi, le noyau essaie de revenir à la console VT de X en cas de panique.
  • Réseau:
  • De nombreuses améliorations à tous les niveaux.
  • iwm - Résout un problème causé par une logique inversée. De nombreuses autres améliorations améliorent considérablement les performances.
  • wlan - Prise en charge de bg scan asynchrone et d'autres fonctionnalités ajoutées.
  • Autres pilotes:
  • nvme - Ajouté à la compilation par défaut du noyau, ainsi que des correctifs et des améliorations de performances.
  • mmcsd - Important support eMMC ajouté à DragonFly.
  • ahci - Quelques ajustements de compatibilité et plus de bizarreries ajoutées pour supporter les chipsets cassés, en particulier les multiplicateurs de port. Mettez également en œuvre FBS (FIS-Based-Switching) lorsqu'il est pris en charge par le chipset.
  • Support de Trackpoint et Elantech ajouté.
  • Userland:
  • Systat amélioré pour réduire plusieurs interruptions appartenant au même pilote, car il y en a souvent trop pour les lister maintenant.
  • systat -vm 1 significativement amélioré et amélioré pour rapporter des informations plus utiles et décompresser les champs afin qu'ils ne se rencontrent pas. Et ajoutez "nvme" à la correspondance de périphérique de bloc. Ajustez également l'affichage étendu de vmstats et changez comment ozfod et nzfod sont rapportés.
  • Sortie 'vmstat 1' refactorisée. Tous les champs se rencontraient en raison de la haute performance d'une machine moderne par rapport à ce qui existait il y a 30 ans.
  • Modifier la signalisation mount / mountd pour réduire les analyses et les commandes inutiles de mountlist des opérations mount_null et mount_tmpfs. Cela n'a vraiment d'importance que sous une utilisation simultanée de mount / umount, mais la construction en masse crée cette situation.
  • Corrige de nombreuses fuites fork / exec * () que la libc peut déclencher en n'utilisant pas O_CLOEXEC de manière atomique. Ajoutez diverses fonctions O_CLOEXEC à des fonctions telles que popen () et mk * stemp * () (ajoutez mkostemp () et mkostemps ()). Corrigez une fuite de descripteur de fichier dans popen () lors de l'exécution dans un environnement threadé.
  • Soyez plus gentil avec pthreads dans vfork () en donnant au lwp du nouveau sous-processus le même TID que celui qui s'appelle vfork (). Cela permet aux fonctions de support pthread de s'exécuter dans l'enfant pendant le vfork sans implémenter pthreads.
  • Beaucoup de correctifs de compatibilité avec les en-têtes pour améliorer les versions en bloc de Dports.
  • Plusieurs importations OpenSSL pour les correctifs de sécurité.
  • Resync OpenSSH pour le rendre plus facile à maintenir.
  • Séparez les drapeaux C du noyau en faisant en sorte que la construction du noyau utilise KCFLAGS au lieu de CFLAGS.
  • Supprimez entièrement les anciens pilotes ISA de l'arborescence. Comme DragonFlyBSD est maintenant 64 bits seulement, nous pouvons commencer à supprimer les anciens pilotes qui n'existent pas sur les plates-formes 64 bits.
  • Introduisez WORLD_CFLAGS et WORLD_CCOPTLEVEL, par défaut à -O. Cela facilite la compilation de votre monde -O2 ou autre (par exemple WORLD_CCOPTLEVEL = 2). Cependant, nous déconseillons l'utilisation de 3 ou plus. Les valeurs valides sont 0, 1, 2, 3, s, g et 'fast'.
  • Ajustez la mise en forme de STATUS pour ps pour la rendre plus lisible et pour supprimer les anciens drapeaux qui ne sont plus applicables et créez simplement du fouillis.
  • Correction de l'alignement de malloc () pour les petites allocations. Notez que les allocations power-of-2 ont toujours été naturellement alignées, mais certains programmes utilisent des multiples de (par exemple) 16, comme '48', et supposons un alignement de 16 octets.
  • Fortunes refactorisé, ajouté.
  • powerd - Ajoute une gestion basée sur la température à powerd avec une nouvelle option -H lotemp: hightemp. Cette fonctionnalité est extrêmement utile sur les ordinateurs portables avec un refroidissement médiocre et dont les BIOS sont intentionnellement étranglés à une température trop élevée. Powerd détecte maintenant également les changements d'état d'alimentation (qui peuvent changer la liste des fréquences disponibles) et transite correctement le service lorsqu'un changement d'état d'alimentation se produit.
  • Beaucoup de corrections et d'ajustements libthread_xu / pthreads pour améliorer la compatibilité des dports.
  • Ajoutez des fonctionnalités de copie en écriture au vkernel. Par exemple, permet à plusieurs vkernels d'utiliser une image de disque unique en ayant chacune des modifications COW en interne à ram.
  • / usr / src / secure rewired, les conflits sont supprimés de libmd, libcrypt.
  • Divers outils ont été mis à jour dans le système de base:
  • Compilateur mis à jour vers GCC 5.4.1.
  • Nous avons maintenant un lien d'or avec LTO.
  • binutils 2.25
  • moins 481.
  • OpenSSL / LibRESSL complètement remanié. Base utilise maintenant libressl.
  • Mises à jour multiples du fuseau horaire.
  • État du marteau:
  • Améliorations diverses. Une chose qui n'a pas été intégrée dans la version était une version bump pour utiliser un algorithme CRC plus rapide avec un polynôme différent. Ce travail sera MFC'd pour-libérer une fois que le test est terminé. Cependant, les utilisateurs ne devraient pas trop s'en soucier car le correctif de performance le plus sérieux est dans la version (un correctif au code cluster_write () pour les écritures de système de fichiers).
  • Hammer2 Statut:
  • Le développement continue mais pas encore de mot sur une première version.
  • Statut de clang:
  • Un framework de départ a été ajouté pour utiliser clang comme compilateur de base alternatif dans DragonFly, pour remplacer gcc 4.7. Ce n'est pas encore complet. Clang peut bien sûr être ajouté en tant que paquet.
  • Statut 64 bits:
  • Notez que DragonFly est un système d'exploitation 64 bits uniquement à partir de la version 4.6, et ne fonctionnera pas sur du matériel 32 bits.
  • Le soutien d'AMD Ryzen est dans le communiqué et d'autres travaux seront menés au fur et à mesure que de nouveaux développements Ryzen se produiront. Il y a des problèmes de topologie signalés par le processeur qui seront corrigés et MFC'd. Il y a quelques problèmes de stabilité qui attendent actuellement une mise à jour du microcode AMD pour résoudre / retester. Les utilisateurs de Ryzen peuvent être assurés que nous restons au top!

Nouveautés dans la version 4.6.0:

  • mmcsd (4): Correction d'une faute de frappe dans les arguments disk_create (). Permet d'accéder à & gt; 1 carte SD- / MMC.
  • Ajouter unzip (1). Si vous ne pouvez pas les battre, rejoignez-les
  • Rétablir la capacité du monde maître à créer la version 4.4
  • buildworld - Autoriser -release à être construit sur le maître
  • etc / rc.d - réglages sans disque
  • kernel - Ajoute le support de kqueue à NFS (corrige les problèmes firefox w / nfs)
  • Importer OpenSSL 1.0.1s.
  • Ajustements locaux pour OpenSSL 1.0.1s.
  • Synchroniser la base de données zoneinfo avec tzdata2016b à ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Ne pas avertir des abréviations comme '-05'.
  • zic (8): Supprime un 'registre' qui s'est inséré dans la dernière validation.
  • kernel / acpi_timer: Ajoute un cpu_enable_intr () après le test du timer.
  • em.4: mentionnez le support i219.
  • ig_hal / em / emx: ajout du support I219 (Skylake)
  • sys / vfs / hammer: Correction d'un bug sur l'effacement de l'en-tête de volume
  • sbin / hammer: N'accédez pas au-delà de 16 Ko de tampon d'espace utilisateur HAMMER
  • sbin / hammer: Ajouter l'option obfuscate pour afficher le marteau
  • sys / vfs / hammer: Correctif temporaire pour la panique du noyau sur le volume-del

Nouveautés dans la version 4.4.3 / 4.6.0 RC2:

  • mmcsd (4): Correction d'une faute de frappe dans les arguments disk_create (). Permet d'accéder à & gt; 1 carte SD- / MMC.
  • Ajouter unzip (1). Si vous ne pouvez pas les battre, rejoignez-les
  • Rétablir la capacité du monde maître à créer la version 4.4
  • buildworld - Autoriser -release à être construit sur le maître
  • etc / rc.d - réglages sans disque
  • kernel - Ajoute le support de kqueue à NFS (corrige les problèmes firefox w / nfs)
  • Importer OpenSSL 1.0.1s.
  • Ajustements locaux pour OpenSSL 1.0.1s.
  • Synchroniser la base de données zoneinfo avec tzdata2016b à ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Ne pas avertir des abréviations comme '-05'.
  • zic (8): Supprime un 'registre' qui s'est inséré dans la dernière validation.
  • kernel / acpi_timer: Ajoute un cpu_enable_intr () après le test du timer.
  • em.4: mentionnez le support i219.
  • ig_hal / em / emx: ajout du support I219 (Skylake)
  • sys / vfs / hammer: Correction d'un bug sur l'effacement de l'en-tête de volume
  • sbin / hammer: N'accédez pas au-delà de 16 Ko de tampon d'espace utilisateur HAMMER
  • sbin / hammer: Ajouter l'option obfuscate pour afficher le marteau
  • sys / vfs / hammer: Correctif temporaire pour la panique du noyau sur le volume-del

Nouveautés dans la version 4.4.3:

  • mmcsd (4): Correction d'une faute de frappe dans les arguments disk_create (). Permet d'accéder à & gt; 1 carte SD- / MMC.
  • Ajouter unzip (1). Si vous ne pouvez pas les battre, rejoignez-les
  • Rétablir la capacité du monde maître à créer la version 4.4
  • buildworld - Autoriser -release à être construit sur le maître
  • etc / rc.d - réglages sans disque
  • kernel - Ajoute le support de kqueue à NFS (corrige les problèmes firefox w / nfs)
  • Importer OpenSSL 1.0.1s.
  • Ajustements locaux pour OpenSSL 1.0.1s.
  • Synchroniser la base de données zoneinfo avec tzdata2016b à ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Ne pas avertir des abréviations comme '-05'.
  • zic (8): Supprime un 'registre' qui s'est inséré dans la dernière validation.
  • kernel / acpi_timer: Ajoute un cpu_enable_intr () après le test du timer.
  • em.4: mentionnez le support i219.
  • ig_hal / em / emx: ajout du support I219 (Skylake)
  • sys / vfs / hammer: Correction d'un bug sur l'effacement de l'en-tête de volume
  • sbin / hammer: N'accédez pas au-delà de 16 Ko de tampon d'espace utilisateur HAMMER
  • sbin / hammer: Ajouter l'option obfuscate pour afficher le marteau
  • sys / vfs / hammer: Correctif temporaire pour la panique du noyau sur le volume-del

Nouveautés dans la version 4.4.2:

  • virtio_blk: utilise contigmalloc / contigfree pour les allocations de vtblk_request.
  • drm / radeon: Nous avons besoin de l'adresse physique de la page factice, pas du virtuel
  • if_iwm: Applique quelques changements à partir d'OpenBSD, if_iwm.c rev 1.39 - & gt; 1,42
  • if_iwm: stocke simplement le pointeur du microprogramme struct, comme if_iwn.
  • if_iwm: Supprime les commentaires relatifs aux noms de fichiers sources Linux iwlwifi.
  • if_iwm: Correction de l'utilisation de IEEE80211_ADDR_COPY ().
  • if_iwm: Correction du code de configuration du contrôle de débit.
  • etc / rc.d: Mise à jour de rtsold
  • i915 - Ajout d'un délai après attachement pour éviter les courses console / X
  • kernel - Réduit la latence de lwp_signotify ()
  • devfs - Corrige la panique sur les montages supplémentaires de devfs quand des règles sont présentes
  • ssh - Supprimer le support d'itinérance non documenté CVE-2016-0777 CVE-2016-0778
  • kernel - Ajoute des quirks pour xhci (usb)
  • hammer - supprime le débogage kprintf
  • libc / stdtime: Correction de deux cas où un pointeur NULL aurait pu être libre () 'd.
  • kernel / vga: Supprimer le mauvais lwkt_reltoken (). Ce n'est pas pris à ce stade.
  • libc / nls: Synchronise les messages str {error, signal} () avec.
  • w (1): inet_addr () retourne INADDR_NONE en cas d'erreur.
  • ee (1): correction d'une variable non initialisée.
  • kernel: Corrige le fichier kern.dumpdev sysctl.
  • Importer OpenSSL 1.0.1r.
  • Ajustements locaux pour OpenSSL 1.0.1r.
  • gcc50 / libconv_supc: cp-demangle.c a besoin de HAVE_CONFIG_H.
  • Synchroniser la base de données de zoneinfo avec tzdata2016a depuis ftp://ftp.iana.org/tz/releases
  • make upgrade: Ajouter un fuseau horaire obsolète.
  • igb: Corrige les paramètres DMACR
  • ifconfig: Corrige la suppression d'une adresse inet6

Nouveautés dans la version 4.4.1:

  • Noyau:
  • Amélioration des paramètres d'économie d'énergie du processeur
  • Allocation de fichier réduite / contention libre
  • Réduire le conflit de kqueue
  • Implémentation de l'appel système lwp_setname (2)
  • Correction du support de l'opération non bloquante dsp (4)
  • Ajouter un pilote aperf (4) pour afficher la fréquence du processeur effectif
  • De nombreux nettoyages et corrections à HAMMER
  • Synchroniser ACPICA à 20151124
  • Principalement terminé de supprimer les bits i386 (32 bits)
  • Ajuster le tas du chargeur de démarrage pour gérer les plus grandes images MD
  • Le nettoyage passe sur le noyau mort (syslink reste, etc)
  • dsched supprimé (problèmes avec les bogues et ne fonctionne pas bien avec les SSD)
  • Recoder les algorithmes de pagination pour les pkill à mémoire insuffisante et mémoire insuffisante
  • Graphiques:

  • Les pilotes
  • drm / i915 et drm / radeon correspondent maintenant au noyau Linux 3.18
  • i915 prend en charge les SOCs ValleyView / Baytrail et Cherryview Atom
  • Les GPU Broadwell sont maintenant complètement accélérés
  • Travail préparatoire pour le soutien de Skylake
  • La console système prend désormais en charge les graphiques DRM par défaut. les terminaux virtuels ne montrent plus un écran noir une fois que Xorg a été démarré et qu'un des modules du noyau kms a été chargé.
  • Amélioration de la gestion de l'alimentation. Panneau d'actualisation automatique disponible sur le matériel i915
  • Les capteurs de température sont maintenant supportés sur le matériel Radeon
  • Réseau:
  • Prise en charge de Realtek 8168H dans re (4)
  • pilote iwm (4) ajouté
  • rtadvd mis à jour, rtadvctl ajouté
  • Connexions UDP asynchrones, pour gérer une charge beaucoup plus importante
  • Nouvelle fenêtre de démarrage TCP plus grande, pour les connexions à latence élevée
  • Les valeurs de nmbcluster du noyau sont réglables en direct, pour un trafic extrême. Réseau:
  • Stabilisez le socket de domaine UNIX
  • Nouveau code GC pour le passage fd sur des sockets de domaine Unix
  • Divers synchronisation IPv6 avec FreeBSD
  • Amélioration des performances de socket (2) pour TCP et UDP
  • Sélection de port local TCP connect (2) améliorée
  • Ajout de l'appel système accept (4)
  • Ajout de la prise en charge des attributs SOCK_CLOEXEC et SOCK_NONBLOCK socket (2) et accept4 (2)
  • Rendre les fonctions de contrôle de flux HW disponibles pour ifconfig
  • Ajoute des paramètres ajustables pour permettre à iosize et à readahead de NFSROOT d'être définis
  • Apportez ipfw étendu de FreeBSD (appelé ipfw3 dans DFly)
  • Autres pilotes:
  • Le support MIDI a été lu
  • Beaucoup de corrections de bogues pour le mappeur de périphérique
  • dm-delay et dm-flakey ont été ajoutés au mappeur de périphérique
  • Les modems USB fonctionnent mieux (ou au moins ne paniquent pas le noyau)
  • Amélioration de l'accès aux fonctionnalités et à l'état ECC du ram
  • wlan mis à jour à partir de FreeBSD (juste avant la suppression de l'appareil partagé)
  • Userland:
  • la bibliothèque regex a été remplacée par la bibliothèque TRE regex multi-octets et généralement beaucoup plus performante. Il correspond à OSX dans les fonctionnalités. (DF est le premier BSD à passer à TRE après MacOS)
  • libm remplacé par la version OpenBSD (il s'agit d'un travail collaboratif en cours)
  • libc propose désormais des versions de symboles qui permettent aux binaires créés sur la version 4.4 de s'exécuter sur DragonFly pour des années à venir.
  • Révision complète et mise à jour des locales, y compris l'implémentation du collationnement.
  • malloc.h enlevé (DragonFly est le premier BSD à enlever cet entête)
  • gcc50 libstdc ++ modifié pour activer l'utilisation complète des fonctions C99 sur clang
  • En conséquence de la mise à jour des locales, la sortie du format long ls (1) et du format -T a changé lorsque les locales nommées sont utilisées. Notamment, les mois en format long sont toujours abrégés en anglais (en utilisant les définitions POSIX garantissant ainsi à la fois la rapidité et la largeur de trois lettres) et l'année, l'heure et la seconde information sont toujours affichées. Sous les paramètres régionaux C / POSIX, il n'y a aucun changement dans la sortie de ls (1) autre que la gestion future d'horodatage a été corrigée pour correspondre aux exigences de la norme POSIX.
  • Si WPA Supplicant de base est utilisé, il y aura un délai de 10 secondes pendant le démarrage car un message est affiché qui recommande fortement d'utiliser à la place la version de DPorts (security / wpa_supplicant).
  • Amélioré powerd (8)
  • Amélioration de la sortie top (1) et ps (1) pour les LWPs et les threads du noyau
  • Correction du support de pthread_set_name_np (3)
  • Porté tcpdrop (8)
  • Ajout de plusieurs nouveaux paramètres locaux, dont six langues arabes (Émirats arabes unis, Arabie Saoudite, Égypte, Jordanie, Maroc, Qatar), d'autres langues locales (Mexique, Argentine, Costa Rica) et d'autres langues anglaises (Philippines, Singapour, Hong Kong) , les locales norvégiennes corrigées (nb et nn seulement), le suédois étendu (Finlande), le sâme (Finlande, Norvège), le serbe présenté à la fois en cyrillique et en latin maintenant. ('locale -a' fournit une liste complète.)
  • rtadvc importé de FreeBSD
  • Divers outils ont été mis à jour dans le système de base:
  • nvi2 mis à jour vers la version 2.1.3
  • libexecinfo ajouté (synchronisé à partir de FreeBSD)
  • iconv synchronisé avec FreeBSD
  • openssl mis à jour à 1.0.1q
  • xz mis à jour vers 5.2.2
  • libedit mis à jour vers la version 2015-03-25
  • binutils mis à jour vers 2.25.1
  • grep mis à jour à 2.22
  • tcsh mis à jour vers la version 6.19.00
  • libdialog mis à jour vers v1.2-20150920
  • (tn) ftp mis à jour à '10 OCT 2015 '
  • gcc mis à jour à 5.2
  • acpica mis à jour à 20150717
  • sort (1), qui venait de NetBSD, a été remplacé par la version FreeBSD
  • localedef (1), outil interne avec des origines sur Illumos
  • cldr2def, outil interne avec des origines dans un projet FreeBSD abandonné, mais étendu pour DF
  • Retiré du système de base:
  • hostapd (dernière version disponible via dports: net / hostapd)
  • mklocale (remplacé par localedef)
  • colldef (remplacé par localedef)
  • Améliorations de HAMMER:
  • Beaucoup, beaucoup de nettoyages et corrections à Hammer1, merci à Tomohiro Kusumi
  • Autres améliorations:
  • Les DPorts comptent environ 22 800 ports. De nombreux ports précédemment cassés ont été corrigés par les utilisateurs réguliers en raison des contributions offertes par le mécanisme Pull Request de GitHub. (Merci!)
  • Six ensembles "officiels" de papier peint DragonFly sont disponibles sur x11-themes / dragonfly-wallpapers (pkg install dragonfly-wallpapers). Ceux-ci sont automatiquement installés et présélectionnés pour les utilisateurs de KDE, et automatiquement installés pour les utilisateurs de XFCE4, mais les fonds d'écran ont encore été sélectionnés manuellement avec ce bureau (au moins pour l'instant). Ils sont installés sur share / wallpapers qui est symlinked pour partager / backgrounds / libellfly.

Logiciel similaire

Linux Kernel
Linux Kernel

17 Aug 18

HelenOS
HelenOS

20 Feb 15

ICS
ICS

15 Apr 15

Commentaires à DragonFly BSD

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!