Операционная система QNX 4.Архитектура системы

       

Обработчики прерываний


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

Физически обработчики прерываний формируются как часть стандартного процесса QNX (например, драйвера), но они всегда выполняются асинхронно с процессом, в котором содержатся.

Обработчик прерываний:

  • запускается удаленным вызовом, а не прямо прерыванием (лучше писать его на языке Си, а не на ассемблере);
  • выполняется внутри процесса, в который встроен, поэтому имеет доступ ко всем глобальным переменным процесса;
  • выполняется только для разрешенных прерываний и приоритетно обслуживает прерывания более высокого уровня;
  • не взаимодействует непосредственно с контроллером прерываний (микросхемой 8259). Это делает операционная система.

По одному прерыванию (если это поддерживается аппаратно) могут запускаться несколько процессов. При возникновении физического прерывания каждому обработчику прерываний передается управление. В каком порядке обработчики прерываний разделяют обработку этого прерывания - не определено.

Если вы хотите Используйте
Установить аппаратное прерывание Функцию qnx_hint_attach()
Удалить аппаратное прерывание Функцию qnx_hint_detach()



Содержание раздела