MemotivaRTOS на STM32

Что такое инверсия приоритетов в RTOS?

RTOS на STM32

Аудио-карточка · 0:48

Nortren·

Что такое инверсия приоритетов в RTOS?

0:48

Инверсия приоритетов — это ситуация, когда задача с высоким приоритетом ждёт ресурс, занятый задачей с низким приоритетом, а задача с низким приоритетом не может его освободить, потому что её вытесняет задача со средним приоритетом. В результате высокоприоритетная задача косвенно блокируется средней. Это классическая проблема RTOS, приводившая к серьёзным сбоям, например к перезагрузкам марсохода Pathfinder. Решение — наследование приоритетов: когда высокоприоритетная задача ждёт мьютекс, владелец мьютекса временно получает её приоритет, чтобы быстрее освободить ресурс. FreeRTOS поддерживает эту стратегию через мьютексы.