[Kos-dev] Retour des processus...
Christophe
kos-dev@enix.org
Wed, 6 Mar 2002 22:18:07 +0100
Bon j'explique : quand tu crées ton thread user, tu as forcément celui du
kernel (i.e, une pile user et une pile kernel).
Quand tu veux exécuter le thread user, il commence d'abord dans une routine qui
va appeler ton main et effectuer un exit au retour, le tout en CPL3.
Ton exit sera sûrement un syscall, donc en CPL0 qui va se charger de faire le
ménage de ton thread aussi bien en user que kernel.
Il y a d'autre manière de faire, mais je n'en parle pas parce que ça introduit
souvent un mécanisme ressemblant à une notion d'exception software (un peu à la
C++ ou CAML si vous préférez) qui n'existe pas dans votre OS.