diff --git a/fr/java/docs/faq.sgml b/fr/java/docs/faq.sgml new file mode 100644 index 0000000000..f819144917 --- /dev/null +++ b/fr/java/docs/faq.sgml @@ -0,0 +1,121 @@ + + + + %includes; +]> + + + + +&header; + + + + + +
+

Contenu

+
    +
  1. Existe-t'il un JDK 1.2 pour FreeBSD ? +
  2. Puis-je utiliser le port Linux du projet Blackdown ? +
+

Les réponses

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 1. + + Existe-t'il un JDK 1.2 pour FreeBSD ? +

+ Non. Mais le port est en cours. Consultez la section "Nouveautés". +

PrécédentHaut de pageSuivant

+ 2. + Puis-je utiliser le port Linux du projet Blackdown ? +

+ Plusieurs personnes ont réussi. Essayez les instructions suivantes : + Télécharger l'archive et l'extraire dans un répertoire. Appliquer ensuite le diff suivant :
+
+	  --- bin/.java_wrapper.dist      Thu Jun  3 01:14:34 1999
+	  +++ bin/.java_wrapper   Thu Oct 14 19:17:11 1999
+	  @@ -31,8 +31,8 @@
+	  # Resolve symlinks. See 4152645.
+	  while [ -h "$PRG" ]; do
+	  ls=`/bin/ls -ld "$PRG"`
+	  -    link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
+	  -    if /usr/bin/expr "$link" : '/' > /dev/null; then
+	  +    link=`/compat/linux/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
+	  +    if /compat/linux/usr/bin/expr "$link" : '/' > /dev/null; then
+	  PRG="$link"
+	  else
+	  PRG="`/usr/bin/dirname $PRG`/$link"
+	  @@ -63,7 +63,7 @@
+	  # Select vm type (if classic vm, also select thread type).
+	  unset vmtype
+	  unset ttype
+	  -DEFAULT_THREADS_FLAG=native
+	  +DEFAULT_THREADS_FLAG=green
+	  if [ "x$1" = "x-hotspot" ]; then
+	  vmtype=hotspot
+	  ttype=native_threads
+	  --- jre/bin/.java_wrapper.dist  Thu Jun  3 01:14:34 1999
+	  +++ jre/bin/.java_wrapper       Thu Oct 14 19:32:06 1999
+	  @@ -31,8 +31,8 @@
+	  # Resolve symlinks. See 4152645.
+	  while [ -h "$PRG" ]; do
+	  ls=`/bin/ls -ld "$PRG"`
+	  -    link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
+	  -    if /usr/bin/expr "$link" : '/' > /dev/null; then
+	  +    link=`/compat/linux/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
+	  +    if /compat/linux/usr/bin/expr "$link" : '/' > /dev/null; then
+	  PRG="$link"
+	  else
+	  PRG="`/usr/bin/dirname $PRG`/$link"
+	  @@ -63,7 +63,7 @@
+	  # Select vm type (if classic vm, also select thread type).
+	  unset vmtype
+	  unset ttype
+	  -DEFAULT_THREADS_FLAG=native
+	  +DEFAULT_THREADS_FLAG=green
+	  if [ "x$1" = "x-hotspot" ]; then
+	  vmtype=hotspot
+	  ttype=native_threads

+ Thanks to Makoto MATSUSHITA (matusita@ics.es.osaka-u.ac.jp) +

PrécédentHaut de pageSuivant
+
+&footer; + + diff --git a/fr/java/docs/howtoports.sgml b/fr/java/docs/howtoports.sgml new file mode 100644 index 0000000000..3c7a26c6f9 --- /dev/null +++ b/fr/java/docs/howtoports.sgml @@ -0,0 +1,42 @@ + + + + %includes; +]> + + + + +&header; + + + + + +
+

Des instructions plus générales peuvent être trouvées dans le manuel de référence de FreeBSD, sous le titre Porter des Applications. +

Pour les ports Java, il y a des standards non officiels: +

+    1) Si c'est une librairie, alors les fichiers jar vont dans:
+          /usr/local/share/java/classes/
+
+    2) Si c'est une application indépendante, les fichiers java vont dans:
+          /usr/local/share/java/<application-name>/
+        et les scripts à exécuter vont dans:
+          /usr/local/bin/
+
+    3) La documentation va dans:
+          /usr/local/share/doc/java/<application-name>/
+
+

Plus nous aurons d'applications portées, mieux ce sera. +

+ +&footer; + + diff --git a/fr/java/docs/newbies.sgml b/fr/java/docs/newbies.sgml new file mode 100644 index 0000000000..12c52e7e1b --- /dev/null +++ b/fr/java/docs/newbies.sgml @@ -0,0 +1,30 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+

Quel sorte de "débutant" êtes-vous ?

+ +

Débutant sur le JDK de FreeBSD ? -- Apprenez comment installer le JDK +

Débutant en Java ? -- Apprenez Java en utilisant un guide ou un livre. Un des ouvrages les plus souvent recommandé est Thinking in Java de Bruce Eckel. +

+ +&footer; + + diff --git a/fr/java/docs/performance.sgml b/fr/java/docs/performance.sgml new file mode 100644 index 0000000000..c10c106cd2 --- /dev/null +++ b/fr/java/docs/performance.sgml @@ -0,0 +1,193 @@ + + + + %includes; +]> + + + + +&header; + +

Introduction :

+

La décision de Sun de sortir une version officiel de Java +pour Linux a déclenché beaucoup de discussions. Cette étude a +été réalisée pour comparer les performances actuelles du +port Linux Blackdown avec le +port FreeBSD +du JDK.

+ +

Résumé :

+

Le port Linux est plus rapide que le port FreeBSD, même lorsque le JIT est pris +en compte. Pour les applications graphiques intensives, tous les tests FreeBSD sont +plus rapides que pour Linux, TYA pour FreeBSD étant le plus rapide de tous. La comparaison +du port Linux et du port FreeBSD, sans JIT dans les deux cas, montre que FreeBSD est +plus rapide. Nous pouvons en conclure que, sous FreeBSD, la conception du JIT +fait la différence en ce qui concerne la vitesse.

+ + +

Les méthodes de tests :

+

Tous les tests ont été réalisés sur FreeBSD 3.4-RC (Mardi 7 Dec 09:14:51 EST 1999) sur un +Bi-Pentium 200 avec 128 Mo de RAM. Les tests ont été conduits avec +le logiciel +Caffeine Mark 3.0 de Pendragon Software et avec l'option "Exécuter tous les test en local".

+ +

Versions des logiciels :

+

Voici la liste des logiciels utilisés dans ce test : +
FreeBSD JDK 1.1.8 +
JDK 1.2.2-RC3 de Blackdown (sous émulation Linux) +
ShuJIT 0.3.13 +
TYA 1.5 +

+ +

Résumé des résultats

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test 1Test 2Test 3Test 4Test 5Moyenne
Linux JDK 1.2.2/sans JIT222223224225222223
FreeBSD JDK 1.1.8/sans JIT247247247250247246
Linux JDK 1.2.2/JIT standard539550543544535542
FreeBSD JDK 1.1.8/shujit373376369374373373
FreeBSD JDK 1.1.8/TYA478477478479483479
+ +

Extraits des résultats détaillés :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SieveBouclesLogiquesChaînes de caractèresFlottantsMéthodesGraphiquesImagesDialogues
Linux JDK 1.2.2/sans JIT3804344334893633373062540
FreeBSD JDK 1.1.8/sans JIT3184564343933813813447737
Linux JDK 1.2.2/JIT standard136120053354872116118022472840
FreeBSD JDK 1.1.8/shujit8001566219158810101013177937
FreeBSD JDK 1.1.8/TYA7121467235294910785123577438
+ +

Conclusion :

+

De nouvelles versions des logiciels utilisés pour ces tests sont sortis depuis + qu'ils ont été réalisés. Pour cette raison, ces tests seront à nouveau effectués prochainement +pour voir si les nouveaux JITs pour FreeBSD modifient les résultats. +Les même JITs seront utilisés avec le JDK pour Linux afin de tester également leur effet.

+ +

Testeur :

+

Ces tests ont été conduits par Patrick Gardella patrick@freebsd.org en Décembre 1999.

+&footer; + + diff --git a/fr/java/docs/tutorials.sgml b/fr/java/docs/tutorials.sgml new file mode 100644 index 0000000000..9cea03ea09 --- /dev/null +++ b/fr/java/docs/tutorials.sgml @@ -0,0 +1,29 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+

Actuellement, nous n'avons aucun guide spécifique à FreeBSD. Si vous aimeriez en voir un, envoyez un message à freebsd-java@freebsd.org. + +

D'autres guides peuvent être trouvés ici. +

+ +&footer; + + diff --git a/fr/java/links/api.sgml b/fr/java/links/api.sgml new file mode 100644 index 0000000000..16300a2fb1 --- /dev/null +++ b/fr/java/links/api.sgml @@ -0,0 +1,119 @@ + + + + %includes; +]> + + + + +&header; + + + + + +
+

API - Extensions par Sun Microsystems

+ + La liste suivante contient un extrait des définitions et des + implémentations des API disponibles réalisées par SUN (pour commencer consultez + Produits Java et allez par exemple sur Extensions Standards) + +
    +
  • JFC (Classes de Base Java)
    + C'est de là que provient Swing. Pour plus d'informations consultez + La Connexion Swing. +
  • Structure Média pour JavaTM
    + L'API Structure Média pour Java (JMF) 1.0 spécifie une architecture simple + et unifiée, un protocole d'envoi de messages et une interface de programmation + pour la lecture de médias. Cette API a été développée par Sun Microsystems, + Inc., Silicon Graphics Inc., et Intel Corporation. +
    + L'API Structure Média pour Java (JMF) 2.0 étends l'API 1.0 API en + fournissant des fonctions de capture, des modules codecs, la sauvegarde de fichiers, la diffusion + d'émissions radio/télé et la capacité d'accéder et de manipuler les données média avant de + les diffuser. Cette API est disponible publiquement et a été développée + par Sun Microsystems, Inc. et IBM. +
  • Traitement d'Images Avancé JavaTM
    + L'API de Traitement d'Images Avancé Java (JAI) est l'interface de programmation + extensible et avec possibilité d'utiliser des fonctions réseaux + pour la création d'applications et d'applets avancées de traitement + d'images en Java. L'API de Traitement d'Images Avancé Java offre un jeu + complet de fonctions pour le traitement d'images comme le "tiling", l'exécution + différée et l'utilisation de plusieurs processeurs. + Entièrement compatible avec l'API Java 2D, les développeurs peuvent facilement + étendre les fonctions de traitement d'images et les performances des applications + Java 2D standards avec l'API de Traitement d'Images Avancé Java. +
  • Port Série (COMM) JavaTM
    + Le Port Série Java peut être utilisé pour écrire des applications de communications + indépendantes de la plate-forme pour des technologies telles que l'envoi de messages parlés, + le fax et les cartes à puce. + La version actuelle supporte les ports séries RS232 et les ports parallèles IEEE 1284. +
  • Java 3DTM
    + L'API Java 3D TM 1.1 est un ensemble de classes pour écrire + des applications graphiques en 3-dimensions et des applets 3D. Elle apporte + aux développeurs des fonctions de haut niveau pour la création et la manipulation + de la géométrie 3D et pour la construction des structures utilisées dans le rendu + de cette géometrie. Les développeurs d'applications peuvent décrire de très grands + mondes virtuels avec ces fonctions, qui fournissent à la librairie Java 3D suffisamment + d'informations pour produire un rendu optimal de ces mondes. +
  • JavaMail
    + L'API JavaMail fournit un ensemble de classes abstraites qui représente un sytème de courrier électronique. + L'API a été élaborée afin de fournir une structure indépendante de la plate-forme et indépendante du protocole + pour construire des applications Java de courrier électronique et d'envoi de messages. +
  • JavaHelpTM
    + JavaHelp est le système d'aide pour la plate-forme Java : c'est un système d'aide + basé sur Java et indépendant de la plate-forme qui permet aux développeurs Java + d'inclure une aide en ligne dans de nombreux cas, comme les composants Java, + les applications (en réseau ou non), les gestionnaires de bureaux et les pages HTML. +
  • Structure d'Activation JavaBeansTM (JAF)
    + Avec la Structure d'Activation JavaBeans (JAF) les développeurs peuvent tirer + avantage de services standards pour déterminer le type de données + quelconques, d'encapsuler l'accès à ces données, de découvrir les opérations + possibles sur ces données et de créer le composant JavaBeans approprié + pour réaliser ces opérations. +
  • Servlet JavaTM
    + Les Servlet Java fournissent une interface uniformisée et supportée par les professionnels + pour étendre un serveur web avec des composants indépendants de la plate-forme + et du serveur écrits en langage Java. +
  • Chiffrement en JavaTM (JCE)
    + L'Extension Chiffrement en Java (JCE) 1.2 fournir la structure et les + implantations pour le chiffrement, la génération et la gestion de clefs et + les algorithmes de Code d'Authentification de Message (MAC). Le support du chiffrement inclu + les chiffrements symétriques, asymétriques, en blocs et en flux. La librairie supporte aussi + les flux sécurisés et les objets "scellés". +
  • InfoBus
    + InfoBus permet un échange dynamique de données entre des composants JavaBeans en + définissant un petit nombre d'interfaces entre les Beans en coopération et en spécifiant + le protocole pour utiliser ces interfaces.
    + Les protocoles sont basés sur une notion de bus d'information. Tous les composants + qui implémentent ces interfaces peuvent se connecter sur le bus. En tant que membre du + bus n'importe quel composant peut échanger des données avec n'importe quel autre composant + de manière structurée, y compris des tableaux, des tables et des données provenant d'une base de données. +
  • Nommage Java et Interface pour les AnnuairesTM (JNDI)
    + Fournit une connectivité uniformisée, standard et directe d'une + plate-forme Java vers l'ensemble des informations de l'entreprise, permettant ainsi aux développeurs de + concevoir des applications Java avec un accès unifié aux multiples services de + nommage et d'annuaires de l'entreprise. +
  • Le Projet XML
    + Le site de Sun pour l'alliance du XML et de Java +
+

Logiciels de tiers...

+
    +
  • JGL (Librairie Générique Java)
    + Une collection d'API avec par exemple les listes liées etc. La collection + d'API avant l'invention de la collection d'API dans JDK1.2 +
  • XML4J
    + Parser XML pour java réalisé par IBM +
+
+&footer; + + diff --git a/fr/java/links/development.sgml b/fr/java/links/development.sgml new file mode 100644 index 0000000000..addab750f1 --- /dev/null +++ b/fr/java/links/development.sgml @@ -0,0 +1,84 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+

Ci-dessous plusieurs liens vers des outils qui peuvent être utilisés avec FreeBSD. Cette liste n'est pas exhaustive. + +

    +
  • IDE +
      +
    • Visual Age pour Java - Professionnel
      +Joachim Jaeckel décrit sur cette page la manière de procédé afin de faire fonctionner Visual Age pour Java version Professionel 3.0 (Linux) sous -CURRENT: http://www.coffeebreak.de/freebsd/ +
    • JDE
      + Mode (X)Emacs pour éditer du Java +
    • visaj
      + Un logiciel commercial de création d'application pour Java. +
    • jEdit
      + jEdit est un éditeur de texte orienté programmation écrit en Java avec Swing et qui supporte des plug-ins. L'auteur travaille également actuellement sur jEdit-IDE. +
    • NetBeans
      + Un nouvel IDE écrit entièrement en java. Différentes versions sont disponibles, gratuites et commercials. Appartient maintenant à Sun Microsystems. +
    • JWS - IDE de Sun
      + N'est plus maintenu depuis que Sun a acquis NetBeans + afin de l'utiliser pour leur IDE. +
    • FreeBuilder
      + IDE en open-source, un début prometteur mais son développement semble ralentir + ces derniers temps. Mais ne croyez pas uniquement les informations présentées sur + les pages web, vérifiez aussi la dernière version des sources sur le CVS. +
    • Lemur
      + Un IDE écrit en Java et qui utilise Swing. +
    • ElixirIDE
      + Un IDE qui inclue un debugger. Classé dans les 5% premiers sur JARS. +
    +
  • JDBC +
      +
    • Liste des drivers JDBC de Sun +
    • Town
      + Une API 100% Pure Java qui fonctionne en conjonction avec JDBC. +
    • tjFM
      + Un driver JDBC de Type 4 pour MySQL. +
    • GWE
      + Un driver JDBC de Type 4 pour MySQL. +
    • mm.mysql
      + Un driver JDBC de Type 4 pour MySQL. +
    +
  • UML +
      +
    • "Structure Builder" de Tendril Software
      + Un logiciel de développement UML écrit en Java - une version commerciale et une version démo + sont disponibles.
      + Un plugin pour NetBeans est disponible. +
    • TogetherJ
      + Environnement de développement basé sur UML, écrit en Java. Différentes éditions + sont disponibles, y compris une version gratuite. +
    +
  • Outils +
      +
    • Jikes
      + Compilateur Java ultra-rapide de IBM (disponible dans les ports) +
    • Guavac
      + Guavac est un compilateur java gratuit développé sous licence GNU, +et il inclue notamment guavad, un "décompilateur" de bytecode java. +
    +
+
+ +&footer; + + diff --git a/fr/java/links/documentation.sgml b/fr/java/links/documentation.sgml new file mode 100755 index 0000000000..eec2757e26 --- /dev/null +++ b/fr/java/links/documentation.sgml @@ -0,0 +1,33 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+ +
+&footer; + + diff --git a/fr/java/links/freebsd.sgml b/fr/java/links/freebsd.sgml new file mode 100755 index 0000000000..2945007569 --- /dev/null +++ b/fr/java/links/freebsd.sgml @@ -0,0 +1,44 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+ +
+ +&footer; + + diff --git a/fr/java/links/index.sgml b/fr/java/links/index.sgml new file mode 100644 index 0000000000..927f51bf47 --- /dev/null +++ b/fr/java/links/index.sgml @@ -0,0 +1,47 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+

Cette page présente différentes catégories de liens sur + des ressources Java. Elles sont classées par thèmes.

+ +
    +
  • FreeBSD
    + Spécifiques à FreeBSD comme les ports etc. +
  • Revendeurs
    + Contient des liens vers les sites web de Sun, IBM... . +
  • Outils de développement
    + Contient des liens vers des outils de développement Java (y compris Sun, IBM) +
  • APIs
    + Contient des liens sur différentes API et des implémentations de protocoles +
  • Guides
    + Contient des liens sur des guides en ligne comme par exemple celui de JavaSoft +
  • Documentations
    + Contient des liens vers des documents disponibles en ligne concernant Java +
  • Servlets
    + Contient des liens sur des informations à propos des servlets et des moteurs de servlets +
  • Ressources...
    + Tout ce qui ne rentre pas dans les autres catégories +
+
+ +&footer; + + diff --git a/fr/java/links/resources.sgml b/fr/java/links/resources.sgml new file mode 100755 index 0000000000..1320129003 --- /dev/null +++ b/fr/java/links/resources.sgml @@ -0,0 +1,52 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+
    +
  • Catalogue Java de Gamelan
    + Collection d'applets Java, de programmes, d'outils et de librairies... +
  • Java World
    + Le Magazine Java +
  • Giant Java Tree (GJT)
    + Code Java Open Source organisé dans un système CVS. +
  • JOS
    + Système d'exploitation libre en Java (encore en cours de développement mais déjà + des fonctionnalités intéressantes disponibles). +
  • Javalobby
    + Organisation pour le support de Java (luttez pour Java), qui propose quelques fois gratuitement
    + des logiciels commerciaux (si vous êtes membre de Javalobby). +
      +
    • JFA
      + Structure d'Applications Javalobby ("Javalobby Application Framework"), une collection de différents programmes Java.
      + Aussi disponible via GJT. +
    +
  • ICE
    + Offre un hébergement web pour quelques projets Java sympas, tels que JCVS. +
  • JCentral
    + Un moteur de recherche dédié uniquement à Java (il recherche
    + dans les forums, les archives de code source, ...). Service proposé par IBM +
  • Java par le groupe Apache
    + Différents projets concernant java et le web, tels que JServ, Cocoon, etc. +
+
+ +&footer; + + diff --git a/fr/java/links/servlets.sgml b/fr/java/links/servlets.sgml new file mode 100755 index 0000000000..532ee73f9e --- /dev/null +++ b/fr/java/links/servlets.sgml @@ -0,0 +1,56 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+ +

Les servlets sont une API Java qui peut être utilisée pour remplacer les scripts CGI écrits en Perl, ou plus spécifiquement, pour étendre les capacités d'un serveur web. + +

Les servlets peuvent aussi être utilisées avec XML et XSL. + +

    +
  • API + +
  • Informations à propos des Servlets + +
  • Moteurs de Servlets. +
      +
    • Java Web Server
      + Java Web Server était la référence en matière d'implémentation de moteurs de servlets implémentés en Java. Sun a transmis le code au projet Apache et il est aujourd'hui connu sous le nom de Tomcat. +
    • Tomcat (Projet Jakarta)
      + L'implémentation de référence des Servlets Java et des Pages Serveur Java (JSP). Le code n'est pas encore disponible, à l'exception d'une distribution sous forme compilée mise à jour quotidiennement. +
    • Apache JServ
      + Une implémentation 100% pure Java des spécifications de l'API Servlet 2.0. Elle fonctionne avec Apache. +
    • ServletExec
      + Un moteur de servlets commercial très performant. Une version de démonstration/développement gratuite est disponible et elle fournit un débugger de servlets. Il fonctionne avec la plupart des serveurs web. +
    • JRun
      + Un moteur de servlets commercial très performant. Une version de démonstration/développement est disponible gratuitement. En 1998, JRun a été élu meilleur moteur de servlets par JavaWorld et meilleur outil Java par WebTechnique. Il a été récemment racheté par Allaire. Il fonctionne avec la plupart des serveurs Web. +
    +
+
+&footer; + + diff --git a/fr/java/links/tools.sgml b/fr/java/links/tools.sgml new file mode 100644 index 0000000000..d82f8a8b5d --- /dev/null +++ b/fr/java/links/tools.sgml @@ -0,0 +1,37 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+
    +
  • Programmation +
      +
    • JPython
      + Le meilleur langage de script Java (combine Python et Java) - un must ! +
    +
  • Autres +
      +
    • Jikes
      + Compilateur Java ultra-rapide d'IBM (disponible dans les ports) +
    +
+
+&footer; + + diff --git a/fr/java/links/tutorials.sgml b/fr/java/links/tutorials.sgml new file mode 100644 index 0000000000..41fc463d40 --- /dev/null +++ b/fr/java/links/tutorials.sgml @@ -0,0 +1,31 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+ +
+&footer; + + diff --git a/fr/java/links/vendor.sgml b/fr/java/links/vendor.sgml new file mode 100644 index 0000000000..32071495b4 --- /dev/null +++ b/fr/java/links/vendor.sgml @@ -0,0 +1,41 @@ + + + + %includes; +]> + + + + +&header; + + + + +
+

Cette page contient des liens triés par revendeurs.

+ +
+&footer; + + diff --git a/fr/kse/index.sgml b/fr/kse/index.sgml new file mode 100644 index 0000000000..87e585457f --- /dev/null +++ b/fr/kse/index.sgml @@ -0,0 +1,238 @@ + + + + + %includes; + + +Fait"> +En progrès"> +En attente"> +Pas commencé"> +Résolu"> +Non résolu"> + + + + %developers; + +]> + + + + + &header; + +

Contenu

+ + + +

Aperçu

+ +

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 + 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. + + +

Utilisation de KSE

+ +

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). + +

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. + + +

Lectures complémentaires

+

+

+ + + +

Etat du projet

+ +

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. &a.marcel; 28 Juin 2003 &status.wip;
noyau Implémenter des fonctions machine-dépendantes pour les plateformes non-x86. &a.marcel; 28 Juin 2003 &status.wip;
  Portage de liblwp de NetBSD vers FreeBSD/KSE.   2 Novembre 2002 &status.new;
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;
+ + &footer; + +