101
КОМПОНЕНТЫ И ТЕХНОЛОГИИ •
№ 5 '2011
www.kite.ru
компоненты
микроконтроллеры
использовании схем
heap_1.c и
heap_2.c. При
использовании схемы
heap_3.c получение
объема доступной памяти становится нетри-
виальной задачей.
резюме
по вытесняющей
многозадачности в FreeRTOS
Подведя итог по вытесняющей многоза-
дачности в FreeRTOS, можно выделить сле-
дующие основные принципы:
1. Каждой задаче назначается приоритет.
2. Каждая задача может находиться в одном
из нескольких состояний (выполнение,
готовность к выполнению, блокирован-
ное состояние, приостановленное состоя-
ние).
3. В один момент времени только одна задача
может находиться в состоянии выполне-
ния.
4. Планировщик переводит в состояние вы-
полнения готовую к выполнению задачу
с наивысшим приоритетом.
5. Задачи могут ожидать наступления со-
бытия, находясь в блокированном состоя-
нии.
6. События могут быть двух основных ти-
пов:
–
временные события;
– события синхронизации.
7. Временные события чаще всего связаны
с организацией периодического выполне-
ния каких-либо полезных действий или
с отсчетом времени тайм-аута.
8. События синхронизации чаще всего свя-
заны с обработкой асинхронных событий
внешнего мира, например, с получением
информации от периферийных (по отно-
шению к процессору) устройств.
Такая схема называется вытесняющим
планированием с фиксированными приори-
тетами (Fixed Priority Preemptive Scheduling).
Говорят, что приоритеты фиксированы,
потому что планировщик самостоятельно
не может изменить приоритет задачи, как это
происходит при динамических алгоритмах
планирования [5]. Приоритет задаче назна-
чается в явном виде при ее создании, и так же
в явном виде он может быть изменен этой же
или другой задачей. Таким образом, про-
граммист целиком и полностью контролиру-
ет приоритеты задач в системе.
Достарыңызбен бөлісу: