Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sincronismo de processos e threads, THEO MISCHIATTI GOMES SO 2024/1 -…
Sincronismo de processos e threads
O Problema do Produtor/Consumidor
tem que existir sincronismo
consumidor não pode tentar consumir oque não existe
Condição de corrida
apenas um processo pode manipular o count
Seção Crítica
apenas um processo por
vez adentrar
boa solução
Exclusão Mútua
Progresso
Espera limitada
Kernels com preempção
Kernels sem preempção
Soluções para o Problema da
Seção Crítica
Soluções de Hardware
implementadas diretamente no processador principal ( possui limitações )
Inibição de Interrupções
par de instruções do tipo DI / EI
Não funciona com vários processadores
Instrução TSL
bloqueia o barramento de memória
Simplicidade de uso
Espera ocupada (busy wait)
Soluções de Software
com busy wait
Algoritmo de Peterson
com bloqueio
mais usada pelos programadores
Primitivas Sleep/Wakeup
bloqueia a execução dos processos, enquanto não podem entrar na sua RC
Semáforos
acquire(), wait(),P(),down()
realeae(),signal(),V(),up()
mutex
menos complicado
porem com erros de temporização
Monitores
seções críticas em uma área acessível a um processo de cada vez
processo chama um procedimento do monitor
acesso aos dados compartilhados, por meio dos procedimentos
THEO MISCHIATTI GOMES SO 2024/1