Processos, threads e escalonamento
Objetivo
Compreender estados básicos de execução e o papel do scheduler.
Conceitos essenciais
Processo
Processo possui identidade, recursos, espaço virtual e uma ou mais threads.
Estados
Um modelo simples inclui pronto, executando e esperando. Sistemas reais possuem estados e filas mais detalhados.
Scheduler
O escalonador seleciona threads/tarefas aptas a receber CPU conforme políticas do sistema.
Context switch
Trocar o contexto de execução exige salvar/restaurar estado. É necessário, mas possui custo.
Multicore
Com vários núcleos, trabalhos diferentes podem executar em paralelo; com um núcleo, concorrência ainda pode ocorrer por alternância.
Modelo mental
PROCESSOS → THREADS PRONTAS → SCHEDULER → CPU → ESPERA/PRONTOExemplo e demonstração
Um navegador moderno pode isolar abas ou componentes em processos distintos, cada um com threads. O sistema operacional distribui o trabalho conforme recursos disponíveis.
Experimento / prática
- Observe PIDs de dois processos.
- Explique por que PID não é identidade permanente de um programa ao longo do tempo.
- Diferencie espera por I/O de execução na CPU.
Erros comuns
- Scheduler agenda apenas “programas” inteiros sem considerar threads.
- Context switch é grátis.
Resumo
Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.