Vue d’ensemble du modèle d’E/S Windows
Chaque système d’exploitation a un modèle d’E/S implicite ou explicite pour gérer le flux de données vers et depuis les périphériques. Une fonctionnalité du modèle d’E/S Microsoft Windows est sa prise en charge des E/S asynchrones. En outre, le modèle d’E/S présente les fonctionnalités générales suivantes :
Le gestionnaire d’E/S présente une interface cohérente pour tous les pilotes en mode noyau, y compris les pilotes de système de fichiers de niveau le plus bas, intermédiaire et de système de fichiers. Toutes les demandes d’E/S adressées aux pilotes sont envoyées en tant que paquets de demandes d’E/S (IRPs).
Les opérations d’E/S sont en couches. Le gestionnaire d’E/S exporte les services système d’E/S, que les sous-systèmes protégés en mode utilisateur appellent pour effectuer des opérations d’E/S pour le compte de leurs applications et/ou des utilisateurs finaux. Le gestionnaire d’E/S intercepte ces appels, configure un ou plusieurs irps et les achemine via des pilotes éventuellement en couches vers des appareils physiques.
Le gestionnaire d’E/S définit un ensemble de routines standard, certaines obligatoires et d’autres facultatives, que les pilotes peuvent prendre en charge. Tous les pilotes suivent un modèle d’implémentation relativement cohérent, compte tenu des différences entre les périphériques et des différentes fonctionnalités requises des pilotes de bus, de fonction, de filtre et de système de fichiers.
Comme le système d’exploitation lui-même, les pilotes sont basés sur des objets. Les pilotes, leurs appareils et le matériel système sont représentés sous forme d’objets. Le gestionnaire d’E/S et d’autres composants du système d’exploitation exportent les routines en mode noyau que les pilotes peuvent appeler pour effectuer le travail en manipulant les objets appropriés.
En plus d’utiliser les IRP pour transmettre les demandes d’E/S traditionnelles, le gestionnaire d’E/S travaille avec les gestionnaires PnP et d’alimentation pour envoyer des IRP contenant des demandes pnP et d’alimentation.