sIstema op
IV - Coordenação entre Tarefas ∗†
Prof. Carlos Alberto Maziero
DAInf UTFPR http://dainf.ct.utfpr.edu.br/∼maziero 18 de novembro de 2011
∗
Copyright (c) 2006 Carlos Alberto Maziero. É garantida a permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU (GNU Free Documentation
License), Versão 1.2 ou qualquer versão posterior publicada pela Free Software Foundation. A licença está disponível em http://www.gnu.org/licenses/gfdl.txt.
†
Este texto foi produzido usando exclusivamente software livre: Sistema Operacional Linux (distribuições Fedora e Ubuntu), compilador de texto LATEX 2ε , gerenciador de referências BibTeX, editor gráfico
Inkscape, criadores de gráficos GNUPlot e GraphViz e processador PS/PDF GhostScript, entre outros.
c prof. Carlos Maziero
SUMÁRIO – 2
Sumário
1
Objetivos
3
2
Condições de disputa
3
3
Seções críticas
6
4
Inibição de interrupções
7
5
Soluções com espera ocupada
5.1 A solução óbvia . . . . . .
5.2 Alternância de uso . . . .
5.3 O algoritmo de Peterson .
5.4 Instruções Test-and-Set . .
5.5 Problemas . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
8
9
9
10
11
6
Semáforos
12
7
Variáveis de condição
15
8
Monitores
17
9
Problemas clássicos de coordenação
9.1 O problema dos produtores/consumidores . . . . . . . . . . . . . . . . .
9.2 O problema dos leitores/escritores . . . . . . . . . . . . . . . . . . . . . .
9.3 O jantar dos filósofos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
19
20
22
10 Impasses
10.1 Caracterização de impasses . . . . . . . .
10.2 Grafos de alocação de recursos . . . . . .
10.3 Técnicas de tratamento de impasses . . .
10.3.1