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


Экономия оперативной памяти



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

Экономия оперативной памяти
при использовании сопрограмм
Оценим объем оперативной памяти, ко-
торый можно сэкономить, применяя сопро-
граммы вместо задач.
Пусть в качестве платформы выбран ми-
кроконтроллер семейства AVR. Настройки 
ядра FreeRTOS идентичны настройкам де-
монстрационного проекта, который входит 
в дистрибутив FreeRTOS. Рассмотрим два 
случая. В первом случае вся функциональ-
ность программы реализована десятью зада-
чами, во втором — десятью сопрограммами.
Оперативная память, потребляемая одной 
задачей, складывается из памяти стека и па-
мяти, занимаемой блоком управления зада-
чей. Для условий, приведенных выше, раз-
мер блока управления задачей составляет 
33 байт, а рекомендованный минимальный 
размер стека — 85 байт. Таким образом, име-
ем 33+85 = 118 байт на каждую задачу. Для 
создания 10 задач потребуется 1180 байт.
Оперативная память, потребляемая одной 
сопрограммой, складывается только из памя-
ти, занимаемой блоком управления сопро-
граммой. Размер блока управления сопро-
граммой для данных условий равен 26 байт. 
Как упоминалось выше, стек для всех сопро-
грамм общий, примем его равным рекомендо-
ванному, то есть 85 байт. Для создания 10 со-
программ потребуется 1026+85 = 345 байт.
Автор этой статьи продолжает знакомить читателя с созданием программ, 
работающих под управлением FreeRTOS — операционной системы для 
микроконтроллеров. на этот раз речь пойдет об альтернативном способе 
реализации многозадачной среды, когда в программе вместо задач ис-
пользуются сопрограммы. Мы оценим достоинства и недостатки исполь-
зования сопрограмм.
FreeRTOS — 
операционная система 
для микроконтроллеров
Продолжение. Начало в № 2`2011




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




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

    Басты бет