Escalonamento de Processos
a) Escalonamento por loteria
b) Escalonamento por fração justa (fair-share)
c) Escalonamento por garantido
d) Escalonamento por menor tempo de execução restante (SRT)
e) Dois métodos de escalonamento de processos utilizados em sistema s operacionais reais.
Este trabalho visa mostrar as diferenças entre os vários algoritmos de escalonamento bem como suas vantagens e desvantagens.
Aqui estudaremos os algoritimos mais conhecidos...
Escalonamento por loteria
A ideia consiste em distribuir bilhetes aos processos para uma reconpensa, no caso tempo de CPU.
Processos com maior prioridade podem receber mais bilhetes, aumentando assim sua chance de ser sorteado, como é um sorteio isto não garante que o processo com maior número de bilhetes será sorteado é claro.
Processos
Processo
Prioridade
Execução
Bilhetes
A
10
5
6
B
8
9
3
C
2
2
1
D
4
8
2
São 12 bilhetes isto significa que os terão até 12 chances para serem executados, no caso do processo A 6 chances para um quantum time de 4ms.
No exemplo acima repare que mesmo alguns processos que possuem mais prioridade podem ser escalonados por ultimo.
Escalonamento por fração justa (fair-share)
Este algorítimo garante que todos os usuários usarão a CPU de maneira justa, imagine 2 usuários, o primeiro tem que executar 9 processos o segundo apenas 1 com mesma prioridade independente do tempo de execução, isto faria que o primeiro usuário usa-se 90% da CPU enquanto o segundo apenas 10%. Com fair share os processos teriam 50% para cada usuário conectado.
Exemplo assumindo que o tempo de execução de cada um é 4ms:
Usuário 1
Usuário 2
Processo
Prioridade
Execução
Processo
Prioridade
Execução
A
10
5
E
10
18
B
8
9
C
2
2
D
4
8
Fontes: Sistemas Operacionais Modernos – Tanenbaum 3ºEd