Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sincronismo de Processos e Threads - Coggle Diagram
Sincronismo de Processos e Threads
Problema do produtor/Consumidor
buffer de tamanho limitao
exemplo do pote de batata frita
Processo produtor
Processo consumidor
solução
contador interno
Problema da seção critica
seção critica
segmento de codigo
alteração de variantes comuns
sistema
exec. apenas um[
sessão codigo
sessão remanescente
sessão saida
Kernel c/ ou s/ preempção
sem preempção
livre de condições de corrida
sem vantagens de tempo resposta
c/ preempção
permite interceptação
c/ condições de corrida
melhor capacidade de resposta
Programação em tempo real
Requisitos de boa solução
Exclusão mutua
Progresso
Espera limitada
Problemas classicos de sincronismo
Filósofos glutões
função teste
Definição circular
Problema dos leitores e escritores
ordem de chegada
possível starvation
Soluções p/ problemas de sessão critica
Solução de software
c/ bloqueio
Monitores
bloco que contém
dados
dados são compartilhados por
todos os processos
seções críticas em um
processo de cada vez
Semáforos
Starvation
Deadlock
não exige espera ocupada
Semáforo S
acquire() e release()
valores 0 ou 1
Menos complicado
Primitivas Sleep/Wakeup
c/ busy wait
algoritmo peterson
probl. de exec. mutua
solução de hardware
inibição de interrupção
Disable/Enable interrupt
instruç. TSL
maquinas c/ multiprocessadores
busy wait
Starvation
Test and ser lock
Se lock = 0 -> RC livre
Se lock = 1 -> RC ocupada