Herança de prioridades
Em computação de tempo real, herança de prioridades é um método para eliminar a inversão de prioridade não ligada. Usando este método de programação, um algoritmo de agendamento de processos aumenta a prioridade de um processo (A) para o máximo de prioridade em relação a qualquer outro processo, aguardando um recurso qualquer no qual A tem um bloqueio de recurso (se for mais alto que a prioridade original de A).
A ideia básica do protocolo de herança de prioridades é que, quando um job bloqueia um ou mais jobs de alta prioridade, ele ignora sua atribuição original de prioridade e executa a sua seção crítica em um elevado nível de prioridade. Depois de executar a sua seção crítica e liberar seus bloqueios, o processo retorna ao seu nível de prioridade.
Exemplo
[editar | editar código-fonte]Considere três jobs:
Nome do Job | Prioridade |
---|---|
H | Alta |
M | Médio |
L | Baixa |
Suponha que H é bloqueado por L para algum recurso compartilhado. O protocolo de herança de prioridades requer que L execute a sua seção crítica em alta de prioridade de H. Como resultado, M não poderá antecipar o L e será bloqueado. Isto é, o job M de maior prioridade deve aguardar a seção crítica da prioridade mais baixa de trabalho L para ser executada, porque o L herdou prioridade de H. Quando L sai de sua seção crítica, ele recupera a sua original (baixa) prioridade e desbloqueia H (que foi bloqueada por L). H, tendo alta prioridade, evita que L seja executado e finaliza. Isso permite que M e L continuem na sucessão e executem sua conclusão.
Referências
- «Priority Inheritance Protocols: An Approach to Real-Time Synchronization» (PDF). IEEE Transactions on Computers. 39. doi:10.1109/12.57058
Ligações externas
[editar | editar código-fonte]- "Herança de prioridades: A Verdadeira História" por Doug Locke
- "Contra a Herança de prioridades" por Victor Yodaiken
- "A implementação de Controle de Concorrência Com a Herança de prioridades em Real-Time CORBA" por Steven Wohlever, Victor Fay Wolfe e Russell Johnston
- "Herança de prioridades Bloqueios de Rotação de Multiprocessadores, Sistemas de Tempo-Real" Cai-Dong Wang, Hiroaki Takada e Ken Sakamura
- "Suporte de Hardware para Prioridade Herança" pela Porão E. S. Akgul, Vincent J. Mooney, Henrik Thane e Pramote Kuacharoen