Ядро Linux в комментариях

       

Время и таймер


В этом разделе в ходе рассмотрения работы примера прерывания (прерывания таймера) связывается воедино все, что читателям уже известно о прерываниях и нижних половинах.

Функция прерывания таймера timer_interrupt связывается с IRQ0 в строке . Используемая здесь переменная irq0 определяется в строке . Посредством использования функции init_bh (строка ) в строке функция timer_bh регистрируется в качестве нижней половины обработчика прерывания таймера.

Когда IRQ 0 запускается, timer_interrupt считывает некоторые значения из счетчика отметок времени центрального процессора, если таковой имеется (этот счетчик используется некоторыми кодами, не рассматриваемыми в этой книге), а затем вызывает функцию do_timer_interrupt (строка ). Кроме выполнения некоторых других задач, эта функция вызывает функцию do_timer, которая является интересной частью прерывания таймера.



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