282a032540
- Repocopy from www/<lang> to head/<lang>/htdocs to eliminate duplicate information in the www and the doc directory. - Add various administration files to svnadmin. Approved by: doceng (implicit)
249 lines
8 KiB
Text
249 lines
8 KiB
Text
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
|
|
<!ENTITY base CDATA "..">
|
|
<!ENTITY date "$FreeBSD: www/fr/kse/index.sgml,v 1.7 2006/08/19 21:23:38 hrs Exp $">
|
|
<!ENTITY title "Projet KSE">
|
|
<!ENTITY email 'mini'>
|
|
<!ENTITY % navinclude.developers "INCLUDE">
|
|
|
|
<!-- Status levels -->
|
|
<!ENTITY status.done "<font color=green>Fait</font>">
|
|
<!ENTITY status.wip "<font color=blue>En progrès</font>">
|
|
<!ENTITY status.stalled "<font color=purple>En attente</font>">
|
|
<!ENTITY status.new "<font color=red>Pas commencé</font>">
|
|
<!ENTITY status.resolved "<font color=green>Résolu</font>">
|
|
<!ENTITY status.unresolved "<font color=red>Non résolu</font>">
|
|
|
|
<!-- The list of contributors was moved to a separate file so that it can
|
|
be used by other documents in the FreeBSD web site. -->
|
|
|
|
<!ENTITY % developers SYSTEM "../../en/developers.sgml"> %developers;
|
|
|
|
]>
|
|
|
|
<!--
|
|
The FreeBSD French Documentation Project
|
|
Original revision: 1.17
|
|
|
|
Version francaise : Francis Bacque <opl@opltech.net>
|
|
Version francaise (mise a jour) : Stephane Legrand <stephane@freebsd-fr.org>
|
|
Version francaise (mise a jour) : Vincent Tougait <viny@scientiae.net>
|
|
Version francaise (mise a jour) : Antoine Brodin <antoine.brodin@laposte.net>
|
|
-->
|
|
|
|
<html>
|
|
&header;
|
|
|
|
<h2>Contenu</h2>
|
|
<ul>
|
|
<li><a href="#overview">Aperçu du projet</a></li>
|
|
<li><a href="#using">Utilisation de KSE</a></li>
|
|
<li><a href="#further.reading">Lectures complémentaires</a></li>
|
|
<li><a href="#status.kernel">Etat du Projet</a></li>
|
|
</ul>
|
|
|
|
<a id="overview" name="overview"></a>
|
|
<h2>Aperçu</h2>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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
|
|
que procure le noyau.</p>
|
|
|
|
<p>Le but est de remplacer l'actuel système de threads utilisateur procuré
|
|
par la libc_r, et l'option <tt>-pthread</tt> de gcc, par une nouvelle bibliothèque
|
|
libpthread qui sera liée avec l'option <tt>-lpthread</tt> de gcc.</p>
|
|
|
|
<a name="using"></a>
|
|
<h2>Utilisation de KSE</h2>
|
|
|
|
<p>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).</p>
|
|
|
|
<p>Pour utiliser KSE dans une application, vous devez lier celle-ci à
|
|
libpthread, ce qui est assez simple. Dans ses makefiles, remplacez
|
|
le paramètre de compilation <tt>-pthread</tt> ou l'option de lien
|
|
<tt>-lc_r</tt> par <tt>-lpthread</tt> et refaites l'édition des liens. Vous
|
|
pouvez aussi utiliser <tt>/etc/libmap.conf</tt> pour associer libc_r à libpthread
|
|
(voir <tt>libmap.conf(5)</tt>).</p>
|
|
|
|
<a name="further.reading"></a>
|
|
<h2>Lectures complémentaires</h2>
|
|
<p>
|
|
<ul>
|
|
<li><a href="http://www.aims.net.au/chris/kse/">
|
|
Kernel-Scheduled Entities for FreeBSD</a>, par Jason Evans.
|
|
(légèrement daté).
|
|
</li>
|
|
<li><a href="http://www.FreeBSD.org/cgi/man.cgi?query=kse&apropos=0&sektion=0&manpath=FreeBSD+5.0-current&format=html">page de manuel KSE</a>
|
|
</li>
|
|
<li><a href="http://people.FreeBSD.org/~deischen/docs/Scheduler.pdf">
|
|
Scheduler Activations</a>, par Anderson, et al.
|
|
</li>
|
|
</ul>
|
|
|
|
<a name="status.kernel"></a>
|
|
<a name="status"></a>
|
|
<h2>Etat du projet</h2>
|
|
|
|
<p>Ceci est une liste incomplète de tâches :</p>
|
|
|
|
<table class="tblbasic">
|
|
<tr>
|
|
<th> Module </th>
|
|
<th> Tâche </th>
|
|
<th> Responsable </th>
|
|
<th> Dernière mise à jour </th>
|
|
<th> Etat </th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Ecrire la page de man kse(2) documentant les nouveaux appels système. </td>
|
|
<td> &a.archie; </td>
|
|
<td> 10 Septembre 2002 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Repo-copy de la bibliothèque libpthread à partir de libc_r. </td>
|
|
<td> responsable du cvs </td>
|
|
<td> 16 Septembre 2002 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Utiliser KSE pour ordonnancer les processus. </td>
|
|
<td> &a.mini; </td>
|
|
<td> 30 Octobre 2002 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Ordonnancer un contexte "inactif" si nécessaire. </td>
|
|
<td> &a.mini; </td>
|
|
<td> 2 Novembre 2002 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Envoyer des signaux aux threads. </td>
|
|
<td> &a.deischen; &a.davidxu; </td>
|
|
<td> 28 Juin 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Verrous pour le SMP. </td>
|
|
<td> &a.deischen; </td>
|
|
<td> 3 Mai 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> noyau </td>
|
|
<td> Verrous pour le SMP. </td>
|
|
<td> &a.davidxu; </td>
|
|
<td> 3 Mai 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Lancer plusieurs KSEs (un par processeur). </td>
|
|
<td> &a.davidxu; </td>
|
|
<td> 3 Mai 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread, noyau </td>
|
|
<td> Implémenter des fonctions machine-dépendantes pour la plateforme alpha. </td>
|
|
<td> &a.marcel; </td>
|
|
<td> 30 Août 2003 </td>
|
|
<td> &status.wip; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread, noyau </td>
|
|
<td> Implémenter des fonctions machine-dépendantes pour la plateforme amd64. </td>
|
|
<td> &a.davidxu; &a.deischen; </td>
|
|
<td> 30 Août 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread, noyau </td>
|
|
<td> Implémenter des fonctions machine-dépendantes pour la plateforme i386. </td>
|
|
<td> &a.davidxu; &a.deischen; </td>
|
|
<td> 30 Août 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread, noyau </td>
|
|
<td> Implémenter des fonctions machine-dépendantes pour la plateforme ia64. </td>
|
|
<td> &a.marcel; </td>
|
|
<td> 30 Août 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread, noyau </td>
|
|
<td> Implémenter des fonctions machine-dépendantes pour la plateforme sparc64. </td>
|
|
<td> &a.jake; </td>
|
|
<td> 30 Août 2003 </td>
|
|
<td> &status.wip; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> noyau </td>
|
|
<td> Implémenter la gestion des signaux spécifique à KSE. </td>
|
|
<td> &a.davidxu; </td>
|
|
<td> 28 Juin 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> libpthread </td>
|
|
<td> Implémenter les threads dans le domaine système. </td>
|
|
<td> &a.deischen; </td>
|
|
<td> 3 Mai 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> noyau </td>
|
|
<td> Améliorer la performance des threads du domaine système (pas de nouveaux appels si bloqués). </td>
|
|
<td> &a.davidxu; </td>
|
|
<td> 30 Août 2003 </td>
|
|
<td> &status.done; </td>
|
|
</tr>
|
|
|
|
<!--
|
|
<tr>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> D M 2002 </td>
|
|
<td> &status.new; </td>
|
|
</tr>
|
|
|
|
-->
|
|
</table>
|
|
|
|
&footer;
|
|
</body>
|
|
</html>
|