[Kos-announce] Semaine de developpement KOS
Thomas Petazzoni
thomas.petazzoni@meridon.com
Mon, 23 Apr 2001 21:41:45 +0200
Bonjour a tous,
Nous avons profite de la semaine des vacances de Paques pour continuer
le developpement de KOS, qui a mon avis avance pas mal depuis qu'on a
tout repris a zero au mois d'Aout 2000.
Cette semaine nous avons notamment realise :
- beaucoup de debugging : correction de bugs dans kmalloc/kfree, dans
les map/unmap_virtual_to_physical (fonctions pour mapper/demapper des
zones virtuelles en memoire physique).
- implementation pour Babel d'un syscall, qui pourra etre utilise par
les applications 'USER' pour realiser des appels a des methodes
enregistrees dans Babel (qui est pleinement fonctionnel).
- implementation d'un usleep (avec reschedule() et tout le toutim).
- implementation de semaphores et de messages queues. pour l'instant
nous n'avons pu tester qu'entre threads CPL0, car il n'y a pas
d'applications CPL3 (User).
- execution du noyau en memoire virtuelle, et non dans l'identity
mapping (presque termine), afin de pouvoir deplacer toutes les pages
physiques comme on veut, sans etre bloque, pour pouvoir allouer de gros
espaces physiques contigus pour le DMA par exemple.
- dump durant le loader des adresses de tous les symboles, pour
faciliter le debugging.
- implementation du handler de double fault pour l'allocation dynamique
des piles en CPL0. il est tout a fait fonctionnel : il detecte si
l'adresse fautive est correcte, tue le thread si besoin, ou alors lui
alloue une page physique qu'il mappe au bon endroit pour relancer
l'execution du thread. nous avons teste de la mechante recursion, et ca
fonctionne, la descente dans la recursion alloue bien des pages, et la
remontee s'effectue sans probleme.
- debut d'un KGC (Kernel Garbage Collector) : thread noyau charge de
ramasser les miettes du noyau. pour l'instant il se charge uniquement de
liberer les pages physiques alloues pour des piles par le handler de
double fault et qui ne sont plus utilisees.
- implementation d'un driver pour 8042, qui permet de gerer le clavier
et la souris.
- copitage d'un driver clavier existant pour le moment, en attendant de
faire quelque chose de plus propre, utilisant la possibilite offerte par
GRUB de charger des modules (qui pourraient par exemple etre des
keymap).
- ... j'en oublie surement encore.
Cette semaine en compagnie de David Decotigny et Julien Munier fut
intense... en programmation et en divertissement :
- le musee Guimet : tres riche (peu etre trop ?) musee sur les arts
orientaux : Chine, Inde, Cambodge, Vietnam...
- 'La Cantatrice Chauve' de Ionesco : petite piece que j'ai trouve
absolument excellente. tous les soirs au Theatre de la Huchette, 19h.
- de nombreuses ecoutes de Symphonies de Beethoven, des Quatres Saisons
de Vivaldi et surtout de l'inoubliable Requiem de Mozart.
Les projets futurs pour KOS sont decrits dans le fichier TODO disponible
sur le CVS (pour ceux ayant un compte), et dans les snapshots quotidiens
disponibles sur le site.
Amities kossiennes a tous,
Thomas
--
PETAZZONI Thomas
thomas.petazzoni@meridon.com
ICQ : 34937744
Projet KOS : http://kos.enix.org