Les couches du système d'E/S


Le traitement des interruptions: Son rôle est de traiter les interruptions de fin d'E/S venant des périphériques. Le traitement consiste à débloquer le processus en attente de cette fin d'E/S.

Les pilotes de périphériques: Chaque pilote contient le code spécifiques à un périphérique. Les pilotes déposent des commandes dans les registres de commande du contrôleur de périphérique et traitent les requètes qui viennent du niveau supérieur (ex: lecture du bloc x). Ils gèrent des files d'attentes de requètes. Ils traitent aussi les erreurs d'E/S signalées par les contrôleurs (ex: échec de lecture d'un bloc sur un disque)

Le logiciel indépendant des périphériques:  Sur appel système de la couche supérieure, exécuter les fonctions d'E/S communes à tous les périphériques et fournir une interface uniforme aux logiciels des utilisateurs (ex: rendre une taille de bloc unique au niveau supérieur même si la taille des secteurs varie d'un disque à l'autre). Fournir des tampons  (attendre l'écriture d'un bloc entier avant de lancer l'écriture, gestion du tampon pour le clavier, ...).  Cette couche inclut aussi des algorithmes spécifiques comme la recherche de blocs libres sur un disque.

Le logiciel des E/S de l'espace utilisateur (hors noyau): L'ensemble des primitives d'E/S et  des procédures des bibliothèques d'E/S (cf. par exemple les primitives du SGF d'UNIX).

suivant      plan