Перечислим способы синхронизации:
Простейший способ, программный опрос готовности (polling) схематично представлен на рисунке (см. рисунок ниже).
Опрос готовности состоит чаще всего в анализе состояния определенных битов в регистре статуса (состояния): при достижении состояния готовности к обмену ВНУ устанавливает этот (эти) бит(ы) в определенное состояние. Обмен с ВНУ состоит в чтении или записи в регистр данных.
Так, если приемник последовательного интерфейса принял извне байт, автоматически устанавливается флаг готовности — младший байт в порте 03FDh. Фрагмент программы, ожидаю-щий приема байта, может выглядеть так:
Недостаток: при ожидании готовности нерационально расходуется время процессора. Можно опрашивать не постоянно, а периодически, при этом появляется задержка реакции на готовность. Поэтому был разработан механизм прерывания.
Примечание: Термин “прерывание” в русскоязычной компьютерной литературе многозначен и употребляется для обозначения трех различных вещей.В англоязычной литературе используются три разных термина:
Будем далее называть подпрограмму, обрабатывающую факт наступления события, обработчиком прерывания (interrupt handler или exception handler).
Термин “обработка прерывания” может использоваться для обозначений двух различных вещей: