Partager via


End-User demandes d’E/S et objets de fichier

Les pilotes en mode noyau sont masqués aux utilisateurs finaux par un sous-système protégé qui implémente une interface de programmation déjà familière, telle que Windows ou POSIX. Les appareils sont visibles par le code en mode utilisateur, qui comprend des sous-systèmes protégés, uniquement en tant qu’objets de fichiers nommés contrôlés par le gestionnaire d’E/S.

La figure suivante illustre cette relation entre un utilisateur final, un sous-système et le gestionnaire d’E/S.

diagramme illustrant des objets de fichier représentant des fichiers, des volumes et des appareils.

Un sous-système protégé, tel que le sous-système Win32, transmet les demandes d’E/S au pilote en mode noyau approprié par le biais des services système d’E/S. Le sous-système illustré dans la figure précédente dépend de la prise en charge des pilotes d’affichage, de carte vidéo, de clavier et de souris.

Un sous-système protégé empêche ses utilisateurs finaux et ses applications d’avoir à connaître les composants en mode noyau, y compris les pilotes. À son tour, le gestionnaire d’E/S empêche les sous-systèmes protégés d’avoir à connaître les configurations d’appareils spécifiques à l’ordinateur ou les implémentations des pilotes.

L’approche en couches du gestionnaire d’E/S empêche également la plupart des pilotes d’avoir à connaître les éléments suivants :

  • Si une demande d’E/S provient d’un sous-système protégé particulier, tel que Win32 ou POSIX

  • Si un sous-système protégé donné a des types particuliers de pilotes en mode utilisateur

  • Ce que le modèle d’E/S du sous-système protégé et l’interface avec les pilotes sont

Le gestionnaire d’E/S fournit aux pilotes un seul modèle d’E/S, un ensemble de routines de prise en charge en mode noyau que les pilotes peuvent utiliser pour effectuer des opérations d’E/S, et une interface cohérente entre l’initiateur d’une demande d’E/S et les pilotes qui doivent y répondre.

Comme indiqué dans la figure précédente, un sous-système et ses applications natives peuvent accéder à un périphérique de pilote ou à un fichier sur un périphérique de stockage de masse uniquement via des handles d’objet de fichier fournis par le gestionnaire d’E/S. Pour ouvrir un tel objet de fichier ou pour obtenir un handle pour les E/S sur un appareil ou un fichier de données, un sous-système appelle les services système d’E/S avec une demande d’ouverture d’un fichier nommé. Le fichier nommé peut avoir un alias spécifique au sous-système (lien symbolique) vers le nom en mode noyau de l’objet fichier.

Le gestionnaire d’E/S, qui exporte ces services système, est ensuite chargé de localiser ou de créer l’objet de fichier qui représente l’appareil ou le fichier de données et de localiser le ou les pilotes appropriés.