netlib.narod.ru< Назад | Оглавление | Далее >

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

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

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

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

do_timer

timer_bh

update_times

update_wall_time

calc_load

run_old_timers


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz