Comparação entre algoritmos de escalonamento de processos

O escalonamento de processos é, sem dúvida alguma, uma das tarefas mais importantes desempenhadas por qualquer sistema operacional de computadores (tempo compartilhado). A política e o algoritmo empregados nas tarefas de scheduler (qual processo será executado) e dispatcher (fatias de tempo no processador) definem a qualidade e aplicabilidade em função do cenário computacional de cada tipo de SO.

Basicamente todo sistema operacional moderno permite que você, enquanto sysadmin, interfira nas prioridades de execução dos processos a qualquer momento, mas o algoritmo em si é algo mais particular. É intrínseco ao próprio modelo de desenvolvimento do kernel do sistema operacional e pode fazer toda a diferença em cenários críticos ou para aplicações específicas (como servidores de banco de dados ou webservices).

Este post foi publicado no Br-Linux.org e, certamente merece citação neste post:

O escalonamento ocorre de acordo com alguns algoritmos como FCFS, SJF, Prioridade, Prioridade com aging, Prioridade com preempção e Circular (Round Robin). Estes algoritmos são avaliados por critérios de uso de UCP, Throughput, Turnaround, tempo de espera e tempo de resposta. Para comparar estes algoritmos, foi desenvolvida uma planilha com uma linha de tempo para cada algoritmo. Para ter acesso a esta planilha, faça o download do comparativo de algoritmos de escalonamento de processos (em A3) no Tecnologia e Educação.