В vxWorks задачи - это работающий модуль.
Задача имеет TCB (блок управления задачами) с уникальным пространством задач и определенным приоритетом (как вы определили в функции taskSpawn).
Планировщик vxWorks может запускать только задачу, это минимальная работоспособная единица (планировщик может запускать само ядро, а прерывание может выполняться в системе).
Решение о том, какую задачу запускать, будет основываться на состоянии задачи (должно быть в состоянии ГОТОВ) и приоритете задачи (в vxWorks самый высокий приоритет - это меньшее число).
Обратите внимание, что несколько задач могут иметь один и тот же приоритет, и тогда ядро будет запускать разные задачи в соответствии с настроенной вами схемой (FIFO или циклический перебор).
В vxWorks все задачи имеют одинаковое пространство памяти (включая пространство памяти ядра). По этой причине WindRiver добавил механизм «как процесс» из vxWorks 6.x. Процесс имеет свое собственное «пространство виртуальной памяти», защищенное MMU.
Просто подведу итог для вас:
Задачи имеют одинаковое пространство памяти в системе.
Потоки имеют одинаковое пространство памяти в своем процессе.
Пространство памяти процесса, защищенное MMU.