Précédent Index Suivant

6.3   exec

exec, lorsque appelée par une tâche, change le programme support de cette tâche. C'est une transmutation et non une métempsychose ! En effet, on utilise la vie de la tâche qui invoque exec pour lui faire faire autre chose sans pour cela la tuer.

Une tâche est l'association d'un programme à exécuter et d'une vie, c'est-à-dire d'un droit à disposer de temps d'unité centrale pour y être exécutée. Un appel à exec en quelque partie que ce soit du programme appelant réinitialise la tâche pour lui faire exécuter un nouveau programme dont le nom est donné en argument. Ce nouveau programme débute, bien sûr, par sa première instruction et bien qu'exec soit un sous-programme, le programme appelant sera purement et simplement oublié comme s'il n'avait jamais existé et jamais invoqué exec. Quand le nouveau programme sera achevé (à condition qu'il n'appelle pas lui-même exec) la tâche associée sera également achevée. exec est l'acte magique par excellence : il transmue une citrouille en un carosse ou un ogre en une souris !

Cette sémantique est très liée à la primitive suivante.
Précédent Index Suivant