Цитата(jcxz @ May 2 2012, 07:12)

А вот интересно - вопрос любителям freertos - сколько она производительности проца съедает?
Она пытается вытеснять задачу по каждому прерыванию или только по сис. таймеру? Что если в системе есть высокочастотные прерывания?
На сколько тактов увеличивается время работы ISR-ов?
По своему опыту использования uCOS знаю, что она (в недоработанном своем виде

пытается вытеснить задачу по любому прерыванию и та же задача, но запущенная под ней, расходует примерно на 10% больше проиводительности, чем если бы была запущена без ОС.
Все сильно зависит от архитектуры процессора, порта ОС на эту архитектуру и, конечно, правильности применения данной ОС.
Насчет uCOS не согласен. Она будет пытаться перепланировать задачи при выходе из прерывания ТОЛЬКО в том случае, если в прерывании была вызвана функция C_ISR_ENTER(). Если необходимо 1000 раз выполнить прерывание без перепланирования и только на 1001-й передать управление другой задаче, так и вызовите C_ISR_ENTER() только на 1001 раз. Тогда и оверхеда не получите.
С Cortex'ами, например, еще проще. Там даже не надо системе говорить, что началось прерывание. В любой ПРАВИЛЬНО портированной ОС перепланировка будет вызвана при выходе из прерывания ТОЛЬКО в случае активации в этом прерывании каких-либо механизмов межпроцессного взаимодействия, таких как взведение семафоров, флагов, передача сообщений и т.п.
Так что при правильном использовании ОС оверхед минимален.