next up previous contents
suivant: Structures de piles monter: Conception et mise en précédent: Organisation des adresses des   Table des matières

Destruction d'un processus

La terminaison d'un processus utilisateur implique qu'il y ait une destruction de celui-ci. Il doit donc y avoir un appel implicite à la primitive système de destruction des processus. Autrement dit, l'instruction RTS10 doit provoquer automatiquement l'appel de la primitive système de destruction des processus avec pour paramètre l'identifiant du processus courant.
Or, lors de l'exécution du RTS, le compteur de programme se voit attribuer le contenu de la case mémoire désignée par le pointeur de pile. Il nous suffit donc de faire en sorte que le contenu de cette case mémoire soit l'adresse de à la primitive système de destruction des processus.

D'autre part, il faut transmettre l'identifiant du processus à détruire. Quand on arrive dans DetruireProcessus, le pointeur de pile a été incrémenté et désigne la case mémoire devant contenir l'adresse de retour, suivie de la case contenant le paramètre. Or, comme à la fin de DetruireProcessus on appelle la procédure d'allocation du processeur, nous n'avons pas à nous soucier de la valeur de l'adresse de retour11. La manière de lancer la destruction d'un processus se résume donc à empiler dans la pile utilisateur du processus, lors de sa création, les informations suivantes :


next up previous contents
suivant: Structures de piles monter: Conception et mise en précédent: Organisation des adresses des   Table des matières
Alexandre DAGAN
2000-07-07