Сравнение встроенных операционных систем? - PullRequest
11 голосов
/ 22 сентября 2008

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

Основные ограничения системы:

  • Требуется веб-интерфейс.
  • Входные данные должны обрабатываться в режиме реального времени (поэтому необходима настоящая ОСРВ).
  • Объем доступной памяти составляет 32 МБ ОЗУ и FLASH.

Операционные системы, которые использовались командой ранее, это VxWorks, ThreadX, uCos, pSOS и Windows CE.

Есть ли у кого-нибудь сравнительное или торговое исследование по выбору операционной системы?

Существуют ли другие операционные системы, которые мы должны рассмотреть? (Мы предложили eCos и RT-Linux).

Редактировать - Спасибо за все ответы на сегодняшний день. Жаль, что я не могу пометить все как принятые.

Ответы [ 11 ]

5 голосов
/ 22 сентября 2008

Все зависит от того, сколько времени было выделено вашей команде для изучения «новой» ОСРВ.
Есть ли причины, по которым вы не хотите использовать то, с чем у людей уже есть опыт?

У меня большой опыт работы с vxWorks, и он мне нравится, но не обращая внимания на мое мнение, поскольку я работаю в WindRiver.

Преимущество uC / OS II в том, что оно полностью документировано (как на самом деле объясняется в исходном коде) в книге Лаброса. Не знаю, как насчет веб-поддержки.

Я знаю, что pSos больше не доступен.

Вы также можете взглянуть на этот список ОСРВ

5 голосов
/ 31 октября 2008

Думаю, было бы разумно тщательно оценить, что вы подразумеваете под "RTOS". Я годами работал в крупной компании, которая создает высокопроизводительные встраиваемые системы, и они называют их «в режиме реального времени», хотя на самом деле это не так. Они с малой задержкой и имеют детерминированные планировщики, и в 9 раз из 10 это то, что люди действительно хотят, когда говорят RTOS.

Правда в реальном времени требуется аппаратная поддержка и, скорее всего, это не то, что вы на самом деле имеете в виду. Если все, что вам нужно, это низкая задержка и детерминированное планирование (опять же, я думаю, это то, что люди имеют в виду в 90% случаев, когда говорят «в реальном времени»), тогда любой дистрибутив Linux будет работать для вас просто отлично. Возможно, вы даже можете обойтись с Windows (хотя я не уверен, как вы управляете планировщиком Windows ...).

Опять же, просто будьте осторожны, что вы подразумеваете под "в реальном времени".

5 голосов
/ 22 сентября 2008

Я работал с QNX много лет назад, и мне нечего сказать об этом. Уже тогда QNX 4 (который является довольно коротким по сравнению с микроядром Neutrino) идеально подходил для ситуаций с нехваткой памяти (хотя 32 МБ это oodles по сравнению с 1-2 МБ, с которыми нам приходилось играть), и хотя я не играл явно ни с какими веб-вещами, я знаю, что Apache был доступен.

4 голосов
/ 30 сентября 2008

Это может быть мудрым решением выбрать ОС, с которой сталкивается ваша команда. Однако я хотел бы продвигать два хороших варианта с открытым исходным кодом:

Оба имеют множество функций и драйверов для самых разных архитектур. Вы не упомянули, какую архитектуру вы будете использовать. Они предоставляют слои POSIX, что очень удобно, если вы хотите оставаться максимально портативным.

Кроме того, лицензия для eCos и RTEMS распространяется на GPL, но за исключением того, что исполняемый файл, созданный путем соединения с ядром, не распространяется на GPL.

Общины очень активны, и есть компании, которые предоставляют коммерческую поддержку и развитие.

4 голосов
/ 23 сентября 2008

Я купил оборудование для разработки у netburner С ним было очень легко работать и очень хорошо задокументировано. Это ОСР, работающая на uCLinux. С компанией приятно работать.

2 голосов
/ 03 октября 2008

Мы были очень довольны системой Keil RTX .... легкая и быстрая, и она отвечает всем нашим строгим ограничениям в реальном времени. Он также имеет несколько хороших функций отладки, встроенных для отслеживания переполнения стека и т. Д.

1 голос
/ 22 января 2014

Вот последнее исследование. Последнее было сделано более 8 лет назад, так что это наиболее актуально. Таблицы могут использоваться для добавления дополнительных вариантов RTOS. Вы заметите, что это сравнение ориентировано на более легкие машины, но в равной степени применимо к более тяжелым машинам, если виртуальная память не требуется.

http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems

1 голос
/ 22 апреля 2012

VxWorks хорош:

  1. хорошая документация;
  2. дружественный развивающий инструмент;
  3. низкая задержка;
  4. детерминированное планирование.

Однако я сомневаюсь, что WindRiver сконцентрирует свое основное внимание на Linux, а WindRiver Linux выйдет на рынок WindRiver VxWorks. Меньше рынка, меньше требований инженеров.

1 голос
/ 12 апреля 2009

Софт также может означать, что вы можете терпеть некоторые икоты время от времени.

Что такое требования к надежности? Мой опыт работы с операционными системами более общего назначения, такими как Linux, во встраиваемых системах заключается в том, что они, как правило, испытывают случайные сбои из-за своих умных оптимизаций в среднем случае, которые пытаются избежать голодания и аналогичных для отдельных задач.

1 голос
/ 31 октября 2008

Отправка по согласованию с Беном Коллинзом - вам действительно нужно определить, есть ли у вас мягкое требование в реальном времени (в первую очередь для взаимодействия с человеком) или жесткое требование в реальном времени (для взаимодействия с устройствами, чувствительными к времени).

...