Операционные системы реального времени


RTEMS - часть 5


Менеджер инициализации. Отвечает за запуск и остановку RTEMS. Инициализация RTEMS производится путем создания и запуска всех инициализирующих задач и инициализирующих процедур для каждого драйвера. В случае мультипроцессорной системы происходит также инициализация механизмов межпроцессорного взаимодействия. Инициализирующие задачи отличаются от остальных задач тем, что они присутствуют в таблице инициализирующих задач пользователя и автоматически создаются RTEMS в процессе инициализации. Чтобы эти задачи выполнялись до запуска остальных задач, они должны иметь более высокий приоритет. После окончания инициализации RTEMS не удаляет инициализирующие задачи, поэтому такие задачи должны либо сами удалить себя, либо трансформироваться в "обычную" задачу. В любой системе должна быть, как минимум, одна инициализирующая задача.

Менеджер прерываний позволяет быстро реагировать на прерывания, обеспечивая возможность "вытеснения" задачи сразу после выхода из процедуры обработки прерывания. Менеджер прерываний также дает программе пользователя возможность подключить процедуру обработки к соответствующему вектору прерывания. Когда поступает запрос прерывания, процессор передает его ядру RTEMS. При обслуживании запросов прерывания RTEMS сохраняет и восстанавливает содержимое всех регистров, сохранение которых не предусмотрено правилами языка С, а затем вызывает пользовательскую процедуру обработки прерывания. Для минимизации времени, в течение которого не обслуживаются запросы прерывания равного или более низкого уровня, процедура обработки должна выполнять лишь минимальный набор необходимых действий. Дальнейшая обработка должна осуществляться программой пользователя. Менеджер прерываний гарантирует правильное распределение процессорного времени между задачами после завершения процедуры обработки прерывания. Системный вызов, сделанный из процедуры обработки прерывания, может перевести в состояние готовности к исполнению задачу с большим приоритетом, чем прерванная задача.




Начало  Назад  Вперед



Книжный магазин