Você está na página 1de 24

Instituto Superior de Ciências e Tecnologia de Moçambique

Curso de Engenharia Informática


Sistemas Operacionais I

Algoritmos de Escalonamento

Docente: Eng Hervé Muneza

16/06/2021
Sistemas Operativos I
Conteúdo da Aula

1. Algoritmos de Escalonamento em ambientes


de lote
2. Algoritmos de Escalonamento em ambientes
de tempo real
3. Algoritmos de Escalonamento em ambientes
interativos

7/7/2021 2
Algoritmos de Escalonamento

7/7/2021 3
3. Escalonamento de Processos
• Ambientes para escalonamento de processos
Sistemas Operativos I

• Sistemas em Batch (lote): usuários não esperam por respostas


rápidas; algoritmos não-preemptivos ou preemptivos com longo
intervalo de tempo;

• Sistemas Interativos: interação constante do usuário; algoritmos


preemptivos; Processo interativo em que espera comando e
executa comando;

• Sistemas em Tempo Real: processos são executados para não


deixar de cumprir o prazo que o processo tem que ser executado;
tempo é crucial e trabalham com sistemas críticos;

7/7/2021 4
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
Sistemas Operativos I

• First-come first-served (FCFS)


• Shortest Job First (SJF)

7/7/2021 5
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
First-come first-served (FCFS)
Sistemas Operativos I

• Uso de uma lista de processos sem prioridade


• Simples e justo

Quando o processo deseja usar CPU, é colocado no fim da fila


Processo só libera CPU quando é bloqueado (não preemptivo)

7/7/2021 6
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
First-come first-served (FCFS)
Sistemas Operativos I

Supondo que processos cheguem na ordem: P1 , P2 , P3


Tempo de espera para P1=0; P2=24; P3=27
Processo Duração
P1 24 P1 P2 P3
P2 3
P3 3 0 24 27 30

Tempo espera médio: (0 + 24 + 27)/3 = 17

7/7/2021 7
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
First-come first-served (FCFS)
Sistemas Operativos I

Supondo que processos cheguem na ordem: P2 , P3 , P1


Tempo de espera para P1=6; P2=0; P3=3
Processo Duração
P1 24 P2 P3 P1
P2 3
P3 3 0 3 6 30

Tempo espera médio: (6 + 0 + 3)/3 = 3

7/7/2021 8
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
Sistemas Operativos I

• First-come first-served (FCFS)


• Shortest Job First (SJF)

7/7/2021 9
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
Shortest Job First (SJF)
Sistemas Operativos I

• Processo que tiver menor surto CPU será escolhido


• É ótimo (produz tempo de espera mínimo)

• Dois esquemas:
• Não-preemptivo: processo em execução não é interrompido até que termine sya
execução
• Preemptivo: se chegar novo processo com surto menor do que tempo restante
processo atual, interrompe atual ( Shortest remaining time first (SRTF) )

7/7/2021 10
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
Shortest Job First (SJF)- Não Preemptivo
Sistemas Operativos I

Supondo que processos cheguem na ordem: P1 , P2 , P3, P4


Tempo de espera para
Processo Tempo de Duração P1=0-0=0, P2=8-2=6; P3=7-4=3; P4=12-5=7
Chegada
P1 P3 P2 P4
P1 0 7
P2 2 4 0 7 8 12 16
P3 4 1 Tempo espera médio: (0 + 6 + 3 + 7)/4 = 4
P4 5 4

7/7/2021 11
3. Algoritmos de Escalonamento
• Escalonamento em Sistemas em Lote
Shortest remaining time first (SRTF) - Preemptivo
Sistemas Operativos I

Supondo que processos cheguem na ordem: P1 , P2 , P3, P4

Processo Tempo de Duração


Chegada
P1 P2 P3 P2 P4 P1
P1 0 7
0 2
4 5 7 11 16
P2 2 4
Tempo de espera para: Tempo espera médio:
P3 4 1 P1 = (0-0)+(11-2) = 9 (9 + 1 + 0 +2)/4 = 3
P4 5 4 P2 = (2-2)+(5-4) = 1
P3 = (4-4) = 0
7/7/2021 P4 = (7-5) = 2 12
Algoritmos de escalonamento de
processos em sistemas
interactivos

7/7/2021 13
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Características
Sistemas Operativos I

• Tempo de resposta tem que ser o mínimo possível, para proporcionar


respostas rápidas aos usuários.

• Tem que atender aos usuários de forma homogênea.

Algoritmos

• Round-Robin (chaveamento Circular)


• Prioridade
• Múltiplas Filas
• Shortest Process Next
• Garantido
• Lottery
7/7/2021
• Fair-Share 14
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Algoritmo Round-Robin ( chaveamento circular)
Sistemas Operativos I

• Antigo, mais simples e mais utilizado; quantum:


• Preemptivo; se for muito
• Cada processo recebe um tempo de execução chamado quantum; ao pequeno, ocorrem
final desse tempo, o processo é suspenso e outro processo é colocado muitas trocas de
contexto
em execução; diminuindo, assim,
• Escalonador mantém uma lista de processos prontos; a eficiência da CPU;

se for muito longo o


tempo de resposta
é comprometido;

(a) A lista de processos executáveis.


7/7/2021 (b) A lista de processos executáveis após B usar todo seu quantum. 15
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Algoritmo Round-Robin ( chaveamento circular)
Sistemas Operativos I

Processo Duração
Tipicamente tem
P1 53 turnaround maior
P2 17 que SJF, mas
apresenta melhor
P3 68 tempo de resposta.
P4 24
Adiciona
sobrecarga no
Diagrama temporal com quantum de 20: chaveamento de
contexto.
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
Tipicamente o
quantum: Linux:
0 20 37 57 77 97 117 121 134 154 162 100 ms (varia de
10 a 200)
Windows: 20 ms
7/7/2021 16
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Características
Sistemas Operativos I

• Tempo de resposta tem que ser o mínimo possível, para proporcionar


respostas rápidas aos usuários.

• Tem que atender aos usuários de forma homogênea.

Algoritmos

• Round-Robin (chaveamento Circular)


• Prioridade
• Múltiplas Filas
• Shortest Process Next
• Garantido
• Lottery
7/7/2021
• Fair-Share 17
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Algoritmo por Prioridade
Sistemas Operativos I

• Cada processo possui uma prioridade (numero inteiro) Apresenta o problema de


starvation (bloqueio por
• A CPU e alocada ao processo de maior prioridade tempo indefinido)
• Valor prio depende SO
Lenda: quando IBM 7094
• Premptivo ou não do MIT foi desligado
1973, havia processos
de baixa prio esperando
desde 1967;
Algoritmos de escalonamento com quarto classes de prioridade.
Linux comando para alterar a
prioridade: nice

7/7/2021 18
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Algoritmo por Prioridade
Processo Duração Prioridade
Sistemas Operativos I

P1 10 3
P2 1 1
P3 2 4
P4 1 5
P5 5 2

Diagrama temporal, sendo o número inversamente proporcional a prioridade


P2 P5 P1 P3 P4

0 1 6 16 18 19

Tempo espera médio = (0+1+6+16+18)/5 = 8,2ms


7/7/2021 19
Algoritmos de escalonamento de
processos em sistemas em
Tempo real

7/7/2021 20
2. Algoritmos de escalonamento
de processos em tempo real
Características
• É critico cumprir prazos
Sistemas Operativos I

• Evitar perda de dados e prejudicar a experiência do usuário


• Previsibilidade
• Dar qualidade a serviços de multimídia
• Atender a eventos ( Periódicos e não-periódicos)
• Dividem-se em :
• Criticos: atrasos não são tolerados. Ex: Aviões, usinas nucleares, hospitais
• Não criticos: atrasos são tolerados. Ex: Bancos, Multimídia.
• Estáticos: decisões de escalonamento antes do sistema começar ( informação disponível
previamente.
• Dinâmicos: decisões de escalonamento em tempo de execução;

Algoritmos
• Earlist Deadline First (EDF)
7/7/2021 21
2. Algoritmos de escalonamento de
processos em sistemas em temp real
Earlist Deadline First (EDF)
Sistemas Operativos I

• A prioridade de um processo é inversamente proporcional ao seu


deadline.
• Se duas tarefas tiverem os mesmos prazos absolutos, a escolha de uma
das duas é aleatório.
• A definição da prioridade é dinâmica, ou seja pode mudar o processo em
execução.

7/7/2021 22
2. Algoritmos de escalonamento de
processos em sistemas interactivos
Earlist Deadline First (EDF)
Sistemas Operativos I

Processo Chegada Duração Limite


Pode falhar limites?
P1 0 10 33
P2 4 3 28
P3 5 10 29

Diagrama temporal :

P1 P2 P3 P1

0 4 7 17 23

7/7/2021 23
Bibliografica Basica
• Andrew S. Tanembaum. Sistemas Operacionais
Modernos. 4ª Ed. Editora Pearson, 2003.
Sistemas Operativos II

• Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-


Dusseau. Operating Systems: Three Easy Pieces.
(1th ed). Arpaci-Dusseau Books, LLCl.

7/7/2021 24

Você também pode gostar