Поделиться через


Общие методы программирования операций ввода-вывода

Один из самых важных методов программирования ввода-вывода — это метод, который следует избегать: принудительное ожидание устройства операционной системой. Почти у всех был опыт просмотра Microsoft Windows "заморозить". Иногда зависание происходит из-за сбоя, но в других случаях система просто ожидает ответа устройства.

Существует два основных метода программирования для работы с ожиданием устройства: синхронный и асинхронный. Синхронное программирование ожидает устройства, и его следует избегать. Асинхронное программирование использует другие методы (например, ожидание запросов прерывания). Дополнительные сведения об синхронном и асинхронном программировании см. в следующих разделах:

Синхронное программирование ввода-вывода

Программирование асинхронных операций ввода-вывода

Microsoft Vista имеет новую политику для решения проблем с синхронным программированием. Дополнительные сведения об этой новой политике см. в разделе Ограничение ожиданий в Windows Vista .

В более ранних версиях программирования драйверов устройств драйвер должен был многократно запрашивать сведения от драйвера, пока не будет предоставлен ответ. Этот метод называется опросом и почти никогда не должен использоваться. Лучший способ решения проблемы опроса — использовать аппаратные прерывания. Дополнительные сведения об аппаратных прерываниях см. в разделе Прерывания обслуживания. Дополнительные сведения о опросе и о том, почему его не следует использовать, см. в разделе Предотвращение опроса устройств.