Information Technology Reference
In-Depth Information
rales d'une carte série (transmission série caractère par caractère). Une telle unité
d'échange peut fonctionner en utilisant le mécanisme d'interruption ou en ne l'utili-
sant pas. Dans cet exemple nous utilisons cette carte série en mode sans interruption,
nous examinerons dans l'exemple suivant ce qu'induit le fait de fonctionner en mode
avec interruptions.
Pour réaliser une telle opération d'entrées-sorties le pilote exécute l'algorithme
suivant qui donne la logique du programme machine correspondant au pilote. L'appli-
cation de l'utilisateur est par exemple un programme de traitement de texte (par
exemple Word) et l'utilisateur décide d'imprimer, dans ce contexte, un fichier de
caractères.
lire registre_état;
répéter
tant que périphérique_occupé;
faire
lire registre_état;
finfaire
écrire un caractère dans registre de données;
jusqu'à ce qu'il n'y ait plus de caractères à imprimer.
Dans cet algorithme le pilote lit le registre d'état qui contient un code caractéris-
tique de l'état de l'imprimante. Ce code peut par exemple indiquer qu'il n'y a plus
de papier; le pilote affichera alors un message pour l'utilisateur indiquant qu'il n'y a
plus de papier. Ce code peut également indiquer que l'imprimante imprime actuel-
lement un caractère et qu'elle n'est donc pas disponible pour imprimer un autre
caractère. Dès que le caractère est imprimé l'imprimante devient libre et elle le
signale en positionnant le contenu du registre d'état à une valeur qui signifie : impri-
mante libre. C'est cette situation que nous examinons.
Cet algorithme est donc organisé comme deux boucles itératives imbriquées. La
plus extérieure (répéter… jusqu'à) contrôle le nombre de caractères à imprimer. La
boucle intérieure (tantque… faire… finfaire) exprime que tant que le registre d'état
indique que l'imprimante est occupée le pilote relit le registre d'état pour savoir
quand l'imprimante va être disponible.
La figure 9.23 illustre cette exécution. Le programme Word est en cours d'exécution.
Lorsque l'utilisateur clique sur l'icône d'impression, cette action se traduit par un
appel au pilote gestionnaire de l'imprimante. Le pilote reçoit le nombre de carac-
tères à imprimer. Pour pouvoir s'exécuter le pilote doit disposer du processeur, il
faut donc sauvegarder le contexte matériel d'exécution du programme Word (2). Le
pilote réalise l'opération d'entrées-sorties par exécution de l'algorithme précédent (3).
À la fin de cette exécution le pilote recharge dans le processeur le contexte d'exécution
de Word qui reprend donc son exécution à l'endroit où il avait été interrompu (4).
Ainsi pendant tout le temps de l'opération d'entrées-sorties, le processeur est
occupé : il exécute les instructions de la boucle tant… que. On dit que le processeur
fait une attente active : il attend que le périphérique soit libre en exécutant des
instructions. Ce mode de gestion est inefficace puisque globalement les performances
Search WWH ::




Custom Search