Liens connexes

Dépêche modérée par

Dépêche éditée par

: Sortie de DragonFlyBSD 1.4

Posté par patrick_g (page perso, ). Modéré le 10 janvier 2006.
0
Le projet DragonFlyBSD est issu d'une divergence entre les développeurs de FreeBSD et Matt Dillon qui était un contributeur régulier. Celui-ci pensait que le chemin emprunté par la série des FreeBSD 5.x n'était pas le bon et il a donc choisi de se baser sur la série (robuste et éprouvée) FreeBSD 4.x pour la faire évoluer. Le but final est d'obtenir un système à image unique pour les clusters (un seul OS pour n machines) au lieu d'un cluster traditionnel (n OS pour n machines).

Voici donc, depuis le 7 janvier, la version 1.4 de ce système original.

Les nouveautés essentielles concernent une mise à jour profonde de la librairie C et l'introduction du système de packages de NetBSD (PKGSRC). Le compilateur par défaut est maintenant GCC 3.4 (la série 2.95 n'est plus supportée). Le démon NTP (synchronisation du temps) est DNTPD et il devient spécifique à cet OS. TLS (Thread Local Storage) est maintenant en espace utilisateur et les programmes peuvent donc l'utiliser directement (qu'ils soient multithreadés ou pas).

La liste des améliorations et des corrections de bugs est importante et Matt Dillon annonce que cette version 1.4 est la meilleure de toute sur le plan de la stabilité. La seule architecture supportée reste x86 mais un port vers x86-64 a démarré.

> Lire la suite (26 commentaires, moyenne: 4).   [dépêche : 1847 caractères]

Dans le cas d'un ordinateur multiprocesseurs la solution logicielle habituelle est l'implantation d'un gros verrou (Big kernel lock) qui empêche deux tâches d'accéder simultanément au noyau. Pour améliorer les performances le système FreeBSD 5.x utilise des verrous fins locaux (mutex pour mutual exclusion). C'est un système extrêmement compliqué et le code est difficile à maintenir.

Selon Matt Dillon cette complexité extrême de FreeBSD 5.x (avec son nouveau modèle de processus, son ordonnanceur de nouvelle génération, l'implémentation de verrous locaux pour les processus au détriment du verrou global, etc.) va empêcher l'obtention d'une grande fiabilité.

Pour DragonFlyBSD c'est la voie de la simplicité qui a été retenue. Le système (LWKT pour Light Weight Kernel Threads) utilise un ordonnanceur par CPU (les processus sont donc compartimentés dans leur CPU) et ils ne peuvent migrer qu'exceptionnellement avec un inter-processor interrupt (IPI). Les mutex de FreeBSD sont remplacés par des sortes de jetons logiciels (serialized tokens) qui garantissent à un ensemble de threads qu'ils ne tourneront jamais en même temps à condition qu'ils ne bloquent pas dans un appel système.

L'avantage principal de LWKT est que la mémoire cache des processeurs est mieux utilisée puisqu'elle duplique beaucoup moins d'informations. Le code est également plus simple, plus lisible et plus maintenable.

Matt Dillon a également beaucoup d'idées originales et singulières pour les versions futures de DragonFlyBSD (en particulier la réécriture du système de fichier virtuel en userspace et utilisant LWKT).

Cet OS mérite certainement qu'on s'y intéresse.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Et la mascote?

Posté par Mathieu Stumpf (Jabber id, page perso, ) le 10/01/2006 à 16:12. (lien). Évalué à 3.

Et pour la mascote y aura un super dragon qui crache des flammes et tout?
Ce serait argument de poid ça quand même...

Motivation?

Posté par Sylvain Briole (page perso, ) le 10/01/2006 à 16:24. (lien). Évalué à 7.

Une petite question (je viens de parcourir le site de DragonFly) : quel est exactement le "positionnement" de DragonFly BSD par rapport aux autres BSD libres?

Pour l'instant, j'avais : (merci de commenter ;-))
- NetBSD : portabilité, propreté du code (qualité du code prioritaire sur l'implémentation de la fonctionnalité)
- OpenBSD : sécurité à tout prix (ou presque)
- FreeBSD : mix des deux précédents, avec accent mis sur la fonctionnalité

Puis-je rajouter :
- DragonFly BSD : multi-processeur/multi-tâches, expérimenter des nouvelles voies?

Section de la dépêche

Posté par Étienne Bersac (Jabber id, page perso, ) le 10/01/2006 à 17:26. (lien). Évalué à 5.

Pourquoi la dépêche est-elle dans la section Kernel au lieu de FreeBSD voire DragonFlyBSD ? Est-ce un choix ?

Mes deux sous.

--
E Ultreïa !

Petite Correction TLS

Posté par buju () le 10/01/2006 à 18:59. (lien). Évalué à 10.

TLS ne correspond pas ici à Transport Layer Security mais à Thread Local Storage, c'est à dire la possibilité d'avoir des variables globales mais différentes pour chaque thread.
Description sur wikipedia : http://en.wikipedia.org/wiki/Thread-local_storage
Le paper : http://people.redhat.com/drepper/tls.pdf

Matt Dillon

Posté par mmbpeople () le 11/01/2006 à 08:44. (lien). Évalué à 5.

A ben voila pourquoi on le voit plus au cinéma Matt Dillon ! Il est trop occupé à programmer !

DragonFly_F_BSD ?

Posté par Mathieu Bouju () le 11/01/2006 à 11:29. (lien). Évalué à 1.

C'est une coquille ? j'ai suivi vite fait les liens donnés dans l'article, et je ne retrouve nulle part cette dénomination...

Multithread

Posté par GuieA_7 (page perso, ) le 11/01/2006 à 11:44. (lien). Évalué à 2.

Si j'ai bien tout compris (c'est pas gagné :), avec DFBSD tous les threads d'un même processus s'exécutent sur le même CPU. Alors que même la machine de monsieur Tout-le-monde a tendance à devenir multicore/multiproc, n'est ce pas "petit bras" comme façon de faire (je ne dis pas ça méchamment, je suis sûr que les gars de DFBSD sont très compétents) ?
En même temps je ne connais pas le nombre de grosses applis du libre qui sont lourdement multitreadées (du genre des threads à 100 % du CPU pendant plusieurs secondes) et qui seraient donc pénalisées...

BSD Pour les nuls

Posté par Mais qui suis-je ? :) () le 11/01/2006 à 14:19. (lien). Évalué à 1.

Salut
Histoire de satisfaire ma curiosite
savez vous ou je peux trouver un portrait de famille bsd ecrit en langage humainement comprehensible

Sous entendu pas d'explication technique sur la vie intime du kernell
Mais plutot des resumer disant

tel bsd pour une machine de bureau
tel bsd pour un serveur web
tel bsd pour un serveur de calcul
tel bsd pour un cluster
tel bsd pour ...
etc ...

Puisque les bsd on en parle beacoup mais finalement dans quel domaines c'est interessant et dans quel domaine ca ne l'est pas ?

Merci

Revenir en haut de page