Что такое выполнение задачи?

Задача является модулем выполнения или модуля работы в программное обеспечение. Как правило, выполнение задач во встраиваемом процессоре управляется операционной системой (ОС). При развертывании на встраиваемом процессоре задача соответствует потоку OS. SoC Blockset™ определяет жизненный цикл выполнения и отношение к потокам OS следующим образом.

Жизненный цикл выполнения задачи

Жизненный цикл задачи можно разделить на пять состояний:

  • Создано - Система создает все задачи, когда приложение запускается и немедленно перемещает их в состояние ожидания.

  • Ожидание - задача ожидает связанный триггерный сигнал, такой как таймер ОС или устройство ввода-вывода. После приема триггерного сигнала задача начинает запускаться. Если задача имеет наивысший приоритет, она входит в рабочее состояние. В противном случае задача продолжает ждать, пока она не станет самым высоким приоритетом, вызванной задачей.

  • Running - задача выполняет свой код. Когда код завершает выполнение, задача немедленно переходит в состояние ожидания. Если возникает триггер для задачи с более высоким приоритетом, выполняемая задача переходит в переизбранное состояние.

  • Превентивный - задача превентивная и ожидает запуска. Задача запускается на основе комбинации приоритета задачи и порядка, в котором задача вошла в состояние Preempted. Принимая равные приоритеты задач всех других задач в состоянии Ready to Resume, задачи выполняются на основе упорядоченного расположения «первый в первом» (FIFO).

  • Завершено - задачи завершаются, когда приложение заканчивается.

Этот рисунок показывает диаграмму состояний жизненного цикла выполнения задачи для приложения, использующего O. Для простоты завершенное состояние не показано, но задача может достичь завершенного состояния из любого из других состояний.

Задача и поток

Задача является концептуальным модулем работы в алгоритме. В приложении, выполняемом на устройстве, задачей является раздел кода, который выполняется в потоке внутри операционной системы (ОС). Поток ОС определяет состояние выполнения задачи. В SoC Blockset задача конкретно относится к фрагменту Simulink® модель, содержащаяся в скорости или подсистеме вызова функций. Триггерный сигнал для этой подсистемы поступает из блока Task Manager. При развертывании на оборудовании поток ОС использует свойства задачи. Поток выполняет код, сгенерированный из подсистемы. Концептуально Задача в симуляции эквивалентна потоку в сгенерированном коде.

См. также

Похожие темы

Внешние веб-сайты