Agendamento prioritário

Definição - o que significa agendamento prioritário?

O agendamento prioritário é um método de agendamento de processos com base na prioridade. Nesse método, o escalonador escolhe as tarefas para trabalhar de acordo com a prioridade, o que é diferente de outros tipos de escalonamento, por exemplo, um round robin simples.

O agendamento prioritário envolve a atribuição de prioridade a cada processo, e os processos com prioridades mais altas são realizados primeiro, enquanto as tarefas com prioridades iguais são realizadas por ordem de chegada (FCFS) ou round robin. Um exemplo de algoritmo de escalonamento de prioridade geral é o algoritmo shortest-job-first (SJF).

Definirtec explica o agendamento prioritário

As prioridades podem ser dinâmicas ou estáticas. As prioridades estáticas são alocadas durante a criação, enquanto as prioridades dinâmicas são atribuídas dependendo do comportamento dos processos no sistema. Para ilustrar, o escalonador poderia favorecer tarefas intensivas de entrada / saída (E / S), o que permite que solicitações caras sejam emitidas o mais rápido possível.

As prioridades podem ser definidas interna ou externamente. As prioridades definidas internamente fazem uso de alguma quantidade mensurável para calcular a prioridade de um determinado processo. Em contraste, as prioridades externas são definidas usando critérios além do sistema operacional (SO), que podem incluir a importância do processo, o tipo, bem como a soma dos recursos sendo utilizados para uso do computador, preferência do usuário, comércio e outros fatores como política etc.

O agendamento prioritário pode ser um dos seguintes:

  • Preemptiva: este tipo de escalonamento pode antecipar a unidade central de processamento (CPU) no caso de a prioridade do processo recém-chegado ser maior do que a dos processos existentes.
  • Não preemptivo: Este tipo de algoritmo de escalonamento simplesmente coloca o novo processo no topo da fila pronta.

O bloqueio indefinido, também chamado de inanição, é uma das principais questões relacionadas aos algoritmos de escalonamento de prioridade. É um estado em que um processo está pronto para ser executado, mas enfrenta uma longa espera para ser atribuído à CPU.

Freqüentemente, é possível que um algoritmo de escalonamento de prioridade possa fazer um processo de baixa prioridade esperar indefinidamente. Por exemplo, em um sistema intensamente carregado, se houver vários processos de prioridade mais alta, os processos de baixa prioridade podem nunca obter a CPU para execução.

Um remédio para a fome é o envelhecimento, que é uma técnica usada para aumentar gradativamente a prioridade dos processos que aguardam longos períodos no sistema.