5 Notions de base

 
 
Nous révisons ci-dessous quelques notions de base.

5.1 Interfaces du système d'exploitation

Définition : Commandes et appels systèmes
Les appels systèmes constituent l'interface du système d'exploitation et sont les points d'entrées permettant l'exécution d'une fonction du système. Les appels système sont directement appelables depuis un programme. Les commandes permettent elles d'appeler les fonctions du système depuis le prompt de l'interpréteur de commande (shell, invite du dos).

5.2 Modes d'exécutions et Commutations de contexte

 
 
Lorsqu'un programme utilisateur fait un appel système (ici open), il va exécuter une fonction du système d'exploitation. Il quitte alors son mode courant d'exécution (mode utilisateur) pour passer dans un mode d'exécution privilégié qui est le mode d'exécution du système d'exploitation (mode superviseur) : ce mode est privilégié dans le sens où il donne accès à un plus grand nombre d'instructions machine que le mode utilisateur (notamment il permet l'exécution des instructions de masquage et démasquage d’interruptions interdites en mode utilisateur). Ce passage du mode utilisateur au mode superviseur constitue une commutation de contexte : elles s'accompagne d'une opération de sauvegarde du contexte utilisateur. 
Fig 8 : Commutation de contexte
 
 
Lorsque l'exécution de la fonction système est achevée, le programme repasse du mode superviseur au mode utilisateur. Il y a de nouveau une opération de commutation de contexte avec restauration du contexte utilisateur sauvegardé lors de l'appel système.
Fig 9 : Commutation de contexte
 
 
Il y a trois grandes causes de passage du mode utilisateur au mode superviseur :
  • le fait que le programme utilisateur appelle une fonction du système. C'est une demande explicite de passe en mode superviseur.
  • l'exécution par le programme utilisateur d'une opération illicite (division par 0, instruction machine interdite, violation mémoire…) : c'est la trappe. L'exécution du programme utilisateur est alors arrêtée.
  • la prise en compte d'une interruption par le matériel et le système d'exploitation. le programme utilisateur est alors stoppé et l'exécution de la routine d'interruption associée à l'interruption survenue exécutée en mode superviseur.
Définition : Mode superviseur
Le mode superviseur est le mode d'exécution du système. C'est un mode d'exécution privilégié qui autorise notamment l'appel à des instructions interdites en mode utilisateur (manipulation des interruptions). Ce mode assure la protection du système d'exploitation. Le passage du mode utilisateur vers le mode superviseur est soit provoqué par un appel système, soit par une trappe, soit par l'arrivée d'une interruption
Définition : Commutations de contexte
Le passage entre les modes utilisateur / superviseur s'accompagne de commutations de contexte (sauvegarde du contexte utilisateur - changement de mode d'exécution - restitution du contexte utilisateur)
Introduction Introduction aux systèmes d'exploitation Notions de base