Engineering Design and Analysis
Understanding Priority Inheritance Protocols in Rtos with Practical Calculations
Table of Contents
Os protocolos de herança prioritária são usados em sistemas operacionais em tempo real (SRT) para gerenciar o agendamento de tarefas e evitar a inversão de prioridades. Eles garantem que as tarefas de prioridade inferior que mantêm recursos necessários por tarefas de prioridade superior herdem temporariamente a prioridade mais elevada, reduzindo atrasos e melhorando a responsividade do sistema.
Fundamentos da herança prioritária
No RTOS, as tarefas são atribuídas prioridades. Quando uma tarefa de alta prioridade requer um recurso de uma tarefa de menor prioridade, a herança de prioridade eleva temporariamente a prioridade da tarefa de menor prioridade à tarefa de maior prioridade. Isto impede que a tarefa de menor prioridade seja preemptada, permitindo- lhe liberar o recurso mais cedo.
Exemplo de Cálculo Prático
Considere três tarefas: Tarefa A (prioridade 3), Tarefa B (prioridade 2) e Tarefa C (prioridade 1). Tarefa A precisa de um recurso detido pela Tarefa C. Sem herança prioritária, Tarefa C pode ser preempted pela Tarefa B, retardando a Tarefa A. Com herança prioritária, a prioridade da Tarefa C é elevada a 3.
Suponha que a Tarefa C tenha o recurso para 5 ms, e a Tarefa A está à espera. Durante este período, a Tarefa B, com prioridade 2, normalmente preempria a Tarefa C. Contudo, com a herança prioritária, a Tarefa C é executada na prioridade 3, impedindo que a Tarefa B o preempte. Isto garante que a Tarefa A possa prosseguir mais cedo.
Benefícios da herança prioritária
A implementação de herança prioritária reduz a inversão de prioridade, que ocorre quando uma tarefa de alta prioridade é bloqueada por uma tarefa de menor prioridade. Ela melhora a previsibilidade do sistema e garante a execução de tarefas oportuna em aplicações em tempo real.
- Previne inversão de prioridade
- Melhora a capacidade de resposta do sistema
- Garante a conclusão da tarefa oportuna
- Reduz os atrasos de bloqueio de tarefas