Professional Documents
Culture Documents
So-Aula #05 - Processo e Escalonamento
So-Aula #05 - Processo e Escalonamento
SISTEMAS OPERATIVOS
SLIDE 05
Professor P@ulo Mbonzi
paulo.mbonzi@itsl.ao/paulombonzi83.pm@gmail.com
telemoveis: +244 925 984 940/+244 919 975 722
sexta-feira, 28 de outubro de 2022
AULA Nº 05
SISTEMAS OPERATIVOS
PROCESSO E ESCALONAMENTO
2/18
PROCESSO E ESCALONAMENTO
Contextualizando
Na aula passada:
1)Gestão de processos
Aula de hoje:
1)Processo e Escalonamento
3/18
PROCESSO E ESCALONAMENTO
O QUE É ESCALONADOR?
É um módulo do S.O, que apita para determinar
e avisar o próximo processo a entrar na CPU.
A troca de processos é feita por este
componente do S.O que se chama Escalonador de
Processos.
Escalonador é o processo que
escolhe qual será o próximo Processos
processo a ser executado.
0 1 . . . n-1 n
Existem diversas
técnicas/algoritmos para
escalonamento de processos. Escalonador de Processos
Nível mais baixo do SO. 4/18
PROCESSO E ESCALONAMENTO
MUDANÇA DE CONTEXTO
A mudança de contexto
leva a um overhead de
tempo (tarefa cara):
a)É preciso salvar as
informações do
processo que esta
deixando/entrando na
CPU em seu BCP.
b)Salvar o conteúdo
dos registradores.
5/18
PROCESSO E ESCALONAMENTO
COMPONENTES ENVOLVIDOS
1)Despachante (Dispatcher):
a)Armazena e recupera o contexto;
b)Actualiza as informações no BCP;
c)Processo relativamente rápido
(0,1ms).
2)Escalonador (Schedular):
a)Escolhe a próxima tarefa a receber o
processador;
b)Parte mais demorada.
6/18
PROCESSO E ESCALONAMENTO
QUANDO O ESCALONADOR É CHAMADO?
7/18
PROCESSO E ESCALONAMENTO
QUANDO E/S OCORRE, O ESCALONADOR DEVE:
8/18
PROCESSO E ESCALONAMENTO
CATEGORIAS DO ESCALONADOR
1)Preemptivo:
a)Quando um processo pode, por algum
motivo, perder seu uso da CPU.
b)Provoca uma interrupção forçada de
um processo para que outro possa
usar a CPU.
2)Não preemptivo:
a)Permite que o processo sendo
executado continue executando.
9/18
PROCESSO E ESCALONAMENTO
CATEGORIAS DO ESCALONADOR (Cont.)
10/18
PROCESSO E ESCALONAMENTO
ALGORITMOS E ESCALONAMENTO
11/18
PROCESSO E ESCALONAMENTO
ALGORITMOS DE ESCALONAMENTO EM BATCH
12/18
PROCESSO E ESCALONAMENTO
FIRST-COME FIRST-SERVED (OU FIFO)
1)Não preemptivo;
2)Processos são executados na CPU
seguindo ordem de requisição;
3)Fácil de entender e programar;
Desvantagem:
Ineficiente quando há processos que
demoram na sua execução.
13/18
PROCESSO E ESCALONAMENTO
FIRST-COME FIRST-SERVED (LOTE)
executado na CPU.
3)Processo só é
interrompido por E/S,
ou quando é
finalizado.
14/18
PROCESSO E ESCALONAMENTO
SHORTEST JOB FIRST (LOTE)
1)Não preemptivo;
2)Deve-se prever o tempo de execução do
processo;
3)Menor processo da lista é executado
primeiro;
4)Menor turnaround (médio).
Desvantagens:
a)Todos os Jobs precisam ser conhecidos
de antemão.
b)Se Jobs curtos começarem a chegar, os
longos podem demorar a ser executados.
15/18
PROCESSO E ESCALONAMENTO
SHORTEST JOB FIRST (LOTE)
8 4 4 4 4 4 4 8
A B C D A B C D
Numero de
(4a+3b+2c+d)/4 Processos
16/18
PROCESSO E ESCALONAMENTO
ALGORITMO SHORTEST REMAINING TIME NEXT
(LOTE)
1)Preemptivo;
2)Versão preemptiva do Shortest Job
First;
3)Processos com menor tempo de
execução~~ao são executados primeiro;
4)Se um processo novo chega a seu tempo
de execução é menor do que o do
processo corrente e executa o processo
que acabou de chegar.
17/18
CONCLUINDO
Foram abordados nesta aula:
Foram abordadas nesta aula:
✓ Processo e Escalomento.
Na próxima aula:
Escalonamento de Processos. 18/18