Что такое Выполнение Задачи?

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

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

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

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

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

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

  • Вытесненный – задача вытесняется и ожидающий, чтобы запуститься. Задача запускается на основе комбинации приоритета задач и порядка, задача ввела Вытесненное состояние. Принимая равные приоритеты задач всех других задач в Готовом, чтобы Возобновить состояние, задачи, запущенные на основе упорядоченного расположения метода "первым пришел - первым вышел" (FIFO).

  • Отключенный – Задачи завершают работу, когда приложение заканчивается.

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

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

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

Смотрите также

Похожие темы

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