Обработчик прерываний от таймера
Обработчик прерываний обновляет значение локального счетчика при каждом прерывании. Если прерывания запрещены, такты теряются. В некоторых случаях этот эффект можно компенсировать. Подсчет потерянных тактов возможен с использованием глобальной переменной, значение которой складывается с локальным счетчиком, а при наступлении прерывания и активации обработчика счетчик сбрасывается в ноль. Мы увидим, как это делается, во время изучения реализации.
Обработчик также изменяет значения переменных, расположенных в таблице процессов, с целью учета времени процессов и управления ими. Он посылает сообщение таймерному заданию лишь в случае, если в текущий момент следующий запланированный таймер истек либо закончился квант процесса. Все, что делает обработчик, — выполняет простые целочисленные операции: арифметические, сравнения, логические (И/ИЛИ), присваивания. Такие операции с легкостью переводятся компилятором в машинный код. В худшем случае совершается 5 сложений или вычитаний, 6 сравнений и несколько логических операций и присваиваний в конце процедуры. Задержки, связанные с вызовами подпрограмм, равны нулю.
Еще по теме Обработчик прерываний от таймера:
- 7.3.2. Прерывания
- 7.4.4. Как справиться с прерыванием.
- 7.3.2. Прерывания
- Прерывание нотаций:
- Прерывание обвинений:
- Прерывание криков и ругани:
- 7.4.4. Как справиться с прерываниями
- Статья 281. Право на жизнь
- 7.14.1. Комбинаторный метод
- ПРЕПЯТСТВИЕ ВНЕШНЕЕ
- Статья 121. Умышленное тяжкое телесное повреждение
- М.Руссинович, Д.Соломон. Внутреннее устройство Microsoft Windows (главы 1–4), 2005
- Конфронтация.
- Термоядерная реакция при комнатной температуре