Цитата(gladov @ May 2 2012, 10:30)

Насчет uCOS не согласен. Она будет пытаться перепланировать задачи при выходе из прерывания ТОЛЬКО в том случае, если в прерывании была вызвана функция C_ISR_ENTER(). Если необходимо 1000 раз выполнить прерывание без перепланирования и только на 1001-й передать управление другой задаче, так и вызовите C_ISR_ENTER() только на 1001 раз. Тогда и оверхеда не получите.
Я точно C_ISR_ENTER() не вызываю и при этом пытается перепланировать каждый раз. Я это и по системному обработчику вижу как там сделано.
Цитата(gladov @ May 2 2012, 10:30)

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