suivant: Phase de démarrage: le
monter: Principes de base
précédent: Principes de base
  Table des matières
Les primitives système de création et de destruction des processus1
accèdent aux structures internes du noyau. Seules ces primitives ont accès aux structures internes du
noyau2.
L'exécution de ces primitives nécessite d'être en mode superviseur. Pour cela, nous avons choisi
un principe de dédoublement de primitives: bien que l'utilisateur ait l'impression d'appeler une primitive système,
c'est en fait une fonction dite de routage qui est appelée. A chaque primitive système est associée une telle fonction qui
se charge du passage en mode superviseur, du passage des paramètres d'appel à la primitive système
proprement dite et de l'appel de la primitive.
Une première étape, la fonction de routage, se déroule hors du noyau.
- sauvegarde des paramètres d'appel, qui se trouvent au sommet de la pile utilisateur du processus en cours d'exécution. Lors du passage du mode superviseur en mode utilisateur ces paramètres sont stockés dans les registres
et
,
- sauvegarde du code de la primitive appelée dans un registre du processeur3,
- appel explicite au noyau par un TRAP, ce qui provoque à la fois le passage en mode superviseur et le déroutement vers les instructions du noyau.
Puis une seconde phase se déroule dansle noyau:
- empilement (à partir des registres
et
) des paramètres d'appel de la primitive au sommet de la pile superviseur du même processus,
- recherche de l'adresse de la première instruction de la primitive à partir du code transmis par la fonction de routage, grāce à une table d'index des fonction: IDXFONC,
- appel à la primitive système pour exécution effective (toujours en mode superviseur).
Lors du retour dans le noyau, une ré-allocation du processeur est effectuée afin de déterminer quel est le prochain processus à lancer.
Les fonctions du noyau ne doivent pas pouvoir être interrompues lors de leur exécution. Pour cela, nous avons masqué les interruptions à l'entrée dans le noyau, pour ne les démasquer qu'à la sortie4. Ainsi on gère le noyau comme une structure atomique.
suivant: Phase de démarrage: le
monter: Principes de base
précédent: Principes de base
  Table des matières
Alexandre DAGAN
2000-07-07