RTLinux

RTLinux — система жёсткого реального времени построенная на основе ОС Линукс.

RTLinux дополнение к ядру операционной системы Линукс для реализации жесткого реального времени, которое позволяет управлять различными чувствительными ко времени реакции системы процессами.

RTLinux операционная система, в которой маленькое ядро реального времени сосуществует с POSIX-ядром Linux.

Разработчики RTLinux пошли по тому пути, который предусматривает запуск из ядра реального времени ядра Linux как задачи с наименьшим приоритетом. В RTLinux все прерывания обрабатываются ядром реального времени и в случае отсутствия обработчика реального времени передаются ядру Linux. Фактически ядро Linux является простаивающей (idle) задачей ОСРВ, запускаемой только в том случае, если никакая задача РВ не исполняется. При этом на Linux-задачу накладываются некоторые ограничения, которые, впрочем, прозрачны для программиста.

Linux не может выполнять следующие операции:

  • блокировать аппаратные прерывания
  • предохранять себя от вытеснения другой задачей.

Ключ к реализации данной системы эмулирующий систему управления прерываниями драйвер, к которому обращается Linux при попытке блокировать прерывания. В этом случае драйвер перехватывает запрос, сохраняет его и возвращает управление ядру Linux.

Все аппаратные прерывания перехватываются ядром ОС РВ. Когда происходит прерывание, ядро RTLinux решает, что делать. Если это прерывание должно быть обработано обработчиком реального времени, то ядро вызывает соответствующий обработчик. В противном случае или если обработчик РВ говорит, что хочет разделять это прерывание с Linux, обработчику присваивается состояние ожидания (pending). Если Linux потребовал разрешить прерывания, то прерывания, которые находятся в состоянии pending, эмулируются.

Ядро RTLinux спроектировано таким образом, что ядро РВ никогда не нуждается в ожидании освбождения ресурса, занятого Linux-процессом.

Для обмена данными между ОСРВ и Linux предусмотрены следующие срeдства:

  • разделяемые области памяти;
  • псевдоустройства, которые предоставляют возможность обмена данными с приложениями реального времени.

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

Приложение реального времени с RTLinux, как правило, состоит из двух независимых частей: процесса, исполняемого ядром RTLinux, и обыкновенного Linux-приложения.

Такой модульный подход к написанию приложений присущ многим расширениям РВ для многоцелевых систем, где задача реального времени работает независимо от ОС. Разработчики уже приняли схему, по которой критичные по реакции задачи программируются с помощью API-интерфейсов, предусмотренных расширением реального времени, а все функции сервиса и интерфейса с пользователем возлагается на мощь операционной системы. При использовании данного подхода, программисту нужно изучить только API-интерфейс Реального Времени.

ОС РВ на базе Linux

По материалам РТ Софт

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home