[Kos-cvs] kos-web/contents histo_en.i,1.6,1.7 histo_fr.i,1.10,1.11

thomas at kos.enix.org thomas at kos.enix.org
Wed Dec 29 22:25:09 CET 2004


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

Modified Files:
	histo_en.i histo_fr.i 
Log Message:
Mise à jour de l'historique en français + CSS

Index: histo_en.i
===================================================================
RCS file: /var/cvs/kos/kos-web/contents/histo_en.i,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- histo_en.i	29 Dec 2004 00:24:47 -0000	1.6
+++ histo_en.i	29 Dec 2004 21:25:07 -0000	1.7
@@ -6,7 +6,6 @@
 Thomas Petazzoni.  <br/>Their work consisted in sharing ideas about
 Operating Systems, before they really start programming.</p>
 
-<p><h5>Some important dates :</h5></p>
 <ul>
 
 <li><b>October 2004</b>
@@ -99,10 +98,10 @@
  system (file, device, socket, etc..) to have an unique date structure
  called "kres", for kernel ressource. Moreover, for each opening of an
  object, a data structure called "ures", for user ressource is
- created.
+ created.</li>
  <li>The second solution is a bit more complex. It tries to fit a lack
  of the first solution concerning code factorization. It allows to
- extend object capacities by using translators.
+ extend object capacities by using translators.</li>
 </ul>
 Finally, the first solution was choosen for the moment, so that the
 development can go on on simple basis. We will be able later to modify

Index: histo_fr.i
===================================================================
RCS file: /var/cvs/kos/kos-web/contents/histo_fr.i,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- histo_fr.i	29 Dec 2004 00:24:59 -0000	1.10
+++ histo_fr.i	29 Dec 2004 21:25:07 -0000	1.11
@@ -3,45 +3,49 @@
 ?>
 
 <p>Le projet fut lancé en juin 1998 par Dimitri Ara, accompagné par
-Thomas Petazzoni.  <br/>Leur travail consista alors à échanger leurs
-idées sur le thème des OS, avant d'entreprendre le développement à
-proprement parler.</p>
+Thomas Petazzoni.</p>
 
-<p><h5>Quelques dates importantes :</h5></p>
-<ul>
+<p>Leur travail consista alors à échanger leurs idées sur le thème des
+OS, avant d'entreprendre le développement à proprement parler.</p>
 
-<li><b>Octobre 2004</b>
-Travail par Thomas sur un nouveau système de mapping, reverse mapping
+<h2>Octobre 2004</h2>
+
+<p>Travail par Thomas sur un nouveau système de mapping, reverse mapping
 et gestion de la mémoire physique. Le nouveau système a été conçu dans
 l'objectif de permettre la mise en place de la synchronisation au
-niveau de la gestion de la mémoire virtuelle.</li>
+niveau de la gestion de la mémoire virtuelle.</p>
 
-<li><b>Juillet 2004</b>
-Présentation de KOS par David et Thomas aux <a
+<h2>Juillet 2004</h2>
+
+<p>Présentation de KOS par David et Thomas aux <a
 href="http://www.rencontresmondiales.org/">Rencontres Mondiales du
-Logiciel Libre</a> à Bordeaux, dans le cadre du thème Embarqué.</li>
+Logiciel Libre</a> à Bordeaux, dans le cadre du thème Embarqué.</p>
 
-<li><b>Juin 2004</b>
-David et Thomas commencent la rédaction d'une série d'articles publiés
+<h2>Juin 2004</h2>
+
+<p>David et Thomas commencent la rédaction d'une série d'articles publiés
 dans Linux Magazine France concernant la programmation d'un OS. Ces
 articles illustrent le développement d'un petit système d'exploitation
 nommé <a href="http://sos.enix.org">SOS</a>, qui s'inspire très
 fortement de KOS. La série doit compter environ 12 numéros, et
-s'étaler sur plus d'un an.</li>
+s'étaler sur plus d'un an.</p>
 
-<li><b>Mardi 1er juin 2004</b>
-Présentation de KOS à l'<a href="http://www.utbm.fr">UTBM</a>, par
-Thomas.</li>
+<h2>Mardi 1er juin 2004</h2>
 
-<li><b>Dimanche 25 avril 2004</b>
-Présentation de KOS à <a
+<p>Présentation de KOS à l'<a href="http://www.utbm.fr">UTBM</a>, par
+Thomas.</p>
+
+<h2>Dimanche 25 avril 2004</h2>
+
+<p>Présentation de KOS à <a
 href="http://idile.org/libreast/index.php">Libr'East</a>, par
-Thomas.</li>
+Thomas.</p>
 
-<li><b>de Septembre 2003 à Janvier 2004</b>
-Travail de Thomas et Mélanie Bats sur KOS dans le cadre de leurs
+<h2>de Septembre 2003 à Janvier 2004</h2>
+
+<p>Travail de Thomas et Mélanie Bats sur KOS dans le cadre de leurs
 études à l'<a href="http://www.utbm.fr">UTBM</a>. Leur travail a porté
-sur deux éléments principaux :
+sur deux éléments principaux :</p>
 
   <ul>
 
@@ -54,46 +58,51 @@
 
   </ul>
 
-Ce travail a donné lieu à la rédaction d'un rapport disponible sur le
-site.
-</li>
+<p>Ce travail a donné lieu à la rédaction d'un rapport disponible sur le
+site.</p>
 
+<h2>Décembre 2003</h2>
 
-<li><b>Décembre 2003</b>
-Au cours d'un Week-end de codage, Julien et Thomas ont amélioré le
+<p>Au cours d'un Week-end de codage, Julien et Thomas ont amélioré le
 support du format de fichier ELF. Ils ont également travaillé sur les
 threads utilisateurs et leurs piles, ainsi que sur quelques finitions
 de la mémoire virtuelle. Enfin, ils ont commencé à étudier le
-fonctionnement du bus PCI.</li>
+fonctionnement du bus PCI.</p>
 
-<li><b>Octobre 2003</b>
-Au cours d'un Week-end de codage,
-Julien et Thomas ont implémenté plusieurs primitives importantes, en
-particulier <i>fork</i>, <i>exec</i> et <i>brk</i>. Cela a été
-possible grâce au travail déjà effectué par Thomas sur le système de
-gestion de mémoire virtuelle.</li>
+<h2>Octobre 2003</h2>
 
-<li><b>Fin mai 2003</b>
-Week-end de codage entre David et Thomas à Montpellier. Le scheduler a
-été recodé, en intégrant directement du code de gestion de waitqueues,
-et en posant le postulat que seul le thread en cours d'éxécution n'est
-pas dans une waitqueue. Les primitives de synchronisation de kitc ont
-été entièrement recodées pour qu'elles utilisent les nouvelles
-waitqueues. On a donc maintenant à disposition des sémaphores, mutex
-et files de messages. Enfin, la façon dont un thread se termine a été
-revue, de manière à supprimer du code douteux du module task. Le CVS
-actuel compile, et tourne, mais n'est pas exempt de bugs ;-)
-</li>
+<p>Au cours d'un Week-end de codage, Julien et Thomas ont implémenté
+plusieurs primitives importantes, en particulier <i>fork</i>,
+<i>exec</i> et <i>brk</i>. Cela a été possible grâce au travail déjà
+effectué par Thomas sur le système de gestion de mémoire
+virtuelle.</p>
 
-<li><b>Début mai 2003</b>
-Après une longue période d'inactivité, due à une forte occupation des
-principaux développeurs, et à un blocage concernant Babel, le
+<h2>Fin mai 2003</h2>
+
+<p><i>Week-end de codage entre David et Thomas à Montpellier.</i></p>
+
+<p>Le scheduler a été recodé, en intégrant directement du code de
+gestion de waitqueues, et en posant le postulat que seul le thread en
+cours d'éxécution n'est pas dans une waitqueue. Les primitives de
+synchronisation de kitc ont été entièrement recodées pour qu'elles
+utilisent les nouvelles waitqueues. On a donc maintenant à disposition
+des sémaphores, mutex et files de messages. Enfin, la façon dont un
+thread se termine a été revue, de manière à supprimer du code douteux
+du module task. Le CVS actuel compile, et tourne, mais n'est pas
+exempt de bugs ;-) </p>
+
+<h2>Début mai 2003</h2>
+
+<p>Après une longue période d'inactivité, due à une forte occupation
+des principaux développeurs, et à un blocage concernant Babel, le
 développement de Kos a enfin repris le Week end dernier.  En effet,
 Julien et Thomas ont réfléchi conjointement à une solution permettant
 d'implémenter les drivers et d'exporter diverses interfaces à
-l'utilisateur, pour éviter l'utilisation d'un ioctl(). Bien entendu,
-de nombreuses réflexions, prototypes et test avaient été réalisés
-auparavant.  Finalement, deux solutions sont apparues :
+l'utilisateur, pour éviter l'utilisation d'un
+<code>ioctl()</code>. Bien entendu, de nombreuses réflexions,
+prototypes et test avaient été réalisés auparavant.  Finalement, deux
+solutions sont apparues :</p>
+
  <ul>
 
   <li>La première, très simple, est issue d'une simplification des
@@ -101,26 +110,24 @@
       système (fichier, device, socket, etc..) une structure de donnée
       unique appelé "kres", pour kernel ressource. Par ailleurs, à
       chaque ouverture d'un objet, une structure de donnée "ures",
-      pour user ressource est créé.
+      pour user ressource est créé.</li>
   <li>La deuxième, un peu plus complexe, essaie de pallier à un
       manque de la première solution concernant la factorisation de
       code. Elle permet d'empiler des translators, afin d'étendre les
-      capacités d'un objet.
+      capacités d'un objet.</li>
  </ul>
 
-Au final, la première solution a été retenue pour l'instant, de
+<p>Au final, la première solution a été retenue à ce moment là, de
 manière à ce que le développement puisse avancer sur des bases
-simples. Nous pourrons par la suite modifier le modèle en connaissance
-de cause si besoin est.<br/>
+simples.</p>
 
-Le système sur CVS fonctionne avec ce nouveau premier
-modèle. Cependant, les drivers de tty, part, ide et fat n'ont pas
-encore été réimplémentés, mais ceci ne saurait tarder.  </li>
+<h2>Novembre 2002</h2>
 
-<li><b>Novembre 2002</b> WE de codage avec Julien, David et
-Thomas. Implementation d'un nouveau module "kares" (pour Kos
-Abstraction and Resource Export Services), le nouveau Babel.  Cette
-nouvelle version est en fait le résultat de l'intégration des idées
+<p><i>WE de codage avec Julien, David et Thomas.</i></p>
+
+<p>Implementation d'un nouveau module "kares" (pour Kos Abstraction
+and Resource Export Services), le nouveau Babel.  Cette nouvelle
+version est en fait le résultat de l'intégration des idées
 implémentées dans le prototype réalisé au mois d'août par David et
 Thomas, et des recherches sur le thème de l'espace de nommage
 réalisées par Julien.  Le nouveau système repose donc sur un nscache,
@@ -128,288 +135,553 @@
 de l'espace de nommage, et sur des ressources proposant de multiples
 interfaces, et un soupçon de réflexivité pour couronner le tout.  Une
 partie du code est en C++ (sans exceptions, sans RTTI), pour voir ce
-que cela peut donner.  </li>
+que cela peut donner.  </p>
 
-<li><b>Aout 2002</b> Week End de codage Thomas/d2. Mise en
-place d'un modele etandant le Babel actuel pour le dialogue
+<h2>Aout 2002</h2>
+
+<p><i>Week End de codage entre David et Thomas</i></p>
+
+<p>Mise en place d'un modele etandant le Babel actuel pour le dialogue
 cpl3/cpl0. Repose sur le principe d'interfaces multiples pour les
 ressources, et sur un peu de reflexivite pour eviter d'avoir des GUID
 a la COM :) Petit programme de test C++ (linux/x86 seulement) pour
-voir (module kos-dev/syscall-test).</li>
+voir (module kos-dev/syscall-test).</p>
 
-<li><b>Mi-juillet 2002</b> Une présentation de KOS a eu lieu
-au LSM (Libre Software Meeting) à Bordeaux le vendredi 12
-juillet. Cette présentation a été réalisée par Thomas Petazzoni.  Les
-slides de la présentation seront bientôt disponibles online.  Cette
-rencontre a permis de rencontrer notamment des développeurs de Hurd
-(Marcus Brinkmann et Neal Walfield) et donc de discuter du
-développement des systèmes d'exploitation.</li>
+<h2>Mi-juillet 2002</h2>
 
-<li><b>Début juillet 2002</b> Reecriture du chargeur elf32
-pour le noyau. Permet de charger n'importe quel objet reloquable
-elf32, sans hypothese sur les sections (pas de script ld pour former
-les modules), ni sur le nombre d'initlevels.  </li>
+<p>Une présentation de KOS a eu lieu au LSM (Libre Software Meeting) à
+Bordeaux le vendredi 12 juillet. Cette présentation a été réalisée par
+Thomas Petazzoni.  Les slides de la présentation seront bientôt
+disponibles online.  Cette rencontre a permis de rencontrer notamment
+des développeurs de Hurd (Marcus Brinkmann et Neal Walfield) et donc
+de discuter du développement des systèmes d'exploitation.</p>
+
+<h2>Début juillet 2002</h2>
+
+<p>Reecriture du chargeur elf32 pour le noyau. Permet de charger
+n'importe quel objet reloquable elf32, sans hypothese sur les sections
+(pas de script ld pour former les modules), ni sur le nombre
+d'initlevels.  </p>
+
+<h2>Juin 2002 </h2>
+
+<p>Quelques améliorations :</p>
 
-<li><b>Juin 2002 </b>Quelques améliorations :
  <ul>
+
   <li>Amélioration mineure du driver console : on change de console
-      via Alt+Fx (1 <= x <= 8).
+      via Alt+Fx (1 <= x <= 8).</li>
+
   <li>Modification de la façon d'exporter les symboles et correction
-      du changement de pile, le tout pour compatibilité avec gcc 3.1.
+      du changement de pile, le tout pour compatibilité avec gcc
+      3.1.</li>
+
   <li>Grosse amélioration du loader : utilisation massive de table de
       hachage pour rechercher les symboles. La relocation est 5 fois
       plus rapide qu'avant sous Bochs, et 2 fois plus rapide sur un K7
-      800Mhz.
+      800Mhz.</li>
+
   <li>Refonte totale de mod_check qui réutilise le code du loader,
       permet de générer des graphiques de dépendances pour chaque
       module, et génère une table des symboles utilisables par le
-      debugger de Bochs.
+      debugger de Bochs.</li>
+
   <li>Modifications mineures pour compilation sous FreeBSD. Kos
       compile donc sous FreeBSD, mais attention à compiler Bochs avec
-      BX_CPU_LEVEL=6, parce que le gcc de FreeBSD génère des cmov.
-  <li>Nombre d'init/cleanup levels illimités.
+      BX_CPU_LEVEL=6, parce que le gcc de FreeBSD génère des
+      cmov.</li>
+
+  <li>Nombre d'init/cleanup levels illimités.</li>
+
   <li>Kos ne fonctionne pas sur les machines avec 512 Mo de RAM, à
-      cause d'un bug.
+      cause d'un bug.</li>
+
  </ul>
-</li>
 
-<li><b>Mai 2002 :</b>Journée de coding ce WE entre Julien et
-Thomas.
+<h2>Mai 2002</h2>
+
+<p><i>Journée de coding entre Julien et Thomas</i></p>
+
  <ul>
+
   <li>Amélioration du driver console : support du multi console, du
-      scrolling, etc..
-  <li>Interaction driver clavier <-> driver console fonctionnelle
+      scrolling, etc..</li>
+
+  <li>Interaction driver clavier <-> driver console fonctionnelle</li>
+
   <li>Desactivation de la fonction de verification dans _tower_mount
-      (bug!)
+      (bug!)</li>
+
   <li>Reorganisation module kos-sys avec séparation libc, libfile,
-      libtty
+      libtty</li>
+
   <li>Grosse réflexion concernant le problème de l'interaction entre
       une libc Unix standard et les interfaces OO du noyau. Nous
       allons clairement devoir revoir certains points, et avoir au
       niveau utilisateur un fonctionnement différent de celui
-      d'Unix. Il faudra alors réaliser une librairie de compatibilité.
+      d'Unix. Il faudra alors réaliser une librairie de
+      compatibilité.</li>
+
   <li>Le programme CPL3 fait des read() bloquants sur la console, puis
-      write() pour chaque caractere : bientôt un shell !
+      write() pour chaque caractere : bientôt un shell !</li>
+
   <li>Décompression des sources de gcc et de la libc, pour voir le
-      chemin restant à parcourir. Courage, on y est presque ;-) 
+      chemin restant à parcourir. Courage, on y est presque ;-)</li>
+
  </ul>
-</li>
 
-<li><b>Avril 2002 :</b> Un Week-End de coding avec David,
-Julien et Thomas, puis encore 5 jours de coding entre Julien et
-Thomas.
-<ul><li>Implémentation de l'interface Babel <i>anon</i> pour les zones de mémoires anonymes (mappings de /dev/null). Tests réalisés à partir d'une application CPL3, avec <i>demand paging</i>.
-    <li>Intégration propre et finale du module <i>libhash</i>, permettant la création de table de hachages.
-    <li>Refonte totale du système de gestion de l'espace de nommage de Babel (les shadow resources, en plus d'êtres listees par translator, s'organisent sous forme d'arbre représentant l'arborescence). Nouvelles fonctions pour monter/démonter des systèmes de fichiers, création du <i>fakefs</i> pour avoir un système de fichier au démarrage.
-    <li>Sécurisation du code de Babel quant aux problèmes de synchronisation.
-    <li>Extension du module <i>kitc</i> pour la gestion de sémaphores et de wait queues.
-    <li>Mise en conformité du driver <i>fat</i> avec le nouveau système de gestion de l'espace de nommage.
-    <li>Système de détection automatique du système de fichier.
-    <li>Proprification de la façon de monter/démonter une partition.
-    <li>Création d'un loader ELF minimal.
-    <li>Amélioration de la libc au niveau utilisateur.
-    <li>Création d'un vrai système de syscall, avec passage de plusieurs arguments, etc..
-    <li>Création d'une <i>libcmdline</i> pour analyser les arguments fournis a Grub au démarrage.
-    <li>Correction de bugs divers.
+<h2>Avril 2002</h2>
+
+<p><i>Un Week-End de coding avec David, Julien et Thomas, puis encore
+5 jours de coding entre Julien et Thomas.</i></p>
+
+<ul>
+
+ <li>Implémentation de l'interface Babel <i>anon</i> pour les zones de
+     mémoires anonymes (mappings de /dev/null). Tests réalisés à
+     partir d'une application CPL3, avec <i>demand paging</i>.</li>
+
+    <li>Intégration propre et finale du module <i>libhash</i>,
+    permettant la création de table de hachages.</li>
+
+    <li>Refonte totale du système de gestion de l'espace de nommage de
+    Babel (les shadow resources, en plus d'êtres listees par
+    translator, s'organisent sous forme d'arbre représentant
+    l'arborescence). Nouvelles fonctions pour monter/démonter des
+    systèmes de fichiers, création du <i>fakefs</i> pour avoir un
+    système de fichier au démarrage.</li>
+
+    <li>Sécurisation du code de Babel quant aux problèmes de
+    synchronisation.</li>
+
+    <li>Extension du module <i>kitc</i> pour la gestion de sémaphores
+    et de wait queues.</li>
+
+    <li>Mise en conformité du driver <i>fat</i> avec le nouveau
+    système de gestion de l'espace de nommage.</li>
+
+    <li>Système de détection automatique du système de fichier.</li>
+
+    <li>Proprification de la façon de monter/démonter une
+    partition.</li>
+
+    <li>Création d'un loader ELF minimal.</li>
+
+    <li>Amélioration de la libc au niveau utilisateur.</li>
+
+    <li>Création d'un vrai système de syscall, avec passage de
+    plusieurs arguments, etc..</li>
+
+    <li>Création d'une <i>libcmdline</i> pour analyser les arguments
+    fournis a Grub au démarrage.</li>
+
+    <li>Correction de bugs divers.</li>
+
 </ul>
 
-<li><b>Mars 2002 :</b> Une journée de coding entre Julien et Thomas
-<ul><li>Intégration de la dernière version de Babel.
-    <li>Mise en conformité des modules <i>vmm</i> et <i>ide</i> avec le nouveau Babel.
-    <li>Création du module <i>part</i>, et mise en conformité avec le nouveau Babel.
+<h2>Mars 2002</h2>
+
+<p><i>Une journée de coding entre Julien et Thomas</i></p>
+
+<ul>
+ <li>Intégration de la dernière version de Babel.</li>
+
+ <li>Mise en conformité des modules <i>vmm</i> et <i>ide</i> avec le
+ nouveau Babel.</li>
+
+ <li>Création du module <i>part</i>, et mise en conformité avec le
+ nouveau Babel.</li>
+
 </ul>
 
-<li><b>Fin Février 2002 :</b>
-<ul><li>Proprification drivers FAT et IDE
-    <li>Chargement en mémoire et éxécution sous Kos d'un binaire compilé et linké sous Linux (gcc et ld). C'est le premier vrai programme qui tourne sous KOS !
-    <li>Nouvelle version de <i>rmap</i> pour gérer les problèmes de synchronisation.
-    <li>Possibilité de mapper une page dans l'espace user de n'importe quelle team depuis n'importe quelle team (<i>map foreign</i>).
+<h2>Fin Février 2002</h2>
+
+<ul>
+
+ <li>Proprification drivers FAT et IDE</li>
+
+ <li>Chargement en mémoire et éxécution sous Kos d'un binaire compilé
+ et linké sous Linux (gcc et ld). C'est le premier vrai programme qui
+ tourne sous KOS !</li>
+
+ <li>Nouvelle version de <i>rmap</i> pour gérer les problèmes de
+ synchronisation.</li>
+
+ <li>Possibilité de mapper une page dans l'espace user de n'importe
+ quelle team depuis n'importe quelle team (<i>map foreign</i>).</li>
+
 </ul>
 
-<li><b>Mi-Février 2002 :</b> Un mois de coding pour Thomas, dont un Week-End avec David, et un autre avec Julien.<br>
-Durant son mois de coding, Thomas a avancé sur les points suivants :
-<ul><li>Création d'un driver IDE qui permet de détecter les disques durs et les lecteurs de CDs, ainsi que la lecture des disques durs.
-    <li>Création d'un driver FAT extrêmement simpliste.
-    <li>Création de teams indépendants (différents espaces d'adressage).
+<h2>Mi-Février 2002</h2>
+
+<p><i>Un mois de coding pour Thomas, dont un Week-End avec David, et
+un autre avec Julien.</i></p>
+
+<p>Durant son mois de coding, Thomas a avancé sur les points suivants
+:</p>
+
+<ul>
+  <li>Création d'un driver IDE qui permet de détecter les disques durs
+  et les lecteurs de CDs, ainsi que la lecture des disques durs.</li>
+
+  <li>Création d'un driver FAT extrêmement simpliste.</li>
+
+  <li>Création de teams indépendants (différents espaces
+  d'adressage).</li>
+
 </ul>
-Durant le Week-End avec Julien : 
-<ul><li>Intégration d'une nouvelle version de Babel, codée au préalable par Julien
-    <li>Début d'intégration du driver IDE dans Babel grâce à une interface.
+
+<p>Durant le Week-End avec Julien :</p>
+
+<ul>
+
+ <li>Intégration d'une nouvelle version de Babel, codée au préalable
+ par Julien</li>
+
+ <li>Début d'intégration du driver IDE dans Babel grâce à une
+ interface.</li>
+
 </ul>
-Durant le Week-End avec David :
-<ul><li>Création de post_init levels pour l'initialisation. Ceci permet d'avoir d'une part des fonctions en <i>INIT_LEVELS</i>, exécutées avant que les interruptions ne soient activées, et des fonctions en <i>POST_INIT_LEVELS</i>, éxécutées une fois les interruptions activées. L'initialisation est donc plus propre, et wolfgang réalise moins de choses. Le module <i>bootstrap</i> créé auparavant pour lancer les fonctions d'initialisation des modules devient le module <i>init</i>.
-    <li>Meilleure séparation de <i>arch/mm</i> et <i>vmm</i>. Ainsi <i>arch/mm</i> dispose de fonctions arch_map_virtual_page, arch_unmap_virtual_page, etc... et <i>vmm</i> propose au reste du noyau de wrappers map_virtual_page, unmap_virtual_page, etc..
-    <li>Les essais effectués par Thomas au cours du mois pour obtenir plusieurs teams sont concluants : le cloisonnement des teams pour l'espace user a été vérifié, et la synchronisation de l'espace noyau entre les différents espace d'adressage est assurée.
-    <li>Possibilité de créér des threads noyau dans n'importe quelle team, grâce à un nouvel argument à <i>create_kernel_thread</i> : la team destination.
-    <li>Implémentation du <i>reverse mapping</i>, qui va nous affranchir d'une gestion complexe des pages anonymous, accelérer le swapping et déplacer comme on le souhaite les pages physiques (pour le DMA).
-    <li>Complète refonte de la gestion de la mémoire physique.
-    <li>Mapping de la zone noyau 4k-2G en une seule région.
-    <li>Nouveau flag dans les slabs indiquant si l'ensemble des pages constituant un cache sont swappables ou non.
+
+<p>Durant le Week-End avec David :</p>
+
+<ul>
+  <li>Création de post_init levels pour l'initialisation. Ceci permet
+  d'avoir d'une part des fonctions en <i>INIT_LEVELS</i>, exécutées
+  avant que les interruptions ne soient activées, et des fonctions en
+  <i>POST_INIT_LEVELS</i>, éxécutées une fois les interruptions
+  activées. L'initialisation est donc plus propre, et wolfgang réalise
+  moins de choses. Le module <i>bootstrap</i> créé auparavant pour
+  lancer les fonctions d'initialisation des modules devient le module
+  <i>init</i>.</li>
+
+  <li>Meilleure séparation de <i>arch/mm</i> et <i>vmm</i>. Ainsi
+  <i>arch/mm</i> dispose de fonctions arch_map_virtual_page,
+  arch_unmap_virtual_page, etc... et <i>vmm</i> propose au reste du
+  noyau de wrappers map_virtual_page, unmap_virtual_page, etc..</li>
+
+  <li>Les essais effectués par Thomas au cours du mois pour obtenir
+  plusieurs teams sont concluants : le cloisonnement des teams pour
+  l'espace user a été vérifié, et la synchronisation de l'espace noyau
+  entre les différents espace d'adressage est assurée.</li>
+
+  <li>Possibilité de créér des threads noyau dans n'importe quelle
+  team, grâce à un nouvel argument à <i>create_kernel_thread</i> : la
+  team destination.</li>
+
+  <li>Implémentation du <i>reverse mapping</i>, qui va nous affranchir
+  d'une gestion complexe des pages anonymous, accelérer le swapping et
+  déplacer comme on le souhaite les pages physiques (pour le
+  DMA).</li>
+
+  <li>Complète refonte de la gestion de la mémoire physique.</li>
+
+  <li>Mapping de la zone noyau 4k-2G en une seule région.</li>
+
+  <li>Nouveau flag dans les slabs indiquant si l'ensemble des pages
+  constituant un cache sont swappables ou non.</li>
+
 </ul>
-<li><b>Novembre 2001 :</b>Week-end KOS avec David, Julien et Thomas.
-<ul><li>Simplification du modèle de la VMM : plus de drivers de <i>virtual regions</i>, mais des drivers au niveau des <i>shadow resources</i>.
-    <li>Amélioration du système de debugging : en plus des constantes statiques (#define) pour activer/désactiver les différents moyens de debugging (sur console, sur le port e9 de Bochs, sur ligne série), on dispose maintenant de variables qui permettent au cours de l'éxécution d'activer/désactiver les différents moyens de debugging.
-    <li>Début de réflexion et de codage d'un pseudo compilateur <b>K</b> pour l'écriture des drivers KOS. Nos essais avec ocamllex et ocamlyacc ne sont pas très concluants.
-    <li>Les modules task-x86, mm-x86 et lib-x86 sont maintenus réunis dans un sous répertoire x86. Un lien symbolique arch pointe vers x86 par défaut.
+
+<h2>Novembre 2001</h2>
+
+<p><i>Week-end KOS avec David, Julien et Thomas.</i></p>
+
+<ul>
+
+  <li>Simplification du modèle de la VMM : plus de drivers de
+  <i>virtual regions</i>, mais des drivers au niveau des <i>shadow
+  resources</i>.</li>
+
+  <li>Amélioration du système de debugging : en plus des constantes
+  statiques (#define) pour activer/désactiver les différents moyens de
+  debugging (sur console, sur le port e9 de Bochs, sur ligne série),
+  on dispose maintenant de variables qui permettent au cours de
+  l'éxécution d'activer/désactiver les différents moyens de
+  debugging.</li>
+
+  <li>Début de réflexion et de codage d'un pseudo compilateur <b>K</b>
+  pour l'écriture des drivers KOS. Nos essais avec ocamllex et
+  ocamlyacc ne sont pas très concluants.</li>
+
+  <li>Les modules task-x86, mm-x86 et lib-x86 sont maintenus réunis
+  dans un sous répertoire x86. Un lien symbolique arch pointe vers x86
+  par défaut.</li>
+
 </ul>
-<li><b>Septembre-Octobre 2001 :</b>
+
+<h2>Septembre-Octobre 2001</h2>
+
 <ul>
-   <li>Kos, qui ne compilait plus à cause des travaux en cours sur la VMM, recompile de nouveau.
-   <li>Mise en place du nouveau site Web en PHP.
+
+   <li>Kos, qui ne compilait plus à cause des travaux en cours sur la
+   VMM, recompile de nouveau.</li>
+
+   <li>Mise en place du nouveau site Web en PHP.</li>
+
 </ul>
-<li><b>Aout 2001 :</b>Semaine KOS avec David, Thomas et Julien :
- <ul><li>Réorganisation des modules comme scheduler, task-x86 ou idt.
-     <li>Gestion de DSR (Deffered Service Routine) et de DST (Deferred Service Thread).
-     <li>Initiatilisation par un module bootstrap (initialisation a plusieurs niveaux, et retrait de l'identity mapping avant de lancer le noyau.
-     <li>Nouveau kmem utilisant l'algorithme de Bonwick.
-     <li>Ecriture de liblist pour gérer les listes chaînées circulaires plutôt que doublement chaînées.
-     <li>Corrections de bugs, et anticipations sur des problèmes de synchronisation liées au SMP.
-     <li>Important brainstorming sur la VMM et Babel, réécriture de Babel en plusieurs parties.
-     <li>Compilation plus "propre" (suppression de warnings même avec gcc utilisé en mode très "verbeux").
-     <li>Support de l'optimisation -fomit-frame-pointer.
-     <li>Réorganisation de task-x86 et mm-x86.
- </ul>
-<li><b>Mai-Juillet 2001 :</b>
-<ul><li>L'allocateur de mémoire pour le noyau kvalloc est prêt.
-    <li>Mini driver série (seulement ouput) pour faciliter le debugging sur machine réelle.
-    <li>Corrections de bugs dans la gestion de la mémoire physique
+
+<h2>Aout 2001</h2>
+
+<p><i>Semaine KOS avec David, Thomas et Julien :</i></p>
+
+<ul>
+  <li>Réorganisation des modules comme scheduler, task-x86 ou
+  idt.</li>
+
+  <li>Gestion de DSR (Deffered Service Routine) et de DST (Deferred
+  Service Thread).</li>
+
+  <li>Initiatilisation par un module bootstrap (initialisation a
+  plusieurs niveaux, et retrait de l'identity mapping avant de lancer
+  le noyau.</li>
+
+  <li>Nouveau kmem utilisant l'algorithme de Bonwick.</li>
+
+  <li>Ecriture de liblist pour gérer les listes chaînées circulaires
+  plutôt que doublement chaînées.</li>
+
+  <li>Corrections de bugs, et anticipations sur des problèmes de
+  synchronisation liées au SMP.</li>
+
+  <li>Important brainstorming sur la VMM et Babel, réécriture de Babel
+  en plusieurs parties.</li>
+
+  <li>Compilation plus "propre" (suppression de warnings même avec gcc
+  utilisé en mode très "verbeux").</li>
+
+  <li>Support de l'optimisation -fomit-frame-pointer.</li>
+
+  <li>Réorganisation de task-x86 et mm-x86.</li>
+
 </ul>
-<li><b>Avril 2001 :</b>Semaine KOS avec David, Julien et Thomas : 
- <ul><li>Implémentation d'un syscall pour Babel
-     <li>Implémentation d'un <i>usleep</i>, de sémaphores et de <i>messages queues</i>. 
-     <li>Execution du noyau en mémoire virtuelle (et non dans l'identity mapping). 
-     <li>Affichage des adresses de tous les symboles lors de l'éxécution du loader pour faciliter le debugging.
-     <li>Implémentation du handler de double fault pour gérer les débordements de piles noyau.
-     <li>Début du <i>kgc</i> : kernel garbage collector.
-     <li>Driver 8042 (pour gérer les souris PS/2 et le clavier).
-     <li>Mini-driver clavier.
-     <li>Beaucoup de réorganisation dans les sources, et énormement de debugging !
-  </ul>
-</li>
 
-<li><b>Mars-Avril 2001 :</b>Intégration de Babel dans un module,
-double fault fonctionnel.</li>
+<h2>Mai-Juillet 2001</h2>
 
-<li><b>Février 2001 :</b>Week-End KOS avec David, Julien et Thomas
-  <ul><li>Multithreading au niveau noyau fonctionnel, sauf les débordements de piles (double fault). 
-      <li>Grandes avancées dans le développement de Babel
-      <li>Correction de plusieurs bugs. 
-      <li>Début d'expérimentation du double fault.
-  </ul>
-</li>
+<ul>
+  <li>L'allocateur de mémoire pour le noyau kvalloc est prêt.</li>
 
-<li><b>Janvier 2001 :</b>Petit Week-End KOS avec David et Thomas 
-  <ul><li>Début de gestion de la mémoire virtuelle
-          (ajout/suppression/modification de régions virtuelles)
-      <li>Allocation/désallocation de piles CPL0
-      <li>Création de threads noyau
-      <li>Gestion du page fault
-      <li>Corrections de bugs mineurs. 
-      <li>Le multithreading au niveau noyau n'est alors pas fonctionnel.
-  </ul>
-</li>
+  <li>Mini driver série (seulement ouput) pour faciliter le debugging
+  sur machine réelle.</li>
 
-<li><b>Toussaint 2000 :</b>Petit Week-End KOS avec David,
-Julien, Jérome et Thomas. L'allocateur de mémoire pour le noyau codé
-par Thomas est prêt. Discussions intenses au sujet de Babel.
-</li>
+  <li>Corrections de bugs dans la gestion de la mémoire physique</li>
 
-<li><b>Debut Octobre 2000 :</b>David et Thomas améliorent le
-loader (support de différents types de modules) et l'optimisent
-(division par trois de la vitesse de linkage).
-</li>
+</ul>
 
+<h2>Avril 2001</h2>
 
-<li><b>Aout 2000 :</b>Deux semaines de programmation avec
-Julien, David et Thomas qui ont portées leurs fruits : le loader est
-terminé. Nous n'utilisons plus notre propre bootsecteur, mais
-utilisons à la place le <i>bootloader</i> <i>Grub</i>. En effet,
-<i>Grub</i> nous permet de charger un noyau (dans notre cas, c'est un
-<i>loader</i>) et des modules depuis un système de fichiers sur
-disquette ou sur disque dur, ou bien depuis le réseau. De plus,
-<i>Grub</i> passe directement en mode protégé avant d'éxécuter le
-noyau. La phase de boot se passe donc ainsi : chargement du
-<i>loader</i> par Grub, chargement des modules par Grub, passage en
+<p><i>Semaine KOS avec David, Julien et Thomas :</i></p>
+
+<ul>
+  <li>Implémentation d'un syscall pour Babel</li>
+
+  <li>Implémentation d'un <i>usleep</i>, de sémaphores et de
+  <i>messages queues</i>.</li>
+
+  <li>Execution du noyau en mémoire virtuelle (et non dans l'identity
+  mapping). </li>
+
+  <li>Affichage des adresses de tous les symboles lors de l'éxécution
+  du loader pour faciliter le debugging.</li>
+
+  <li>Implémentation du handler de double fault pour gérer les
+  débordements de piles noyau.</li>
+
+  <li>Début du <i>kgc</i> : kernel garbage collector.</li>
+
+  <li>Driver 8042 (pour gérer les souris PS/2 et le clavier).</li>
+
+  <li>Mini-driver clavier.</li>
+
+  <li>Beaucoup de réorganisation dans les sources, et énormement de
+  debugging !</li>
+
+</ul>
+
+<h2>Mars-Avril 2001</h2>
+
+<p>Intégration de Babel dans un module, double fault fonctionnel.</p>
+
+<h2>Février 2001</h2>
+
+<p><i>Week-End KOS avec David, Julien et Thomas</i></p>
+
+<ul>
+  <li>Multithreading au niveau noyau fonctionnel, sauf les
+  débordements de piles (double fault).</p>
+
+  <li>Grandes avancées dans le développement de Babel</p>
+
+  <li>Correction de plusieurs bugs.</p>
+
+  <li>Début d'expérimentation du double fault.</p>
+
+</ul>
+
+<h2>Janvier 2001</h2>
+
+<p><i>Petit Week-End KOS avec David et Thomas</i></p>
+
+<ul>
+ <li>Début de gestion de la mémoire virtuelle
+ (ajout/suppression/modification de régions virtuelles)</li>
+
+ <li>Allocation/désallocation de piles CPL0</li>
+
+ <li>Création de threads noyau</li>
+
+ <li>Gestion du page fault</li>
+
+ <li>Corrections de bugs mineurs.</li>
+
+ <li>Le multithreading au niveau noyau n'est alors pas
+ fonctionnel.</li>
+
+</ul>
+
+<h2>Toussaint 2000</h2>
+
+<p><i>Petit Week-End KOS avec David,
+Julien, Jérome et Thomas.</i></p>
+
+<p>L'allocateur de mémoire pour le noyau codé par Thomas est
+prêt. Discussions intenses au sujet de Babel.</p>
+
+<h2>Debut Octobre 2000</h2>
+
+<p>David et Thomas améliorent le loader (support de différents types
+de modules) et l'optimisent (division par trois de la vitesse de
+linkage).</p>
+
+
+<h2>Aout 2000</h2>
+
+<p><i>Deux semaines de programmation avec
+Julien, David et Thomas</i></p>
+
+<p>Le loader est terminé. Nous n'utilisons plus notre propre
+bootsecteur, mais utilisons à la place le <i>bootloader</i>
+<i>Grub</i>. En effet, <i>Grub</i> nous permet de charger un noyau
+(dans notre cas, c'est un <i>loader</i>) et des modules depuis un
+système de fichiers sur disquette ou sur disque dur, ou bien depuis le
+réseau. De plus, <i>Grub</i> passe directement en mode protégé avant
+d'éxécuter le noyau. La phase de boot se passe donc ainsi : chargement
+du <i>loader</i> par Grub, chargement des modules par Grub, passage en
 mode protégé par Grub, démarrage du loader, passage en mode paginé par
 le loader, relocation des modules, puis éxécution du noyau proprement
-dit.</li>
+dit.</p>
 
-<li><b>Printemps 2000 :</b>Grande réflexion sur le projet. On
-recommence tout sur des bases plus saines, avec une architecture plus
-réfléchie, et quelque chose de mieux concu. <a
-href="http://kos.enix.org">Kos</a> sera un système modulaire : le
-noyau lui même sera découpé en différents modules (scheduler, task,
-vmm, pmm, etc ...), qui seront linkés ensemble au démarrage par un
-<i>loader</i>.</li>
+<h2>Printemps 2000</h2>
 
-<li><b>12 - 14 Fév 2000 :</b> Seconde Assemblée KOS, toujours
-au Château de Méridon. Encore une fois trois jours intenses, moins de
-programmation mais beaucoup de débats. Malheureusement pas de photos
-cette fois ci :-(</li>
+<p>Grande réflexion sur le projet. On recommence tout sur des bases
+plus saines, avec une architecture plus réfléchie, et quelque chose de
+mieux concu. <a href="http://kos.enix.org">Kos</a> sera un système
+modulaire : le noyau lui même sera découpé en différents modules
+(scheduler, task, vmm, pmm, etc ...), qui seront linkés ensemble au
+démarrage par un <i>loader</i>.</p>
 
-<li><b>29 - 1er Nov 99 :</b> Première Assemblée KOS au Château
-de Méridon. Un très bon moment, les photos <a
-href="./photos.html">ici</a>!</li>
+<h2>12 - 14 Fév 2000</h2>
 
-<li><b>5 Octobre 1999 :</b> Nouveau design pour KOS-web !</li>
+<p><i>Seconde Assemblée KOS, toujours
+au Château de Méridon.</i></p>
 
-<li><b>29 Septembre 1999 :</b> Une nouvelle page aussi
-importante qu'utile pour l'utilisation de KOS-cvs a été crée <a
-href="/cgi/cvsweb">ici</a>.</li>
+<p>Encore une fois trois jours intenses, moins de programmation mais
+beaucoup de débats. Malheureusement pas de photos cette fois ci
+:-(</p>
 
-<li><b>20 Septembre 1999 :</b> Nouvelle version sur KOS-cvs !
-Elle est désormais compilable sous les deux os (dos & linux) à partir
-d'un makefile unique.<br>Elle comprend également un driver clavier
-enfin fonctionnel, une version de conio.c débuggée et un bootsecteur
-réactualisé (support de kernel plus volumineux ).</li>
+<h2>29 - 1er Nov 99</h2>
 
-<li><b> 15 Septembre 1999 :</b> Le record de 59 abonnées à
-KOS-ml a été atteind !</li>
+<p><i>Première Assemblée KOS au Château
+de Méridon.</i></p>
 
-<li><b>Septembre 1999 :</b> Le travail reprend, tout le monde
-est de retour pour travailler. Une version 0.05 est rapidement
-disponible avec toutes les améliorations faites durant l'été. <br>Mise
-en place de tous les moyens techniques à disposition (Web/CVS).</li>
+<p>Un très bon moment, les photos <a href="./photos.html">ici</a>!</p>
 
-<li><b>Eté 1999   :</b> Le travail est interrompu pour cause
-de vacances, refonte du site officiel</li>
+<h2>5 Octobre 1999</h2>
 
-<li><b>Mai,Juin 1999:</b> Réorganisation du projet, le nombre
-de participants étant passé de 2 à plus de 30 !!!</li>
+<p>Nouveau design pour KOS-web !</p>
 
-<li><b>18/04/1999 :</b> Après de nombreux essais, ce sont
-finalement Coffeeman et Emmanuel Marty qui réussissent à faire
-fontionner un kernel 32bits depuis le Bootsecteur de KOS, DJGPP est
-alors utilisé pour compiler KOS</li>
+<h2>29 Septembre 1999</h2>
 
-<li><b>09/04/1999 :</b> Grâce au travail des nouveaux
-développeurs, Thomas Lorblanches parvient à faire tourner le kernel en
-Mode Protégé : Une grande avancée !</li>
+<p>Une nouvelle page aussi importante qu'utile pour l'utilisation de
+KOS-cvs a été crée <a href="/cgi/cvsweb">ici</a>.</p>
 
-<li><b>06/04/1999 :</b> Création de la mailing-list par Julien
-Munier, appel à la contribution sur les OS-Ring et NG.</li>
+<h2>20 Septembre 1999</h2>
 
-<li><b>03/04/1999 :</b> Abandon officiel du projet par Dimitri
-Ara, on le regrettera</li>
+<p>Nouvelle version sur KOS-cvs ! Elle est désormais compilable sous
+les deux os (dos & linux) à partir d'un makefile unique. Elle comprend
+également un driver clavier enfin fonctionnel, une version de conio.c
+débuggée et un bootsecteur réactualisé (support de kernel plus
+volumineux ).</p>
 
-<li><b>02/03/1999 :</b> Julien Munier rejoint le groupe suite
-à un message diffusé sur LVI</li>
+<h2> 15 Septembre 1999</h2>
 
-<li><b>25/02/1999 :</b> Exécution d'un kernel en C, linké avec
-JLOC</li>
+<p>Le record de 59 abonnées à KOS-ml a été atteind !</p>
 
-<li><b>15/02/1999 :</b> Déclaration d'un pile par le
-Bootsecteur, éxecution d'un kernel 16bits en assembleur</li>
+<h2>Septembre 1999</h2>
 
-<li><b>04/01/1999 :</b> Détection du processeur (386+
-nécessaire)</li>
+<p>Le travail reprend, tout le monde est de retour pour
+travailler. Une version 0.05 est rapidement disponible avec toutes les
+améliorations faites durant l'été. </p>
 
-<li><b>16/12/1998 :</b> Premier Bootsecteur affichant "Loading
-KOS ..." (version 0.0.1)</li>
+<p>Mise en place de tous les moyens techniques à disposition
+(Web/CVS).</p>
 
-<li><b>11/10/1998 :</b> Premier MBR valide</li>
+<h2>Eté 1999</h2>
 
-</ul>
+<p>Le travail est interrompu pour cause de vacances, refonte du site
+officiel</p>
+
+<h2>Mai,Juin 1999:</h2>
+
+<p>Réorganisation du projet, le nombre de participants étant passé de
+2 à plus de 30 !!!</p>
+
+<h2>18/04/1999</h2>
+
+<p>Après de nombreux essais, ce sont finalement Coffeeman et Emmanuel
+Marty qui réussissent à faire fontionner un kernel 32bits depuis le
+Bootsecteur de KOS, DJGPP est alors utilisé pour compiler KOS</p>
+
+<h2>09/04/1999</h2>
+
+<p>Grâce au travail des nouveaux développeurs, Thomas Lorblanches
+parvient à faire tourner le kernel en Mode Protégé : Une grande
+avancée !</p>
+
+<h2>06/04/1999</h2>
+
+<p>Création de la mailing-list par Julien Munier, appel à la
+contribution sur les OS-Ring et NG.</p>
+
+<h2>03/04/1999</h2>
+
+<p>Abandon officiel du projet par Dimitri Ara, on le regrettera</p>
+
+<h2>02/03/1999</h2>
+
+<p>Julien Munier rejoint le groupe suite à un message diffusé sur
+LVI</p>
+
+<h2>25/02/1999</h2>
+
+<p>Exécution d'un kernel en C, linké avec JLOC</p>
+
+<h2>15/02/1999</h2>
+
+<p>Déclaration d'un pile par le Bootsecteur, éxecution d'un kernel
+16bits en assembleur</p>
+
+<h2>04/01/1999</h2>
+
+<p>Détection du processeur (386+ nécessaire)</p>
+
+<h2>16/12/1998</h2>
+
+<p>Premier Bootsecteur affichant "Loading KOS ..." (version 0.0.1)</p>
+
+<h2>11/10/1998</h2>
+
+<p>Premier MBR valide</p>
 
 <?
   end_content_section();



More information about the Kos-cvs mailing list