Стратегия назначения
приоритетов задачам
Как было сказано ранее, программа, вы-
полняющаяся под управлением FreeRTOS,
представляет собой совокупность взаимо-
действующих задач. Чаще всего задача реа-
лизуется как какое-либо полезное действие,
которое циклически повторяется с заданной
частотой/периодом. Каждой задаче назнача-
ются приоритет и частота ее циклического
выполнения. Для достижения заданного вре-
мени реакции системы на внешние события
разработчик должен соответствующим обра-
зом назначить приоритеты задачам и опреде-
лить частоту их выполнения.
Так как FreeRTOS относится к ОСРВ с пла-
нированием с фиксированными приорите-
тами, то рекомендованной стратегией назна-
чения приоритетов является использование
принципа «чем меньше период выполнения
задачи, тем выше у нее приоритет» (Rate
Monotonic Scheduling, RMS) [4, 5].
Основная идея принципа RMS состоит
в следующем. Все задачи разделяются по тре-
буемому времени реакции на соответствую-
щее задаче внешнее событие. Каждой задаче
назначается уникальный приоритет (то есть
в программе не должно быть двух задач с оди-
наковым приоритетом), причем приоритет
тем выше, чем короче время реакции задачи
на событие. Частота выполнения задачи уста-
навливается тем больше, чем больше ее прио-
ритет. Таким образом, самой «ответственной»
задаче назначаются наивысший приоритет
и наибольшая частота выполнения.
Принцип RMS гарантирует, что система
будет иметь детерминированное время ре-
акции на внешнее событие [5]. Однако тот
факт, что задачи могут изменять свой прио-
ритет и приоритет других задач во время вы-
полнения, и то, что не все задачи реализуют-
ся как циклически выполняющиеся, делают
это утверждение в общем случае неверным,
и разработчик вынужден прибегать к допол-
нительным мерам обеспечения заданного
времени реакции.
Достарыңызбен бөлісу: |