| Chapitre 3 : Les mécanismes de base |
Les opérations d'entrées sorties constituent les moyens par lesquels les programmes vont pouvoir interagir avec le monde extérieur. Tous les programmes doivent :
Il existe une variété très importante de périphériques :
Certains d'entre eux servent pour le stockage alors que les autres servent pour la communication entre les programmes et le monde extérieur.
L'écriture de programmes interagissant avec les périphériques est une tache extrêmement difficile.
La programmation de ce type d'opérations nécessite la prise en compte d'un nombre important de détails qui dépendent du périphérique concerné. En plus, chaque type existe en plusieurs modèles de qualités différentes. Ces différents modèles peuvent être fournis par plusieurs constructeurs qui ne respectent pas les mêmes standards définissant ainsi une interface différente pour chaque modèle. Par conséquent, une variété importante d'interfaces serait à prendre en compte par le programmeur lors du développement de ses applications.
Donc, il serait intéressant de masquer ces particularités aux programmeurs pour qu'ils n'écrivent pas de programmes qui interagissent directement avec les périphériques d'entrées - sorties.
Afin d'atteindre cet objectif, une solution a été adoptée. Elle consiste à inclure les programmes qui réalisent les opérations d'entrées - sorties dans le système d'exploitation constituant ainsi ce que certains appellent les systèmes d'entrée-sortie.
Cette solution est illustrée par le schéma suivant :
Les avantages de cette approche sont nombreux :
Remarque :
Le rôle du système d'exploitation (les systèmes d'entrée - sortie) est précisément de masquer les détails de ces différentes interfaces et d'offrir une interface commune facile à manipuler. Ils offrent aux programmeurs un ensemble d'opérations d'entrée - sortie de haut niveau, telles que : lire ou écrire.
C'est 'implémentation de ces instructions de haut niveau qui prend en compte les détails dépendant de la nature et du type du périphérique concerné.
Selon cette approche :
Ainsi, les programmeurs fournissent des opérations d'entrées - sorties logiques (abstraites) et les systèmes d'exploitations les transforment en entrées - sorties physiques.
Les entrées-sorties
Les contrôleurs de périphériques sont constitués d'un ensemble de composantes pouvant être manipulées par l'unité centrale pour réaliser l'opération d'entrée - sortie.
Chaque contrôleur a sa propre interface.