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