diff --git a/fr/kse/index.sgml b/fr/kse/index.sgml index 87e585457f..69ce302289 100644 --- a/fr/kse/index.sgml +++ b/fr/kse/index.sgml @@ -1,238 +1,248 @@ - + %includes; Fait"> En progrès"> En attente"> Pas commencé"> Résolu"> Non résolu"> %developers; ]> &header;
Le Kernel Scheduler Entities (KSE), est un système de threading supporté par le noyau, au design similaire à celui du Scheduler Activations [Anderson, et. al.]. Il établit un équilibre entre les modèles de threading de niveau utilisateur (1:N) et de niveau noyau (1:1), apportant la plupart des avantages des deux et peu d'inconvénients de chacun.
Le projet se compose de deux moitiés : le support noyau et le support utilisateur. Le support noyau consiste en modifications du scheduler FreeBSD; L'autre moitié est - une implémentation des threads POSIX qui tire avantage des facilités supplémentaires + une implémentation des threads &posix; qui tire avantage des facilités supplémentaires que procure le noyau.
Le but est de remplacer l'actuel système de threads utilisateur procuré par la libc_r, et l'option -pthread de gcc, par une nouvelle bibliothèque - libpthread qui sera liée avec l'option -lpthread de gcc. + libpthread qui sera liée avec l'option -lpthread de gcc.
Tout le developpement du KSE est effectué sur la version 5.0-CURRENT. Aucune option de configuration du noyau n'est requise pour compiler un noyau avec les changements relatifs au KSE (ces changements sont inextricables - du scheduler de FreeBSD). + du scheduler de FreeBSD).
Pour utiliser KSE dans une application, vous devez lier celle-ci à - libpthreads, qui n'est pas compilée par défaut. Pour la compiler et l'installer - sur votre système, lancez make all install depuis - /usr/src/lib/libpthread (si les sources sont - installées sur votre système) ou récupérez les modules - libpthread et libc depuis CVS. Vous n'avez - pas besoin de recompiler la libc, mais les makefiles de libpthread font références - à certaines parties des sources de libc.
- -Lier une application à libpthread est assez simple. Dans ses makefiles, remplacez - l'option -pthread par -lpthread et refaites l'édition des liens. Vous - pouvez aussi copier libpthread.so par dessus libc_r.so, mais ce n'est pas recommandé - tant que libpthread.so n'est pas suffisamment stable. + libpthread, ce qui est assez simple. Dans ses makefiles, remplacez + le paramètre de compilation -pthread ou l'option de lien + -lc_r par -lpthread et refaites l'édition des liens. Vous + pouvez aussi utiliser /etc/libmap.conf pour associer libc_r à libpthread + (voir libmap.conf(5)).
Ceci est une liste incomplète de tâches :
| Module | Tâche | Responsable | Dernière mise à jour | Etat | |||||
|---|---|---|---|---|---|---|---|---|---|
| libpthread | Ecrire la page de man kse(2) documentant les nouveaux appels système. | &a.archie; | 10 Septembre 2002 | &status.done; | |||||
| libpthread | Repo-copy de la bibliothèque libpthread à partir de libc_r. | responsable du cvs | 16 Septembre 2002 | &status.done; | |||||
| libpthread | Utiliser KSE pour ordonnancer les processus. | &a.mini; | 30 Octobre 2002 | &status.done; | |||||
| libpthread | Ordonnancer un contexte "inactif" si nécessaire. | &a.mini; | 2 Novembre 2002 | &status.done; | |||||
| libpthread | Envoyer des signaux aux threads. | &a.deischen; &a.davidxu; | 28 Juin 2003 | &status.done; | |||||
| libpthread | Verrous pour le SMP. | &a.deischen; | 3 Mai 2003 | &status.done; | |||||
| noyau | Verrous pour le SMP. | &a.davidxu; | 3 Mai 2003 | &status.done; | |||||
| libpthread | Lancer plusieurs KSEs (un par processeur). | &a.davidxu; | 3 Mai 2003 | &status.done; | |||||
| libpthread | -Implémenter des fonctions machine-dépendantes pour les plateformes non-x86. | +libpthread, noyau | +Implémenter des fonctions machine-dépendantes pour la plateforme alpha. | &a.marcel; | -28 Juin 2003 | +30 Août 2003 | &status.wip; | ||
| libpthread, noyau | +Implémenter des fonctions machine-dépendantes pour la plateforme amd64. | +&a.davidxu; &a.deischen; | +30 Août 2003 | +&status.done; | +|||||
| noyau | -Implémenter des fonctions machine-dépendantes pour les plateformes non-x86. | +libpthread, noyau | +Implémenter des fonctions machine-dépendantes pour la plateforme i386. | +&a.davidxu; &a.deischen; | +30 Août 2003 | +&status.done; | +|||
| libpthread, noyau | +Implémenter des fonctions machine-dépendantes pour la plateforme ia64. | &a.marcel; | -28 Juin 2003 | -&status.wip; | +30 Août 2003 | +&status.done; | |||
| - | Portage de liblwp de NetBSD vers FreeBSD/KSE. | -- | 2 Novembre 2002 | -&status.new; | +libpthread, noyau | +Implémenter des fonctions machine-dépendantes pour la plateforme sparc64. | +&a.jake; | +30 Août 2003 | +&status.wip; |
| noyau | Implémenter la gestion des signaux spécifique à KSE. | &a.davidxu; | 28 Juin 2003 | &status.done; | |||||
| libpthread | Implémenter les threads dans le domaine système. | &a.deischen; | 3 Mai 2003 | &status.done; | |||||
| noyau | Améliorer la performance des threads du domaine système (pas de nouveaux appels si bloqués). | &a.davidxu; | -3 Mai 2003 | -&status.wip; | +30 Août 2003 | +&status.done; |