Цитата(yuri_t @ Aug 23 2006, 22:49)

- Не пытайтесь повысить быстродействие уже существующих RTOS
...
Совершенно верно.
Цитата
- Не пытайтесь придумывать свои синхронизационные примитивы.
....
При условии, что "существующие" есть :-) и результат их работы позволяет удовлетворительно решить
поставленную задачу.
Цитата
- Не используйте malloc(), используйте fixed-sized blocks memory allocators.
Не совсем понял - это против использования менеджеров памяти вообще, или пусть будут,
но выделяют память солидными блоками, дабы не дефрагментировать "излишне"??
Менеджер памяти должен быть - ибо ее почти всегда не хватает :-( Ну а борьба с дефрагментацией - думать надо :-( при проектировании ....
Цитата
- Тщательно планируйте число задач и их приоритеты, избегайте sharing
ресурсов между задачами самого высокого и самого низкого приоритетов.
Само собой!
Цитата
- При обмене данными между задачами через очереди для повышения
быстродействия пересылайте данные блоками, а не байтами. Элементом
очереди при этом будет указатель на блок памяти, полученный от fixed-sized
blocks memory allocators.
Как вариант - да. Но опять от реализации зависит - приходилось очереди уже _сразу_ на указателях
на буфер из фиксированных блоков реализовавать, причем все на ASM c размерами степени двойки
и с расположением по красивым адресам - быстрее уже не сделать :-)
Цитата
- Избегайте использование синхронизационных функций RTOS с таймаутами.
Хорошо сконструированной системе очень редко нужны таймауты,
отличные от INFINITE.
Очень! зависит от реализации ядра и не всегда можно "хорошо сконструировать" систему ввиду того,
что далеко не все в руках творца, а определяется внешним миром.
Цитата
- Уменьшайте,насколько возможно, число прерываний в системе.
В качесте общей рекомендации типа "не плодить сущности" - да.
В общем это следует понимать, как настоятельные рекомендации по использованию Вашей системы и
"руководство к размышлению" перед использовании любой системы.