Здравствуйте, пока осваиваю ARM, созрел вопрос. Существуют различные ОС: Linux, FreeRTOS и т.п. Не понятно, когда использование ОС целесообразно, а когда нужно программировать "на живую"? Пытался найти что-нибудь в гугле, но сформулировать вопрос лаконично не получается, и поэтому ничего найти не могу.
а это завист от поставленной задачи и временнЫх ограничений..
в моем дилетантском понятие - линукс в чистом виде - ОС с нежестким "временем отклика" - т.е. между событием и реакцией ОС может пройти существенный рандомный интервал времени, что бывает критично..
тогда, как я понимаю, начинают "выпиливать" куски и обрезать таймауты в драйверах и кусках ядра.. цель - уменьшить задержки..
имхо, реальный реалтайи можно получить самописной автономной софтиной, которая реализует (вместо ядра) на конкретном железе заранее посчитанные алгоритмы..
в первом случае - все железо можно "окучить" ядром и заниматься верхним уровнем программирования задачи
во втором - все железо интить и обслуживать придется самому
глубже вопросом не владею по причине отсутствия нужды и интереса к этой области..
в последних версиях ядра Linux удалось получить 600 мкс. отклик на внешнее прерывание. вполне себе жёсткий реалтайм. Скажем для задач промышленной автоматики вполне себе подходит.
если учесть все вкусности(бесплатность, куча информации в интеренете, стек TCP/IP...), то Linux, думаю, заслуживает внимания как RTOS.
а вообще вот прямая статья-ответ на ваш вопрос: http://chipenable.ru/index.php/rtos/61-real-time-operating-systems.html