[Kos-cvs] [kos] Modification CVS par thomas

KOS CVS kos-dev <kos-dev@enix.org>
Sun, 25 May 2003 04:51:27 +0200 (CEST)


Module :	kos
Modifié par :	thomas	25/05/03 04:51:27

Fichiers modifiés :
	.              : MkVars 
	grub           : grub.img.gz 
	modules        : Makefile 
	modules/debug  : debug.h 
	modules/idt    : _dst.c _dst.h dst.h 
	modules/init   : _bootstrap.c _init_modules.c 
	modules/karm   : devfs.c devfs.h karm.c nscache.c open.c ures.c 
	modules/karm/interface: char.h 
	modules/kitc   : Makefile _kmsg.c _ksem.c kitc.c kitc.h kmsg.h 
	                 ksem.h 
	modules/klavier: _klavier.c klavier.c klavier.h 
	modules/kmem   : _kvmem_free.c _kvmem_utils.c 
	modules/kos    : errno.h macros.h spinlock.h wolfgang.c 
	modules/lib    : Makefile stdio.h stdlib.c 
	modules/liblist: liblist.h 
	modules/scheduler: Makefile _scheduler.c _sleep.c _timer.c 
	                   scheduler.c scheduler.h 
	modules/task   : task.h 
	modules/tty    : Makefile _ktty.c _tty.c _tty.h tty.c tty.h 
	modules/vmm    : _vmm_kmem.c 
Fichiers ajoutés :
	modules/console: Makefile _console.c _console.h console.c 
	                 console.h 
	modules/kitc   : _kmutex.c kmutex.h 
	modules/scheduler: _kwaitqueue.c _kwaitqueue.h _sleep.h 
	                   kwaitqueue.h 
	modules/tty    : _tty_kres.c 
Fichiers enlevés :
	modules/kitc   : _ksignal.c _ksignal.h _kwaitqueue.c 
	                 _kwaitqueue.h ksignal.h kwaitqueue.h 
	modules/tty    : _tty_babel.c 

Détails :
WE pré-Ascension-Montpellier :

Attention : compile, mais mod_check trouve des symboles non résolus =>
on sait pourquoi, correction demain.

* Ajout module 'console' pour la gestion de la console physique.
* Refonte complète de tty pour compatibilité 'karm' et séparation
tty/console.
* Refonte klavier pour compatibilité avec le nouveau tty.
* Waitqueues dans scheduler, et usleep() s'appuyant
dessus. Réécriture complète du scheduler, en s'appuyant à fond sur les
waitqueues.
* Kmsg, kmutex, ksem s'appuyant sur waitqueues (dans kitc).
* Virage ksignal (ne servait plus à rien -> mutex) et kwaitqueues de kitc.
* Modif dst pour compatibilité nouvelle interface kmsg
* Amélioration Devfs pour l'enregistrement des devices -> on
enregistre directement une kres.
* Correction de bug dans nscache
* Interface chardevice
* Qques modifs dans liblist pour correction de bug de
list_insert_before. Modif list_insert_after pour homogénéité et mise à
jour du reste du système en fonction. Ajout list_is_empty à liblist.
* Qques nouveaux errno
* Un super shell !
* Conio.c n'est plus compilé dans lib/
* Modif task.h pour simplification des next/prev des waitqueues

==> Le probleme du reschedule_unsafe est qu'il est appelé par
thread_end_handler (du module task) pour élire un nouveau
thread. Solution proposée : ne plus passer par une pile temporaire
(qui pue !) et faire faire la destruction proprement dite par le
destinataire du changement de contexte.