Next: Noyau et serveurs.
Up: Introduction.
Previous: Historique des S.E.
  Index
Subsections
Le mécanisme général qui permet l'exécution séquentielle d'un programme est le suivant :
- sauvegarde et restauration des contextes à l'appel et au retour des procédures,
- transmission de paramètres entre procédures appelante et appelée,
- gestion d'une zone de travail propre à chaque procédure.
Pour la programmation d'un système d'exploitation il faut tenir compte de :
- l'asynchronisme, c'est à dire de l'effet sur le déroulement d'une activité, d'événements extérieurs à celle-ci,
- la protection mutuelle entre activités, qui nécessite lors du passage d'une activité à une autre, une modification du contexte plus profonde que pour un simple appel de procédure.
Le schéma d'exécution d'une commutation de contexte :
- Passage du processeur en mode privilégié (superviseur) ;
- Sauvegarde du contexte matériel : compteur ordinal, mot d'état
du processeur ;
- Chargement du nouveau contexte depuis une adresse prédéfinie
(table des déroutements) ;
- Fin de déroutement : restauration de l'ancien contexte (si
l'ordonnanceur n'a pas décidé de changer le processus courant).
Le passage du processeur en mode superviseur modifie le fonctionnement
de la mémoire, et permet donc l'accès à une partie de la mémoire invisible
depuis un programme utilisateur: protection contre les erreurs de
programmation ou les virus.
Certains processeurs possèdent plusieurs modes privilégiés : anneaux
concentriques, points d'entrée contrôlés (gateways).
On distingue généralement trois mécanismes pour lesquels
le noyau du système d'exploitation intervient.
- Déroutement (impossible d'exécuter l'instruction courante).
- Interruption (externe, vient du matériel via le bus).
- Appel au système (instruction de déroutement volontaire du programme).
Il y a souvent des confusions sur ces trois termes. Le terme déroutement unifie quelquefois les trois.
De même, il ne faut pas confondre les bibliothèques de fonctions (procédures) système,
qui facilitent la vie (exemple : printf), et la liste (courte) des
appels-systèmes.
Généralement, les interruptions sont désactivées pendant le traitement
d'un déroutement.
Next: Noyau et serveurs.
Up: Introduction.
Previous: Historique des S.E.
  Index
Alain GRIFFAULT
2000-12-22