In Out
Une des tâches fondamentales du système d'exploitation est le contrôle des périphériques d'entrée/sortie et la gestion des flux de données en entrée ou en sortie.
Il doit :
Émettre des commandes vers ses périphériques
Intercepter les interruptions
Gérer les erreurs
I – L'aspect matériel
Une des principales difficultés vient de la grande diversité des périphériques (clavier, disque, ...), or l'interface doit autant que possible tous les englober avec le même traitement.
1) Les différents périphériques
Du point de vue du traitement de l'information, on peut séparer les périphériques d'entrée/sortie en deux classes :
Les périphériques par blocs, en général de 512o – 32Ko (disques)
Les périphériques par caractères appelés aussi périphériques alpha-numérique qui traitent un flot sans structure fixe
(clavier, souris, imprimante)
Il reste des périphériques à part qui n'entrent pas dans ces catégories comme l'horloge et l'écran avec mappage de mémoire... Mais cette classification peut suffire comme base d'interface entre le logiciel du système d'exploitation et un périphérique d'entrée/sortie autonome.
Une des difficultés vient des grandes différences de débit des flux de données suivant les périphériques. A titre d'exemples :
Périphérique
Débit de données
Clavier
10 o/s
Souris
100 o/s
Imprimante laser
100 Ko/s
Scanner
400 Ko/s
USB (Universal Serial Bus) 1.1
1,5 Mo/s
Disque IDE (Integrated Drive Electronics)
5 Mo/s
CD-ROM 40x
6 Mo/s
Clé USB 2.0 en écriture
8 Mo/s
Bus ISA (Industry Standard Architecture)
16,7 Mo/s
Disque EIDE (Extented IDE)
16,7 Mo/s
FireWire (IEEE 1394) (bus série)
50 Mo/s
USB 2.0 (taux maximal)
60 Mo/s
Écran XGA
60 Mo/s
Disque SCSI (Small Computer System Interface)
80 Mo/s
Bus PCI (Peripheral Component Interconnect)
528 Mo/s
2) Contrôleur de périphérique
Une unité d'entrée/sortie est en général constituée de deux parties :
Un composant mécanique : le périphérique lui-même
Un composant électronique : le contrôleur de périphérique (puce