|
Каждый персональный компьютер имеет
таймер,который генерирует прерывания 18,2 раза в секунду и обеспе-
чивает механизм для планирования периодических действий. Утилита
DOS PRINT использует таймер для поддержания цикла принтера неза-
висимо от происходящего в системе.
Горячие ключи и таймер прерывают работу центрального процес-
сора, когда им необходимо его внимание. Процессор обслуживает
прерывание и возвращается к прерванной задаче. Персональные
компьютеры имеют специальные аппаратные средства для обработки
прерываний. И клавиатура, и таймер взаимодействуют с ними; если
Вы хотите использовать клавиатуру и таймер, то необходимо знать,
как аппаратные средства и программное обеспечение обрабатывают
системные прерывания.
Аппаратные прерывания
На уровне аппаратных средств, поддерживающих MS-DOS, есть
система прерываний от аппаратных средств, каждое из которых ассо-
циировано с конкретным устройством. Каждое устройство, ожидающее
обслуживания процессором, посылает контроллеру прерываний 8259A,
который планирует обработку прерываний, запрос на прерывание, или
IRQ. Каждое устройство имеет некоторый приоритет. Устройство с
высшим приоритетом первым получает доступ к процессору раньше
менее важных устройств. (Контроллер прерываний 8259A может быть
запрограммирован и по-другому, но другие способы обработки менее
выгодны для использования). Когда контроллер прерываний решает,
что прерывание может быть обработано, он посылает на устройство
сообщение "подтверждение приема прерывания", блокирует все ос-
тальные прерывания и генерирует прерывание.
В ответ на конкретное аппаратное прерывание, процессор ищет
адрес обработки прерывания в таблице векторов прерываний (IVT).
Эта таблица занимает 256 двойных слов (1024 байта) памяти.
|