Списки хотят выделения/освобождения памяти, а тут масштаб помельче. Буквально stm8, msp430, avr. Как вариант - сделать пул(массив) под список и вести учёт использования. При нехватке - просить новый с кучи. Тогда да, лучше сделать next(), который можно для массива и таблицы по разному определять.
В этом же планировщике все задачи суицидные по определению, и надо запускать связку из двух задач, чтобы продолжить выполнение.
Для нумерации задач и определения размера константного массива можно использовать enum с элементами, которые именованные константы (номера) для задач,
Что-то попадалось подобное, но сейчас не вспомню? Набросайте кратко или ссылкой киньте, если не лениво?
последнее поле - есть всегда и оно длина массива.
Может первый, #0 ? Он всегда есть, если есть массив. Imho, удобней.
Задачу дергать из прерываний в кооперативке?
Поставить в очередь. А выполняться она будет в соответствии с приоритетом.
Если не делать шедулер с элементами event-driven
Да, задумка именно такова.