Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Operativos
2023/2024
João L. M. Pereira
CLAV-256
joao.pedro.pereira@uevora.pt
2
Tipos de escalonamento
3
Escalonamento e Transição de Estado dos
Processos
4
Nesting de funções de
escalonamento
5
Queuing diagram
6
Long-Term Scheduler
8
Short-Term Scheduling
9
Critérios Short-Term Scheduling
11
Critérios de
Scheduling
12
Priority Queuing
13
Regras de
Scheduling
alternativas
14
Função de seleção
15
Modo de decisão
○ Preemptive
16
Nonpreemptive vs Preemptive
● Nonpreemptive
○ Quando um processo está no estado “running”, vai continuar até que termine, ou se
bloqueie a si mesmo devido a operações de I/O
● Preemptive
○ Processos que estão a correr podem ser interrompidos e movidos para o estado “ready”
pelo SO
○ Preemption pode ocorrer quando é criado um processo novo, com uma interrupção ou
periodicamente (intervalo de tempo)
17
Comparação de regras de escalonamento
Exemplo
18
First-Come-First-Serve (FCFS)
19
Round Robin
20
Virtual Round Robin (VRR)
● RR
○ Processos processor-bound
● VRR
21
Shortest Process Next (SPN)
● Algoritmo nonpreemptive
○ o processo com o tempo esperado de execução mais curto é escolhido
● Um processo curto salta para a cabeça da fila
○ Função de seleção: min(s)
● Possibilidade de “starvation” para processos longos
○ Podem não ter oportunidade de serem executados
● Uma das principais dificuldades é a necessidade de saber, ou estimar, o tempo de necessário
para cada processo
● Se o programador estimar um tempo significativamente inferior, o sistema pode cancelar o
processo
22
Shortest Remaining Time (SRT)
23
Highest Response Ratio Next (HRRN)
● Escolhe o processo com o melhor (maior) rácio
○ entre tempo “turnaround” e “tempo de serviço”
● Nonpreemptive
● Atrativo porque considera a idade do processo
● Enquanto os processos curtos são favorecidos,
○ rácio dos de processos longos sem tempo de serviço aumenta
■ eventualmente, os processo longos conseguem passar à frente dos processos curtos
24
Feedback Scheduling
26
Comparação de
Algoritmos
de Scheduling
27
Fair-Share Scheduling
○ mais recursos aos que tiverem menos do que deviam ter tido
28
Exemplo: Fair-Share Scheduling
○ Group 2 = B, C
29
Scheduling UNIX tradicional
○ Load sharing
○ Gang Scheduling
■ Contrário de load-sharing
○ Dynamic Scheduling
● Algoritmos: FCFS, Round Robin (RR and VRR), SPN, SRT, HRRN,
Multilevel Feedback
● Abordagens para multiprocessor thread scheduling e atribuição de
processadores
32