Herança de prioridades

Origem: Wikipédia, a enciclopédia livre.

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

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre ciência da computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.