| Chapitre 3 : Les mécanismes de base |
Nous pouvons distinguer plusieurs techniques permettant de réaliser les opérations d'entrées - sorties :
Dans ce cas, le travail est réalisé par l'unité centrale. Lorsque le système d'exploitation veut exécuter une opération de sortie, par exemple, il commence par transférer les données dans les registres ou les cellules de la mémoire puis, le système d'exploitation exécute une instruction spéciale qui provoque le transfert vers le périphérique. Cette solution est peu pratique lorsque l'on veut transférer des zones de données d'une taille importante par rapport à ce qui peut être transféré en une fois. En outre, le système doit vérifier la disponibilité du périphérique (polling) avant de lancer l'opération et doit attendre la fin de cette opération. Il consulte pour cela certains bits du registre d'état du contrôleur du périphérique.
La solution précédente se caractérise par une consommation importante du temps de l'unité centrale. En effet, la solution précédente se caractérise par des boucles de test (attente active) d'où la perte de temps inutilement. L'idée est donc d'effectuer le transfert de données sans passer par l'unité centrale.
L'accès direct à la mémoire est la possibilité de faire un transfert de données entre la mémoire centrale et les périphériques sans le concours de l'unité centrale. Cette dernière peut ainsi exécuter d'autres tâches.
Bien entendu, il faut que le matériel possède les circuits nécessaires. Dans certains cas, ces circuits de contrôle sont des véritables processeurs capables d'exécuter des programmes placés dans la mémoire centrale.
Le système d'exploitation initialise une opération d'entrée - sortie en envoyant une commande spéciale qui indique où trouver le programme et lance son exécution. Celle-ci se poursuit indépendamment de l'unité centrale. Le périphérique envoie un signal (une interruption) au processeur aussitôt la fi de l'opération est constatée.
Les techniques