doc/fr_FR.ISO8859-1/htdocs/kse/index.sgml

250 lines
8 KiB
Text
Raw Normal View History

<!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&egrave;s</font>">
<!ENTITY status.stalled "<font color=purple>En attente</font>">
<!ENTITY status.new "<font color=red>Pas commenc&eacute;</font>">
<!ENTITY status.resolved "<font color=green>R&eacute;solu</font>">
<!ENTITY status.unresolved "<font color=red>Non r&eacute;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&ccedil;u du projet</a></li>
<li><a href="#using">Utilisation de KSE</a></li>
<li><a href="#further.reading">Lectures compl&eacute;mentaires</a></li>
<li><a href="#status.kernel">Etat du Projet</a></li>
</ul>
<a id="overview" name="overview"></a>
<h2>Aper&ccedil;u</h2>
<p>Le Kernel Scheduler Entities (KSE), est un syst&egrave;me de threading support&eacute; par
le noyau, au design similaire &agrave; celui du Scheduler Activations [Anderson, et. al.].
Il &eacute;tablit un &eacute;quilibre entre les mod&egrave;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&eacute;nients de chacun.</p>
<p>Le projet se compose de deux moiti&eacute;s : le support noyau et le support utilisateur.
Le support noyau consiste en modifications du scheduler FreeBSD; L'autre moiti&eacute; est
une impl&eacute;mentation des threads &posix; qui tire avantage des facilit&eacute;s suppl&eacute;mentaires
que procure le noyau.</p>
<p>Le but est de remplacer l'actuel syst&egrave;me de threads utilisateur procur&eacute;
par la libc_r, et l'option <tt>-pthread</tt> de gcc, par une nouvelle biblioth&egrave;que
libpthread qui sera li&eacute;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&eacute; 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 &agrave;
libpthread, ce qui est assez simple. Dans ses makefiles, remplacez
le param&egrave;tre de compilation <tt>-pthread</tt> ou l'option de lien
<tt>-lc_r</tt> par <tt>-lpthread</tt> et refaites l'&eacute;dition des liens. Vous
pouvez aussi utiliser <tt>/etc/libmap.conf</tt> pour associer libc_r &agrave; libpthread
(voir <tt>libmap.conf(5)</tt>).</p>
<a name="further.reading"></a>
<h2>Lectures compl&eacute;mentaires</h2>
<p>
<ul>
<li><a href="http://www.aims.net.au/chris/kse/">
Kernel-Scheduled Entities for FreeBSD</a>, par Jason Evans.
(l&eacute;g&egrave;rement dat&eacute;).
</li>
<li><a href="http://www.FreeBSD.org/cgi/man.cgi?query=kse&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+5.0-current&amp;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&egrave;te de t&acirc;ches :</p>
<table class="tblbasic">
<tr>
<th> Module </th>
<th> T&acirc;che </th>
<th> Responsable </th>
<th> Derni&egrave;re mise &agrave; jour </th>
<th> Etat </th>
</tr>
<tr>
<td> libpthread </td>
<td> Ecrire la page de man kse(2) documentant les nouveaux appels syst&egrave;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&egrave;que libpthread &agrave; 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&eacute;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&eacute;menter des fonctions machine-d&eacute;pendantes pour la plateforme alpha. </td>
<td> &a.marcel; </td>
<td> 30 Ao&ucirc;t 2003 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> libpthread, noyau </td>
<td> Impl&eacute;menter des fonctions machine-d&eacute;pendantes pour la plateforme amd64. </td>
<td> &a.davidxu; &a.deischen; </td>
<td> 30 Ao&ucirc;t 2003 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> libpthread, noyau </td>
<td> Impl&eacute;menter des fonctions machine-d&eacute;pendantes pour la plateforme i386. </td>
<td> &a.davidxu; &a.deischen; </td>
<td> 30 Ao&ucirc;t 2003 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> libpthread, noyau </td>
<td> Impl&eacute;menter des fonctions machine-d&eacute;pendantes pour la plateforme ia64. </td>
<td> &a.marcel; </td>
<td> 30 Ao&ucirc;t 2003 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> libpthread, noyau </td>
<td> Impl&eacute;menter des fonctions machine-d&eacute;pendantes pour la plateforme sparc64. </td>
<td> &a.jake; </td>
<td> 30 Ao&ucirc;t 2003 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> noyau </td>
<td> Impl&eacute;menter la gestion des signaux sp&eacute;cifique &agrave; KSE. </td>
<td> &a.davidxu; </td>
<td> 28 Juin 2003 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> libpthread </td>
<td> Impl&eacute;menter les threads dans le domaine syst&egrave;me. </td>
<td> &a.deischen; </td>
<td> 3 Mai 2003 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> noyau </td>
<td> Am&eacute;liorer la performance des threads du domaine syst&egrave;me (pas de nouveaux appels si bloqu&eacute;s). </td>
<td> &a.davidxu; </td>
<td> 30 Ao&ucirc;t 2003 </td>
<td> &status.done; </td>
</tr>
<!--
<tr>
<td> &nbsp; </td>
<td> </td>
<td> &nbsp; </td>
<td> D M 2002 </td>
<td> &status.new; </td>
</tr>
-->
</table>
&footer;
</body>
</html>