Processos, threads e escalonamento

Compreender estados básicos de execução e o papel do scheduler.

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/PRONTO

Exemplo 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.