QUOTE (Bethowen81 @ Jun 9 2011, 16:05)

1. Если я запускаю кооперативный планировщик (vCoRoutineSchedule) в вытесняющей Task1 и с таким же приоритетом есть еще вытесняющая Task2, то они будет делить время работы
Между собой не отдавая другим задачам более низкого приоритета. Посему, как ни крути, в том виде, как Вы написали это самая НИЗКОПРИОРИТЕТНАЯ задача должна быть. Принципиально это ничем не отличается от уже имеющейся Idle, которая в Вашем случае просто никогда не получит управление. А в ней, между прочим, бывают кроме вызова Hook и другие полезные действия.
QUOTE
А в случае vCoRoutineSchedule в Task1 получаеться можно приостановить кооперативный планировщик...
Его и так можно остановить, при желании.
QUOTE
2. По поводу затрат памяти. Да нет никаких затрат.
Вы создали ЛИШНЮЮ задачу не воспользовавшись уже имеющейся. Бесполезные затраты ресурсов на эту лишнюю задачу есть.
QUOTE
Как я понимаю просто в случае где кооперативный планировщик (vCoRoutineSchedule) в вытесняющей Task1, память кооперативных программ будет распалагаться в стеке RTOS, а вот в случае vCoRoutineSchedule в Hook наверное в стеке компилятора.
Ой, как запущено

. Слова "стек RTOS" и "стек компилятора" - полная бессмыслица

. Начните с азов - у каждой задачи свой Task Control Block и Stack.