Компоненты и технологии • №2 '2011 компоненты


КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 9 '2011



Pdf көрінісі
бет95/129
Дата28.09.2023
өлшемі4.1 Mb.
#478975
1   ...   91   92   93   94   95   96   97   98   ...   129
Kurniz

98
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 9 '2011
компоненты
микроконтроллеры
Таким образом, используя сопрограммы, 
удалось достичь экономии оперативной па-
мяти 1180–345 = 835 байт, что составляет 
приблизительно 71%.
Состояния сопрограммы
Как и задача, сопрограмма может пребывать 
в одном из нескольких возможных состояний. 
Для сопрограмм этих состояний три:
1. Выполнение (Running). Говорят, что сопро-
грамма выполняется, когда в данный момент 
времени процессор занят непосредственно 
ее выполнением. В любой момент вре-
мени только одна сопрограмма в системе мо-
жет находиться в состоянии выполнения.
2. Готовность к выполнению (Ready). Говорят, 
что сопрограмма готова к выполнению, 
если она не блокирована, однако в данный 
момент процессор занят выполнением 
другой сопрограммы или какой-то задачи. 
Сопрограмма может находиться в состоя-
нии готовности к выполнению по одной 
из следующих причин:
– Другая сопрограмма в данный момент 
находится в состоянии выполнения.
– Одна из задач находится в состоянии 
выполнения, если в программе одно-
временно используются и сопрограммы, 
и задачи.
3. Блокированное состояние (Blocked). 
Сопрограмма блокирована, когда ожида-
ет наступления некоторого события. Как 
и в случае с задачами, событие может быть 
связано с отсчетом заданного временного 
интервала — временное событие, а мо-
жет быть связано с ожиданием внешнего 
по отношению к сопрограмме события. 
Например, если сопрограмма вызовет 
API-функцию crDELAY(), то она перейдет 
в блокированное состояние и пробудет 
в нем на протяжении заданного интервала 
времени. Блокированные сопрограммы 
не получают процессорного времени.
Графически состояния сопрограммы и пе-
реходы между ними представлены на рис. 1. 
В отличие от задач у сопрограмм нет при-
остановленного (suspended) состояния, од-
нако оно может быть добавлено в будущих 
версиях FreeRTOS.


Достарыңызбен бөлісу:
1   ...   91   92   93   94   95   96   97   98   ...   129




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет