Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sincronismo de Processos e Threads - Coggle Diagram
Sincronismo de Processos e Threads
Soluções para o Problema da Seção Crítica
Soluções de Hardware
Instruções simples
Implementadas diretamente no processador principal
Tipos
Inibição de Interrupções
Usa um par de instruções do tipo DI / EI
Processo desativa todas as interrupções
Antes de entrar na SC
Reativa as interrupções
Logo após sair da RC
Problemas
Não funciona com vários processadores
Processos de usuário com muito "poder"
Instrução TSL
Solução de hardware para exclusão mútua
Ambientes com múltiplos processadores
Bloqueia o barramento de memória
Diferente de desabilitar interrupções
Executada de forma atômica
Vantagens
Simplicidade de uso
Presente na maioria dos processadores atuais
Desvantagens
Espera ocupada
Starvation
Soluções de Software com Busy Wait
Tipos
Variável de Bloqueio
Obsoletos
Alternância Estrita
Algoritmo de Decker
Algoritmo de Peterson
Soluções de Software com Bloqueio
Mais usadas em sistemas
Multiprogramados
Concorrentes
Evita spinlock
Eficiência no uso da CPU
Sem espera ocupada
Tipos
Primitivas Sleep/Wakeup
Bloquear processos quando não podem entrar na RC
Sleep
Aguarda fora da RC
Wakeup
Quando processo puder acessar a RC
Evita desperdício de tempo de CPU
Semáforos
Não exige espera ocupada
Duas operações padrão
acquire()
Indica a “ocupação do semáforo”
release()
Indica a “liberação do semáforo”
Menos complicado
Operações atômicas
Mutex
Semáforo que recebe apenas 1 ou 0
Deadlock
Dois ou mais processos esperam indefinidamente
Um processo trava o outro
Starvation
Espera indefinida
Monitores
Bloco que encapsula
Dados compartilhados
Procedimentos para manipular esses dados
Acesso
Compartilhado
Controlado
Procedimentos executados de forma mutuamente exclusiva
Problemas Clássicos de Sincronismo
Problema dos Leitores e Escritores
Leitores
Podem acessar os dados simultaneamente
Escritores
Só escrevem se nenhum leitor ou outro escritor estiver ativo
Problema dos Filósofos Glutões
Cinco filósofos
Precisam se organizar para todos comerem