| Chapitre 3 : Les mécanismes de base |
Les processus s'adressent au système d'exploitation pour la réalisation des opérations d'entrées sorties et cela en exécutant un appel au système. La prise en compte et le déroulement de cette opération sont illustrés par le schéma suivant :
La reconnaissance d'un appel au système génère une interruption, qui provoque une commutation de contexte vers le traitant de cette interruption (une procédure d'entrée - sortie).
La procédure doit déterminer le périphérique réel concerné. Dans un système multiprogrammé, il se peut que d'autres processus soient déjà en attente du même périphérique. Dans ce cas le bloc de contrôle du processus est ajouté à une liste d'attente gérée par le système.
Dès que le périphérique devient utilisable, un module du système d'exploitation choisit le processus à qui il sera attribué. Une fois le choix d'un processus effectué, la procédure d'entrée - sortie provoque une commutation de contexte, qui active le pilote du périphérique. Le pilote réalise effectivement l'opération d'entrée - sortie pour le processus choisi, par accès direct à la mémoire.
Lorsque l'opération d'entrée - sortie est terminée, le périphérique concerné génère une interruption, d'où une commutation de contexte et l'exécution d'un traitant. Ce traitant vérifie que l'opération en question s'est correctement déroulée. Il charge, ensuite, le contexte du processus qui avait demandé l'opération d'entrée - sortie ou, dans un système multiprogrammé, il ajoute son bloc de contrôle à la file des processus prêts.
Du point de vue du processus, l'opération d'entrée - sortie revient au seul appel au système. Le traitant et les pilotes des périphériques réalisent physiquement l'opération.
Dans un système temps partagé, le schéma précédent est légèrement différent. En fait, après avoir lancé l'opération d'entrée sortie pour le compte d'un premier processus, le système d'exploitation charge le contexte d'un deuxième et lance son exécution :
L'utilisation de pilotes de périphériques et les techniques d'accès direct à la mémoire permettent un recouvrement entre le travail de l'unité centrale pour le compte d'un processus avec l'activité d'un périphérique travaillant à la réalisation d'une opération d'entrée - sortie pour le compte d'un autre processus :
On parle dans ce cas d'un vrai parallélisme entre l'unité centrale et les périphériques d'entrée - sortie.
Déroulement d'une opération d'entrée - sortie