Please enable JavaScript.
Coggle requires JavaScript to display documents.
Escalonamento da CPU, Mapa Mental 5 SO 2025/1 Thalison Vinicius - Coggle…
Escalonamento da CPU
Conceitos Básicos
Despachante
Passa o controle da CPU para o processo escalonado
Troca de Contexto
Troca para o modo usuário
Salto de instrução
Escalonador de CPU
Escolhe qual processo pronto vai usar a CPU
Executando -> esperando (não-preemptivo)
Executando -> Pronto (Preemptivo)
Esperando -> Pronto (Preemptivo)
Termina
Ciclo CPU-E/S
Processos alternam entre execução e espera por E/S
SO coleta estatísticas para manter CPU ocupada
Critérios de Escalonamento
Utilização da CPU
Manter a CPU o mais ocupada possivel
Uso da CPU entre 40% e 90%
Throughput (Vazão)
N° de processos concluídos por unidade de tempo
Tempo de Turnaround (Retorno)
Tempo total entre submissão e término do processo
Tempo de Espera
Tempo que o processe ficou na fila de prontos
Tempo de Resposta
Tempo até a primeira resposta
Algoritmos de Escalonamento
F
irst
C
ome,
F
irst
S
erved
Primeiro a chegar - primeiro a ser atendido
Não preemptivo
Pode causar longas esperas para processos curtos
Ruim para sistema de tempo compartilhado
S
hortest
J
ob
F
irst
Dois esquemas
Não preemptivo
Preemptivo (SRTF)
Shortest Remaining Time First
Menor-Job-Primeiro
Por Prioridade
Um número associado ao processo
Prioridade é o próximo tempo de burst de CPU previsto
Starvation
Processos com baixa prioridade podem nunca ser executados
Aging
À medida que o tempo passa, aumenta a prioridade do processo
Round Robin
Típico de sistema de tempo compartilhado
Cada processo recebe uma pequena unidade de tempo de CPU (Quantum de tempo)
Após o Quantum, processo vai pro fim da fila
Se q muito grande -> vira NCFS
Se q muito pequeno -> muito overhead
Multilevel Queue
Fila de prontos dividida por tipos de processos
Primeiro plano -> RR
Segundo plano -> FCFS
Prioridade fixa
Primero plano depois segundo plano
Fatia de tempo
Cada fila recebe uma quantidade de tempo
Fila Multinivel com Feedback
Processos migram entre filas
Parâmetros
N° de filas
Algoritmo por fila
Metodo para upgrade
Metodo para rebaixar
Método para entrada
Escalonamento para Multiprocessadores
Mais complexo com multíplas CPUs
Tipos de Multiprocessadores
Multicore
Multithread
NUMA
Multiprocessamento Heterogêneo
Multiprocessamento Assimétrico
Processador mestre controla sistema
Demais executam apenas código de usuário
Multiprocessamento Simétrico (SMP)
Cada processador toma sua decisão
Fila única de prontos
Compartilhada entre todos
Fila de Threads
independentes entre si
Processadores Multicore
Pode apresentar múltiplos núcloes lógicos via SMT
Vários núcleos de processamento num único chip
Memory stall
Espera pela memória principal
Cache Local
Perda de dados em migração de núcleo
Balanceamento de Carga
Distribui carga uniformemente entre processadores
Migração Push
Redistribuição periódica ativa
Migração Pull
Processadores ociosos buscam trabalho
Afinidade de processador
Afinidade Flexível
Tenta manter, mas permite migração
Afinidade Rígida
Especifica um subconjunto de processadores em que ele pode ser executado
Escalonamento de Thread
Thread de kernel escalonada pelo SO
Thread de usuário invisível ao SO
Mapa Mental 5 SO 2025/1 Thalison Vinicius