5 - Algoritmo por Prioridades e de Múltiplas Filas

Os três algoritmos apresentados anteriormente têm uma característica em comum, tratam os processos como se todos tivessem a mesma prioridade, ou seja, não há qualquer privilégio para processos iniciados por um determinado usuário ou por um serviço de sistema.

Entretanto, existem situações que podem exigir que determinados processos tenham prioridade sobre outros. Tomando como estudo de caso uma empresa, seria possível, por exemplo, a definição de que processos demandados por usuários com perfil de diretor tivessem prioridade sobre processos iniciados por outros usuários da corporação.

Desta forma, utilizando o algoritmo por prioridades, no momento da criação de cada processo lhe seria atribuído um valor de prioridade, de modo que o algoritmo de agendamento pudesse identificar a posição onde o processo seria alocado na fila de execução.

No caso de processos com mesmo grau de prioridade, a regra de posicionamento para execução seria similar à estabelecida no método FIFO, ou seja, os processos seriam alocados após o último processo que tem o mesmo nível de prioridade.

O agendamento por prioridades permite a adoção tanto de uma estratégia preemptiva quando não preemptiva. Na primeira opção, a chegada de um processo de maior prioridade causaria uma interrupção imediata da execução do processo de menor prioridade e a consequente mudança de contexto entre os processos. Na segunda alternativa, exibida na figura acima, o processo de maior prioridade aguardaria até o término da execução do processo atualmente alocado no processador para só então ser posto em execução.

Copyright © 2014 AIEC.