Algoritmos de agendamento comuns implementados usados em computadores pessoais, servidores e outros tipos de sistemas interativos
Cada processo é atribuído um intervalo de tempo, chamado de "Quantum", durante o qual é permitido ser executado. Depois de terminar seu processo quântico bloqueado e colocado no final da fila. O agendador assume a suposição implícita de que todo processo é igualmente importante. A questão interessante com Round Robin é o comprimento do quantum. Definir o quântico muito curto causa muitos interruptores de processo e reduz a eficácia da CPU. Mas defini -lo por muito tempo pode causar baixa resposta a solicitações interativas curtas.
Cada processo é atribuído uma prioridade e o RPOCESS executável com a maior prioridade pode ser executado. Para impedir que os processos de alta prioridade sejam executados infinitamente, o agendador pode diminuir a prioridade do processo atualmente em execução em cada tick de relógio ou em algum outro intervalo de tempo. Se essa ação fizer com que sua prioridade caia abaixo da do próximo processo mais alto, ocorre uma chave de processo. As prioridades podem ser atribuídas a processar estaticamente ou dinamicamente. Muitas vezes, é conveniente agrupar processos em calsses prioritários e usar o agendamento prioritário entre as classes, mas a programação de robina redonda na agendamento prioritária das aulas tem um problema de bloqueio ou fome indefinida, na qual a tarefa de baixa prioridade pode esperar para sempre. Uma solução comum para esse problema é o envelhecimento, no qual as prioridades dos empregos aumentam quanto mais esperam. Sob esse esquema, um trabalho de baixa prioridade acabará por ter sua prioridade elevada o suficiente com o tempo.
Quando os processos podem ser categorizados, várias filas separadas podem ser estabelecidas, cada uma implementando qualquer algoritmo de agendamento é mais apropriado para esse tipo de trabalho. O agendamento também deve ser feito entre as filas, que está agendando uma fila para obter tempo em relação a outras filas. As opções comuns são prioritárias e redondo-robin. Os processos não podem alternar as filas, sair da fila ou entrar na fila.
Essa programação é semelhante à programação de filas multiníveis, exceto que os trabalhos podem ser movidos de uma fila para outra por esses motivos: - Se as características do processo forem alteradas entre a I/S intensiva na CPU. - Se o processo envelhecida, para que esse processo tenha esperado por muito tempo
Esse agendamento executa processos mais curtos e calcula qual processo é mais curto com base no comportamento passado. O cálculo é simples, adicionando o novo valor à estimativa atual e divida a soma em 2. A técnica de estimar o próximo valor em uma série, tomando a média ponderada do valor medido atual e a estimativa anterior é chamada de envelhecimento
Com os processos n em execução, sendo todas as coisas iguais, cada uma deve obter 1/n dos ciclos da CPU. O sistema deve acompanhar a quantidade de CPU que cada processo teve desde a sua criação e, em seguida, calcula a quantidade de CPU que cada processo tem direito - proporção de tempo real da CPU. O algoritmo é então executado o processo com a menor ração até que sua proporção se mova acima da de seu concorrente mais próximo
A idéia é fornecer tickets de loteria de processos para recursos do sistema, como o tempo da CPU. Quando uma decisão de agendamento deve ser tomada, um bilhete de loteria é escolhido aleatoriamente e o processo que mantém esse ticket recebe o recurso. Processos mais importantes podem receber ingressos extras, para aumentar seus IDDs de vitória. Um processo com uma fração f dos ingressos terá cerca de uma fração f do recurso em questão. Processos de coorporação podem trocar ingressos, se desejarem