Escalonamento da CPU
É a base dos SO's multiprogramados
Scheduling é uma função fundamental do SO
Execução de um processo
Ciclo de execução + espera po E/S
O SO precisa manter a CPU ocupada ao máximo
Escalonador de CPU
Decisões quando o processo
Executando -> esperando
Executando -> pronto
Esperando -> pronto
Termina
Escalonamento não preemptivo (cooperativo)
Aloca a CPU a um processo pronto
Escalonamento preemptivo
Despachante
Da o controle da CPU ao processo selecionado
Troca de contexto
Troca para o modo usuário
Salto para o local apropriado no programa do usuário
Latência de despacho
Critérios do escalonamento
Utilização de CPU
Throughput
Turnaround time
Tempo de espera
Tempo de resposta
Maximizar
Minimizar
Algoritmos de escalonamento
First come, First served (FCFS)
Baixa complexidade
Abordagem não preemptiva
Termina sua execução -> Chamada de sistema
Favorece processos CPU-bound
Shortest Job First (SJF)
Privilegia processos pequenos
Dois esquemas
Não preemptivo
Preemptivo
Shortest Remaining Time First (SRTF)
Previsão é baseada em histórico
Escalonamento por prioridade
Cada processo tem um número de prioridade
CPU alocada ao processo com maior prioridade
Preemptivo
Não preemptivo
SJF é um escalonamento por prioridade
Estagnação
Envelhecimento
Round Robin (RR)
Algoritmo típico de SO's de tempo compartilhado
Processo preemptado
q grande, q pequeno
Multilevel Queue (Fila multinível)
Primeiro plano
Segundo plano (batch)
Algoritmo RR
Algoritmo FCFS
Escalonamento entre filas
Fila multinível com Feedback
Um processo pode mover entre diversas filas
Número de filas
Algoritmos para cada fila
Três filas -> Q0, Q1, Q2
RR, FCFS
Compartilhamento de carga
Multiprocessador
Processadores multicore
Núcleos multithread
Sistemas NUMA
Multiprocessamento heterogêneo
Processadores ARM
Processadores Ryzen e Core
Multiprocessamento Assimétrico
Multiprocessamento Simétrico (SMP)
Balanceamento de carga
Afinidade de processador
Push
Pull
Windows
Escalonamento de thread
Escalonamento baseado em prioridade
Esquema de prioridade: 32 níveis
Classe variável
Classe de tempo real
Prioridade 0: Gerenciador de memória
Mapa Mental 5
Aluna: Isabella Sampaio
Matrícula: 20211BSI0208
Matéria: SO 2022/2