Блок управления задачей (TCB)
Подробнее
- Автор
- Wind River Systems
- Год
- 1987
- Тип
- Операционная система реального времени
- Лицензия
- Проприетарная
Структура данных, в которой RTOS хранит всё, что ей нужно знать о задаче, пока та не выполняется.
У каждой задачи в операционной системе реального времени есть свой TCB: сохранённый указатель стека, приоритет, состояние (готова, заблокирована, приостановлена), то, чего она может ждать, и обычно имя, чтобы отладка была терпимой. На практике планировщик почти только и делает, что перекладывает TCB между списками.
При переключении контекста регистры процессора кладутся в стек уходящей задачи, указатель стека сохраняется в её TCB, а указатель стека следующей задачи загружается из её собственного. Поэтому pxTopOfStack — самое первое поле TCB во FreeRTOS: ассемблерный код находит его по нулевому смещению, ничего больше не зная о раскладке. Аналог в ОС общего назначения — блок управления процессом, куда более увесистый.