ОС жесткого реального времени на базе Linux?

Всем привет.



Передо мною встала задача найти основанный на Linux, полностью поддерживаемый Linux или сам Linux жесткого реального времени.

Жесткое реальное время — обязательный атрибут.



Гугление показало, что вариантов не так уж и много:

1) LynxOS (не до конца ясна поддержка Linux, проприетарная, дорогая)

2) RTLinux (пугает, что Linux выполняется как отдельный вытесняемый процесс (ведь, по сути, теряется режим реального времени))

3) ART Linux (для меня пока это самый интересный вариант: отдельное ядро, которое в виде deb пакета отлично поставиться на ту же ubuntu/debian; как я понял, написание драйверов не будет выглядеть таким волшебным процессом, как в RTLinux)

4) ???



На текущий момент архитектура — x86, но вполне возможен вариант использования на архитектуре SPARC.



Буду очень благодарен, если Вы расскажите мне о сильных и слабых сторонах тех или иных решений, что и почему используете Вы.



QNX предлагать не надо.
  • Вопрос задан
  • 8462 просмотра
Пригласить эксперта
Ответы на вопрос 5
@bdmalex
QNX предлагать не надо.
imho, и совершенно зря.
Ответ написан
@Avar
если Заказчик запрещает QNX предложите ему ЗОСРВ КПДА.xxxxx-xx, эти системы бинарно совместимы. Ни QNX ни КПДА не работают на SPARС архитектуре, но если под SPARС подразумевается Эльбрус, то есть «компилятор», через него в частности прогоняли QNX4 и запускали на Эльбрусе, вроде оп отзывам все работало.
Ответ написан
Tanner
@Tanner
Огромный человекоподобный боевой робот
Просто ванильный линукс с патчем rt-preempt не подходит? Это случаем не те же самые яйца, что и ART-Linux?
Ответ написан
@Klukonin
Для ваших целей очень хорошо подойдет линукс.
Выше писали о том что это soft realtime, но, видимо не совсем разобрались в вопросе.

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

RT Patch от товарища по имени Ingo Molnar позволяет заставить работать ядро в режиме жесткого реального времени. При этом общая производительность слегка падает.
Подробнее можно почитать тут:
https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HO...

Цитирую:
The standard Linux kernel only meets soft real-time requirements: it provides basic POSIX operations for userspace time handling but has no guarantees for hard timing deadlines. With Ingo Molnar's Realtime Preemption patch (referenced to as RT-Preempt in this document) and Thomas Gleixner's generic clock event layer with high resolution support, the kernel gains hard realtime capabilities.

Собрать такой ядро можно для разных архитектур.

Если что - обращайтесь.

Удачи вам=)
Ответ написан
Комментировать
@Klukonin
В дополнение по поводу сильных и слабых сторон.

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

Минусы: разные подводные камни могут быть не документированы,
Необходимо тщательнейшим образом тестировать из-за первой причины.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы