Resumo
Apesar de aparentar ao usuário final que os processos estão sendo executados simultaneamente, o que ocorre na prática é que apenas um processo ocupa o processador por vez. A ilusão de simultaneidade se dá como consequência da rápida alternância de contexto de processos em um pequeno intervalo de tempo. Para realizar efetivamente esta atividade de gerenciamento de processos, o SO se baseia em uma série de algoritmos para promover o agendamento dos processos.
- First-In-First-Out: baseia-se na premissa de que os primeiros processos a solicitar a execução serão os primeiros a serem atendidos. Assim, é criada uma fila que ordena os processos que serão postos em execução por ordem de chegada. Já o algoritmo Shortest-Job-First tem como premissa que os processos que demandarem menor tempo de execução serão os primeiros a serem executados, independente da ordem de chegada. A principal consequência da utilização deste método de escalonamento é a redução do tempo médio de espera para execução global do conjunto de processos.
- Round Robin: é similar ao First-In-First-Out, já que ordena a fila de execução a partir da ordem de chegada dos processos. A diferença principal entre os dois algoritmos é que o Round Robin associa a cada processo um tempo máximo de execução a ser utilizado naquele ciclo de uso do processador, impedindo-o de monopolizar o acesso a CPU por um largo período de tempo.
- O algoritmo por prioridades se baseia na atribuição de um valor de prioridade a cada processo no momento de sua criação, baseado em um parâmetro específico como, por exemplo, o cargo do usuário que solicitou a execução do processo. Já o método de múltiplas filas, como o próprio nome já diz, cria diversas filas com diferentes prioridades que permitem agrupar os processos com prioridade similar. Desta forma, as solicitações agrupadas nas filas de menor prioridade só são executadas no caso de não existirem processos nas filas de maior prioridade.
- Fair-share: promove uma distribuição justa dos recursos entre os diferentes atores. Diferentemente de modelos como o First-In-First-Out, realiza a divisão do tempo disponível para processamento em função da quantidade de usuários demandantes dos processos, e não da quantidade de processos na fila de execução.
- Escalonamento em loteria tem como fundamento a distribuição de números aleatórios para cada processo e a alocação destes a partir da realização de um sorteio, também randômico. Este modelo permite a aplicação de prioridade a processos a partir da distribuição de números extras para o sorteio.
- Tempo real: diferentemente dos sistemas convencionais, para que a operação seja executada com sucesso, não basta que o resultado retornado esteja correto, mas também que a resposta seja devolvida dentro do tempo esperado. Esta categoria de sistemas pode possuir política de escalonamento estática ou dinâmica, a depender da sua aplicação.
Copyright © 2014 AIEC.