IFCE Horizonte · Portal
ADS23 · Sistemas Operacionais
Encontro 725 de setembro de 2026Unidade III — Processos

Concorrência: condição de corrida e exclusão mútua

O bug mais traiçoeiro que você vai encontrar em código: dois processos leem, calculam e gravam ao mesmo tempo, e o resultado depende de quem chegou primeiro. Região crítica, exclusão mútua e os quatro requisitos de uma boa solução.

  • condição de corrida
  • região crítica
  • exclusão mútua
  • espera ocupada

Material do encontro

Para estudar

Roteiro de laboratórioOs comandos passo a passo, com dicas para quando travar — e campos que guardam suas observações enquanto você trabalha.Quiz da semanaVerificação de leitura + suas observações de laboratório, num envio só. Vale para o portfólio da N1.

Eixo do curso

O Docker desta semana

Ensaio de entrega: a equipe pratica o ciclo build → run → demonstração → stop/rm da N2.

Depois da aula

Para ler

A ordem aqui é invertida de propósito: primeiro você vive a experiência no terminal, depois o livro dá nome e profundidade ao que você viu.

Obrigatórias

  • RecorteTANENBAUM, 2.3.1–2.3.2p. 82–84

    Condições de corrida · Regiões críticas

    Três páginas que explicam o bug mais caro de reproduzir em produção. O Laureano não desdobra concorrência — aqui o Tanenbaum assume a frente.

Aprofundamento

  • AprofundamentoTANENBAUM, 2.3.3–2.3.6 e 2.5p. 84–94 e 115–119

    Da espera ocupada aos mutexes · Problemas clássicos de IPC

  • Base — Leitura obrigatória — a ponte acessível (Laureano)
  • Recorte — Leitura obrigatória curta — o rigor conceitual (Tanenbaum), no máximo ~8 páginas
  • Aprofundamento — Opcional, para quem quer ir além — não é cobrado, mas é valorizado na defesa