DragonFly BSD

DragonFly BSD
Image illustrative de l'article DragonFly BSD

Famille BSD
Type de noyau Hybride
État du projet en développement
Plates-formes i386 x86-64
Entreprise /
Fondateur
Matt Dillon
Entreprise /
Développeur
Matt Dillon
Licence BSD
États des sources Open source
Première version
Dernière version stable 5.0.0 ()[1]
Site web www.dragonflybsd.org

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

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

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

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

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[2] — 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[2] 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

Liens externes