Aller au contenu

DragonFly BSD

Un article de Wikipédia, l'encyclopédie libre.

DragonFly BSD
Image illustrative de l’article DragonFly BSD

Famille BSD
Type de noyau Hybride
État du projet en développement
Dépôt gitweb.dragonflybsd.org/dragonfly.gitVoir et modifier les données sur Wikidata
Plates-formes x86-64
Entreprise /
Fondateur
Matt DillonVoir et modifier les données sur Wikidata
Entreprise /
Développeur
Matt Dillon
Licence BSD
États des sources Open source
Première version Voir et modifier les données sur Wikidata
Dernière version stable 6.0.0 (10 mai 2021)[1]
Environnement de bureau Interface en ligne de commandeVoir et modifier les données sur Wikidata
Gestionnaire de paquets pkgsrc, DPorts[2]
Site web www.dragonflybsd.orgVoir et modifier les données sur Wikidata

DragonFly BSD est un système d'exploitation de type BSD. Il résulte d'un fork en 2003 de FreeBSD 4.8 mené par Matt Dillon, jugeant le nouveau système de threading et SMP de FreeBSD 5 peu performant et difficile à maintenir.

Ce projet s'annonce donc comme la continuation logique de FreeBSD 4. Il est disponible sous forme de « LiveCD ».

Améliorations techniques

[modifier | modifier le code]

La façon d'implémenter le SMP, et son impact sur l'organisation d'un noyau Unix, constitue une des raisons ayant motivé la création de DragonFly BSD.

Alors que FreeBSD 4 utilisait un seul gros verrou pour empêcher deux tâches d'accéder simultanément au noyau, FreeBSD 5 emploie de nombreux mutex fins pour verrouiller certaines portions de code. Cela pose, aux yeux de Matt Dillon, de nombreux problèmes de complexité, rendant le code difficile à maintenir, et de performance.

À la place, DragonFly utilise un système de serializing tokens ne posant pas ces problèmes, mais surtout un système puissant nommé LWKT.

LWKT (Light Weight Kernel Threads), annoncé officiellement sur les listes de diffusion de FreeBSD, constitue un système puissant d'échange de messages entre les threads légers noyau, leur permettant de coopérer efficacement.

Réécriture de la couche VFS

[modifier | modifier le code]

La réécriture de la couche VFS héritée de 4.4BSD est un projet que FreeBSD et DragonFly BSD envisagent tous deux. Dans ce dernier, elle utiliserait alors LWKT, et permettrait d'avoir des systèmes de fichiers en espace utilisateur (« userspace »).

Système de paquets

[modifier | modifier le code]

Les systèmes BSD libres utilisent traditionnellement une hiérarchie de fichiers nécessaires pour compiler une application à partir des sources, nommé « ports » sous FreeBSD et OpenBSD, et « pkgsrc » sous NetBSD et DragonFly BSD[3] — bien que cela soit présenté comme transitoire pour ce dernier. En parallèle, il existe aussi un système de « paquets » pour installer une application à partir de binaires pré-compilés.

Matt Dillon considère que DragonFly BSD, s'adressant à des administrateurs et des utilisateurs n'ayant ni l'utilité, ni le désir de compiler l'ensemble de leurs applications, devra à terme[3] employer principalement un système de « paquets » ne présentant pas les problèmes habituels, tels les conflits de bibliothèques, et les interdépendances complexes, compliquant les mises à jour. Le tout sans omettre la possibilité de compiler à partir des sources pour adapter l'application aux besoins de chacun.

Notes et références

[modifier | modifier le code]
  1. (en) « release60 ».
  2. (en) « HowToDPorts ».
  3. a et b (en) FAQ de DragonFly BSD

Liens externes

[modifier | modifier le code]