Techniques générales de programmation d’E/S
L’une des techniques les plus importantes en programmation d’E/S est celle que vous devez éviter : forcer le système d’exploitation à attendre votre appareil. Presque tout le monde a eu l’expérience de voir Microsoft Windows « geler ». Parfois, le blocage est dû à un plantage, mais d’autres fois, le système attend simplement qu’un appareil réponde.
Il existe deux techniques de programmation de base pour traiter l’attente d’un appareil : synchrone et asynchrone. La programmation synchrone attend l’appareil et doit être évitée. La programmation asynchrone utilise d’autres techniques (telles que l’attente de demandes d’interruption). Pour plus d’informations sur la programmation synchrone et asynchrone, consultez les rubriques suivantes :
Programmation asynchrone d’E/S
Microsoft Vista a une nouvelle stratégie pour traiter les problèmes liés à la programmation synchrone. Pour plus d’informations sur cette nouvelle stratégie, consultez Restreindre les attentes dans Windows Vista pour plus d’informations.
Dans la programmation antérieure d’un pilote de périphérique, un pilote devait demander à plusieurs reprises des informations à un pilote jusqu’à ce que la réponse soit fournie. Cette technique est appelée interrogation et ne doit presque jamais être utilisée. La meilleure façon de gérer le problème d’interrogation consiste à utiliser des interruptions matérielles. Pour plus d’informations sur les interruptions matérielles, consultez Interruptions de maintenance. Pour plus d’informations sur l’interrogation et la raison pour laquelle vous ne devez pas l’utiliser, consultez Éviter l’interrogation d’appareil.