Ну раз задача настоящая, то попробую обдумать ещё. Мне просто охота "прямоугольно" сделать примитивное вытеснение, причём максимально портируемо. Но пока не придумал зачем оно мне, то и руки не пишут;)
а по чему же я должен оценивать, если у меня именно такая архитектура?
я об абсолютных временах - Вы вместо имеющегося быстродействия оперируете архитектурой - может Вы PIC на 1МГц запустили;), а я тут сложить сальдо с гульденом не могу;)))
ну если в вашей кооперативке можно передавать управление планировщику из функций, которые вызывались из задач - это круто!
Не всё так хорошо. Из задачи можно отдаться планировщику, функция же может отдаться вызвавшей функции/задаче так, что та тут же отдастся тому кто вызвал - для задачи это отдача планировщику. Обертки для этого выглядят пристойно - практически как yield(), ну и переходы выполняются максимально быстро. Но у меня сами задачи это не нечто особенное, а вполне себе обычные функции - т.е. спокойно могут "заканчиваться".
Но мне не нравится каждый раз либы под задачу ковырять.
- вот это понятно - "тут уж шо уж".