Os algoritmos de agendamento da CPU foram projetados para determinar qual processo deve ser alocado a CPU a qualquer momento. Para tomar essa decisão, eles consideram vários critérios. Esses critérios podem ser amplamente categorizados em:
1. Critérios de desempenho: *
Utilização da CPU: Visa manter a CPU ocupada o máximo possível, maximizando sua utilização.
* Taxa de transferência
: Mede o número de processos concluídos por unidade de tempo.
*
Tempo de resposta: O tempo total que um processo gasta no sistema, da chegada à conclusão.
*
Tempo de espera: O tempo que um processo passa esperando na fila pronta antes de obter a CPU.
*
Tempo de resposta: O tempo que leva para um processo começar a responder após uma solicitação do usuário.
*
justiça: Garante que todos os processos obtenham uma parcela justa do tempo da CPU.
2. Critérios de utilização de recursos: *
Utilização de recursos: Mede com a eficiência dos recursos do sistema, como CPU, Memory e Dispositivos de E/S, estão sendo usados.
*
Alocação de recursos: Concentra -se em como os recursos são alocados para diferentes processos e não garante fome (onde um processo nunca recebe recursos alocados).
3. Outros critérios: *
prioridade: Atribuir prioridades diferentes aos processos com base em sua importância ou urgência.
*
prazos: Considere os prazos associados aos processos, garantindo a conclusão oportuna.
*
Requisitos em tempo real: Lidar com processos em tempo real com restrições estritas de tempo (por exemplo, em aplicações multimídia).
4. Critérios específicos do algoritmo de agendamento: Alguns algoritmos de agendamento têm critérios específicos além dos gerais listados acima. Por exemplo:
*
Trabalho mais curto primeiro (SJF): Favorece os processos com o menor tempo de execução esperado.
*
agendamento prioritário: Atribui prioridades aos processos e agenda o processo de maior prioridade primeiro.
*
Robin redondo: Dá a cada processo uma fatia de tempo fixa da CPU, girando entre os processos.
Escolhendo os critérios certos: A escolha dos critérios de agendamento depende dos requisitos específicos do sistema e da natureza dos processos que estão sendo agendados. Por exemplo:
*
Sistemas interativos: Priorize o tempo de resposta e a justiça para fornecer uma experiência suave do usuário.
*
sistemas em lote: Concentre -se na taxa de transferência e na utilização da CPU para maximizar a eficiência do processamento.
*
Sistemas em tempo real: Priorize os prazos e os tempos de resposta para garantir a execução oportuna.
Ao entender os diferentes critérios de agendamento, você pode escolher o algoritmo e os parâmetros mais apropriados para as necessidades específicas do sistema.