Sortie du système d'exploitation DragonFly BSD 5.8

Disponible libération DragonFlyBSD 5.8, un système d'exploitation avec un noyau hybride, créé en 2003 dans le but de développement alternatif de la branche FreeBSD 4.x. Parmi les fonctionnalités de DragonFly BSD, nous pouvons souligner un système de fichiers versionné distribué HAMMER, prise en charge du chargement de noyaux système « virtuels » en tant que processus utilisateur, possibilité de mettre en cache les données et métadonnées FS sur des disques SSD, variantes de liens symboliques sensibles au contexte, possibilité de geler les processus tout en enregistrant leur état sur disque, noyau hybride utilisant des threads légers (LWKT) .

principal améliorationsajouté dans DragonFlyBSD 5.8 :

  • La composition principale comprend l'utilitaire synthétiseur, conçu pour l'assemblage et la maintenance locaux de vos propres référentiels binaires DPort. La parallélisation de l'assemblage d'un nombre arbitraire de ports est prise en charge, en tenant compte de l'arborescence des dépendances. En préparation de la nouvelle version, DPort a également apporté un grand nombre de modifications visant à accélérer la construction de plusieurs packages dépendants.
  • la libc implémente un mécanisme de masquage de signal efficace, qui permet de protéger malloc*() et les fonctions similaires des problèmes dus à leur interruption par un signal. Pour le blocage et le déblocage des signaux à court terme, les fonctions sigblockall() et sigunblockall() sont proposées, qui fonctionnent sans effectuer d'appels système. De plus, la libc a adapté la fonction strtok() pour une utilisation dans les applications multithread, ajouté les constantes TABDLY, TAB0, TAB3 et la fonction __errno_location pour améliorer la prise en charge des ports.
  • Les composants de l'interface DRM (Direct Rendering Manager) sont synchronisés avec le noyau Linux 4.9, avec des fonctionnalités sélectionnées portées du noyau 4.12 visant à améliorer la prise en charge de Wayland.
    Le pilote drm/i915 pour les GPU Intel est synchronisé avec le noyau Linux 4.8.17 avec le code transféré du noyau 5.4 pour prendre en charge les nouvelles puces (Skylake, Coffelake, Amber Lake, Whiskey Lake et Comet Lake). Le pilote drm/radeon pour les cartes vidéo AMD est synchronisé avec le noyau Linux 4.9.

  • Les algorithmes de pagination de la mémoire virtuelle ont été considérablement améliorés, nous permettant d'éliminer ou de minimiser les problèmes de réactivité de l'interface utilisateur lorsque la mémoire est insuffisante. Les problèmes de gel de Chrome/Chromium dus à une mémoire système insuffisante ont été résolus.
  • Mise à l'échelle améliorée du noyau sur les systèmes dotés d'un grand nombre de cœurs de processeur. Temps de demande de page de mémoire virtuelle réduit. Réduction des conflits SMP lorsque la mémoire est faible. Efficacité accrue de l'appel "open(... O_RDWR)".
  • Le générateur de nombres pseudo-aléatoires du noyau a été repensé. Le pilote RDRAND est adapté pour accumuler l'entropie de tous les processeurs. Intensité réduite
    et la taille du flux RDRAND, qui prenait auparavant 2 à 3 % du temps CPU pendant les temps d'inactivité.

  • Ajout de nouveaux appels système realpath, getrandom et lwp_getname (a permis l'implémentation de pthread_get_name_np).
  • Ajout de la prise en charge des mécanismes de protection SMAP (Supervisor Mode Access Prevention) et SMEP (Supervisor Mode Execution Prevention). SMAP vous permet de bloquer l'accès aux données de l'espace utilisateur à partir du code privilégié exécuté au niveau du noyau. SMEP ne permet pas le passage du mode noyau à l'exécution de code situé au niveau utilisateur, ce qui permet de bloquer l'exploitation de nombreuses vulnérabilités du noyau (le code shell ne sera pas exécuté, puisqu'il est dans l'espace utilisateur) ;
  • Variables sysctl retravaillées pour la configuration de Jail. Ajout de la possibilité de monter des nullfs et des tmpfs depuis la prison.
  • Ajout du mode d'urgence pour le système de fichiers HAMMER2, qui peut être utilisé lors de la récupération après une panne. Dans ce mode, il est possible de détruire les instantanés lors de la mise à jour locale de l'inode (permet de supprimer des fichiers et des répertoires en l'absence d'espace disque libre, lorsqu'il est impossible d'utiliser le mécanisme de copie sur écriture). Performances considérablement améliorées en retravaillant la prise en charge de la répartition des threads dans HAMMER2. Le processus de rinçage des tampons a été considérablement amélioré.
  • Fiabilité et performances améliorées de TMPFS. Efficacité de fonctionnement accrue en cas de manque de mémoire libre dans le système.
  • La pile réseau IPv4 prend désormais en charge les préfixes /31 (RFC 3021).
    Tap a amélioré la gestion ioctl de SIOCSIFMTU pour prendre en charge MTU > 1500 6. Ajout de la prise en charge de SIOCSIFINFO_INXNUMX et SO_RERROR.

  • Le pilote iwm est synchronisé avec FreeBSD avec prise en charge des puces sans fil Intel (prise en charge supplémentaire d'iwm-9000 et iwm-9260).
  • Ajout des fonctions basename() et dirname() compatibles Linux pour améliorer la compatibilité des ports.
  • Déplacement de fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 de FreeBSD vers libc/getaddrinfo(), calendrier(1), rcorder-visualize.sh. Les fonctions de math.h ont été déplacées d'OpenBSD.
  • Versions mises à jour de composants tiers, notamment Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Le compilateur par défaut est gcc-8.

Source: opennet.ru

Ajouter un commentaire