7.4 Linux и режим жёсткого реального времени

Предыдущая  Содержание  Следующая V*D*V

Напомним, что стандартный Linux не обеспечивает гарантий предельного срока жёсткого реального времени. Для поддержки работы приложений жёсткого реального времени под Linux добавлены некоторые расширения. Наиболее популярным является подход двойного ядра, в котором Linux рассматривается как низкоприоритетная задача реального времени. Базовую архитектуру подхода двойного ядра показывает Рисунок 7.5.

 

Рисунок 7.5 Архитектура двойного ядра.

Рисунок 7.5 Архитектура двойного ядра.

 

В подходе двойного ядра Linux выполняется, только когда не работают задачи реального времени. Он никогда не сможет запретить прерывания или защитить себя от вытеснения. Аппаратные прерывания находится под контролем системы исполнения реального времени и прерывания отправляются в Linux только если они не забираются системой исполнения реального времени. Даже если Linux запрещает прерывание (с помощью cli), аппаратное прерывание не отключается.  Система исполнения реального времени просто не будет посылать прерывания в Linux, если последний отключил его. Таким образом, система исполнения реального времени ведёт себя как "контроллер прерываний" для Linux. Linux никогда не добавит какой-либо задержки к времени отклика на прерывание системы исполнения реального времени. В этой конструкции Linux управляет всем, что исполняется не в режиме реального времени, например, ведением журнала, инициализацией системы, управлением оборудованием, не вовлечённым в обработки в реальном времени, и так далее.

Есть два основных варианта Linux жёсткого реального времени: RTLinux и RTAI. RTLinux была разработан в Технологическом Институте Нью-Мексико Михаилом Барабановым под руководством профессора Виктора Йодайкина. RTAI был разработан в Миланском Политехническом Департаменте Аэрокосмической Техники профессором Паоло Мантегацца. Оба этих варианта реализованы в виде модулей ядра Linux. Они похожи по своей природе тем, что если нет активных задач реального времени, все прерывания первоначально обрабатываются  ядром реального времени, а затем передаются в Linux.

В этом разделе мы обсудим решение RTAI для предоставления поддержки в Linux жёсткого реального времени. В конце мы также очень кратко обсудим ADEOS, являющуюся основой для поддержки ядра реального времени и ОС общего назначения (например, Linux) на той же платформе.

 

Предыдущая  Содержание  Следующая