[Kos-cvs] kos-web/contents contribute_en.i, 1.2, 1.3 contribute_fr.i, 1.1, 1.2 doc-projet_fr.i, 1.4, 1.5

thomas at kos.enix.org thomas at kos.enix.org
Sun Jan 9 15:34:23 CET 2005


Update of /var/cvs/kos/kos-web/contents
In directory the-doors:/tmp/cvs-serv10635/contents

Modified Files:
	contribute_en.i contribute_fr.i doc-projet_fr.i 
Log Message:
HOWTO Contribuer

Index: doc-projet_fr.i
===================================================================
RCS file: /var/cvs/kos/kos-web/contents/doc-projet_fr.i,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- doc-projet_fr.i	5 Jan 2005 23:41:25 -0000	1.4
+++ doc-projet_fr.i	9 Jan 2005 14:34:20 -0000	1.5
@@ -10,6 +10,10 @@
 peuvent être utiles à la compréhension de KOS et cette page essaie de
 les lister.</p>
 
+<p>A noter que le code source est écrit et commenté en anglais. Nous
+commençons à commenter l'ensemble du code en utilisant l'outil
+Doxygen.</p>
+
 <h2>Documents à jour ou dignes d'intérêt</h2>
 
 <h3>Compiler, tester et débugger KOS</h3>

Index: contribute_fr.i
===================================================================
RCS file: /var/cvs/kos/kos-web/contents/contribute_fr.i,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- contribute_fr.i	5 Jan 2005 21:35:17 -0000	1.1
+++ contribute_fr.i	9 Jan 2005 14:34:20 -0000	1.2
@@ -2,7 +2,126 @@
 start_content_section("Comment participer ?");
 ?>
 
-<p>Bientôt.</p>
+<h2>Pourquoi contribuer à KOS ?</h2>
+
+<p>En contribuant à KOS, vous pourrez :</p>
+
+<ul>
+
+  <li>Comprendre le fonctionnement interne d'un système d'exploitaiton
+  32 bits multitâche moderne, et le fonctionnement de l'architecture
+  d'un ordinateur. KOS est un petit système d'exploitation, comparé au
+  noyau Linux, ou à ceux des systèmes BSDs. Cela permet d'avoir une
+  compréhension complète de son fonctionnement, et donc ensuite de
+  pouvoir plus facilement comprendre comment les autres noyaux
+  fonctionnement ;</li>
+
+  <li>Améliorer vos compétences en programmation C ;</li>
+
+  <li>Participer à un développement distribué, ce qui permet
+  d'utiliser des outils comme les mailing-lists ou CVS et de discuter
+  les concepts et idées par courrier électronique. L'organisation du
+  développement de KOS est typique de celle d'un petit Logiciel Libre,
+  et participer à son développement vous permettra de découvrir cela
+  ;</li>
+
+  <li>Et surtout, participer à un projet cool et sympa !</li>
+
+</ul>
+
+<p>Même si le projet paraît déjà important, nous sommes tout à fait
+prêts à expliquer à quiconque réellement intéresser comment tout cela
+fonctionne. N'hésitez pas à participer !</p>
+
+<h2>Comment contribuer ?</h2>
+
+<p>Voici quelques étapes pour commencer à contribuer à KOS :</p>
+
+<ol>
+
+ <li>S'incrire à la <?
+ make_link("contacts.php", "liste de diffusion"); ?>
+ <code>kos-dev</code>, qui est la liste dédiée au
+ développement. N'hésitez pas à poser vos questions, même si elles
+ vous paraissent stupides. Nous savons que comprendre le
+ fonctionnement d'un système d'exploitation n'est pas facile, et
+ sommes prêts à expliquer ;</li>
+
+ <li>Récupérer le code source en utilisant <?  make_link("cvs.php",
+ "CVS"); ?>, et le faire fonctionner en lisant le document
+ <i>Compiler, tester et debugger KOS</i> disponible sur la <?
+ make_link("documentations.php", "page des documents"); ?>. La
+ plateforme de développement principale est Unix, en particulier
+ GNU/Linux. KOS n'est pas très <i>user-friendly</i> pour le moment,
+ donc n'hésitez pas à poser vos questions sur la liste de discussion
+ si vous n'arrivez pas à le compiler ou à l'éxécuter ;</li>
+
+ <li>Programmer un petit <i>module</i> simple en prenant exemples sur
+ les modules déjà existants. Une fois que vous êtes familier avec les
+ procédures de compilation et de tests, vous pouvez choisir un des
+ éléments de la liste de la section suivante. Parlez-en sur la liste
+ avant de commencer !</li>
+
+</ol>
+
+<p>Bien entendu, contribuer du code n'est pas la seule manière de
+contribuer. Le site a besoin d'être mis à jour avec de nouvelles
+documentations et références sur les systèmes d'exploitation
+(architecture, concepts, recherches, documentations sur le matériel
+...). Le projet KOS a également besoin de documentation. Documenter le
+projet est un bon point de départ pour comprendre son
+fonctionnement.</p>
+
+<h2>Que puis-je faire ?</h2>
+
+<p>La TODO-liste complète est disponible dans le répertoire racine du
+module CVS <b>kos</b>. Ici, je liste quelques points de la TODO-liste
+qui sont relativement indépendants des développements actuels et qu'un
+nouveau développeur peut donc prendre en charge.</p>
+
+<ul>
+
+  <li>Implémenter le support de l'écriture dans le driver IDE. Pour le
+  moment, le driver IDE est seulement capable de lire depuis un disque
+  dur. Ajouter le support en écriture ne devrait pas être trop
+  difficile ;</li>
+
+  <li>Implémenter le support de l'écriture dans le driver FAT. FAT est
+  le seul système de fichiers supporté par KOS et est limité à la
+  lecture seule. Ajouter le support de l'écriture est un challenge
+  intéressant !</li>
+
+  <li>Implémenter le support des IRQ et du DMA dans le driver
+  IDE. Pour l'instant, le driver IDE utilise uniquement la technique
+  du <i>polling</i>, c'est à dire l'attente active, ce qui n'est pas
+  très efficace. Ajouter le support des IRQ, et pourquoi pas du DMA
+  serait intéressant ;</li>
+
+  <li>Améliorer le driver PCI. Pour l'instant, un driver PCI très
+  basique détecte les périphériques PCI du système. Ce driver doit
+  être amélioré pour proposer aux autres drivers (drivers de carte
+  réseau par exemple) une API for demander si des cartes PCI sont
+  disponibles, et si oui quelles sont leurs caractéristiques ;</li>
+
+  <li>Implémenter un driver pour les cartes réseau PCI NE2000. Cette
+  carte réseau est amulée par Bochs et Qemu ;</li>
+
+  <li>Implémenter une pile réseau basique, avec le support ARP, IP, et
+  pourquoi pas UDP, ICMP et TCP ! Bien sûr, cela doit être fait étape
+  par étape, au fur et à mesure.</li>
+
+  <li>Séparer le module <code>idt</code> en deux modules. Ce module
+  contient le code de gestion des interruptions, mais celui-ci mélange
+  du code dépendant de l'architecture avec du code indépendant de
+  l'architecture. Il faut donc identifier ces deux parties de code, et
+  mettre la partie dépendante de l'architecture dans un module
+  <code>arch/idt</code> et conserver la partie indépendante dans
+  <code>idt</code> ;</li>
+
+  <li>Séparer le module <code>debug</code> en deux modules, pour les
+  mêmes raisons que le module <code>idt</code> ;</li>
+
+</ul>
 
 <?
   end_content_section();

Index: contribute_en.i
===================================================================
RCS file: /var/cvs/kos/kos-web/contents/contribute_en.i,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- contribute_en.i	6 Jan 2005 23:49:41 -0000	1.2
+++ contribute_en.i	9 Jan 2005 14:34:20 -0000	1.3
@@ -21,7 +21,7 @@
  useful tools like mailing-lists or CVS, and discussing concepts and
  solutions through e-mail ;</li>
 
- <li>And most of all, take part in a nice and sympathic project !</li>
+ <li>And above all, take part in a nice and sympathic project !</li>
 
 </ul>
 
@@ -54,7 +54,7 @@
  <li>Start hacking by creating a new and simple <i>module</i> by
  taking the examples on available modules. Once you're familiar with
  the compilation and testing procedure, you can start hacking items
- that are on the TODO-list, see next section.</li>
+ that are on the TODO-list, see next section. </li>
 
 </ol>
 
@@ -70,7 +70,7 @@
 <p>The complete TODO-list is available in the root directory of the
 <b>kos</b> CVS module. Here, we list some items that are quite
 "independent" in the sense that it is possible for a new developer to
-take them in charge.
+take them in charge.</p>
 
 <ul>
 
@@ -85,17 +85,18 @@
  <li>Implementing IRQ and DMA usage in the IDE driver. Currently, the
  IDE driver only uses the <i>polling</i> mode (i.e busy-waiting),
  which is not very efficient. Adding IRQ and maybe DMA support would
- be very nice.</li>
+ be very nice ;</li>
 
  <li>Improve the PCI driver. Currently, a very basic PCI driver
  detects the PCI devices of the system. This driver has to be improved
  to allow other drivers (network drivers, etc..) to query for cards
- and for their configuration.</li>
+ and for their configuration ;</li>
 
  <li>Implement a NE2000 PCI driver, usable with the emulated devices
  of Qemu and Bochs.</li>
 
- <li>Implement a basic ARP, IP, and then UPD, ICMP, TCP stack.</li>
+ <li>Implement a basic ARP, IP, and then UPD, ICMP, TCP stack. Of
+ course, this has to be done step by step.</li>
 
  <li>Split the <code>idt</code> module, which is the module that
  contain the interrupt handling code, into two parts. The first part
@@ -103,6 +104,12 @@
  module), and the second part has to be be architecture-dependant (and
  be placed in the <code>arch/idt</code> module)</li>
 
+ <li>Split the <code>debug</code> module, a module that contains some
+ debugging facilities. Some of these functionnalities are
+ architecture-dependent, some are not. There should be a new
+ <code>arch/debug</code> module in which all the
+ architecture-dependent functionalities go.</li>
+
 </ul>
 
 <?



More information about the Kos-cvs mailing list