SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
◤
Comunicação
entre Processos
Arthur Elzinga e Rafael Pessoa
◤
Condições de Corrida
Condições onde 2 ou mais processos estão processando
informações compartilhadas e o seus resultados dependem de
quem os executa e quando isso vai ocorrer. Para evitar erros,
devemos ter atenção no paralelismo, que devido ao aumento de
núcleos, se torna mais comum.
◤
Regiões críticas
É onde parte da memória que não pode ser alcançada por linhas de execução,
é acessada. Se 4 parâmetros forem cumpridos ela evita as condições de
corrida, são eles:
▪ Dois processos jamais podem ser simultâneos na mesma região;
▪ Sem suposições sobre o número ou a velocidade das CPUs;
▪ Processos fora de sua região não bloqueiam outros processos;
▪ Processos não são obrigado a esperar eternamente para entrar na região
crítica;
◤
Exclusão Mutua com espera ocupada
Pode ser feita de várias maneiras, uma delas são tirando a
habilidade de interrupções tipo de variáveis trava, a solução de
Peterson e a de TSl. Entretanto a exclusão feita com espera
ocupada não é tão eficiente e alguns processos que não utilizam
corretamente suas variáveis podem corromper todo o sistema.
◤
Dormir e Acordar
▪ Funcionam em pares;
▪ Sem problemas com tempo de espera;
▪ Resultados esperados;
◤
Dormir e Acordar
▪ Sleep: é uma chamada que bloqueia o processo chamado;
▪ Wakeup: é a chamada que acorda o processo;
◤
Semáforos
▪ Primeira vez utilizado foi em algo 68;
▪ Bom para problemas de sincronicidade;
▪ Evita problemas de corrida;
◤
Semáforo
▪ Possui duas operações Up e Down;
▪ Resolve problemas utilizando sinais salvo para usar no futuro;
◤
Mutexes
▪ bons para gerenciar a exclusão mútua;
▪ o fáceis e eficientes de implementar;
◤
Futexes
▪ Implementa travamento básico;
▪ Semelhante ao Mutex;
▪ Evita entrar no Núcleo;
◤
Monitores
▪ Down e Wake Up
▪ Down verifica se o valor é maior do que zero, se for ele retira
um valor, gastando um acordar (wake up) armazenado. Se o
valor for zero, o processo é colocado para dormir sem terminar
o download até o momento.
◤
Variáveis de Condição
▪ Usadas em conjunto com wait e signal.
▪ Permite também que outros processos, antes bloqueados,
entrem no monitor.
▪ Para evitar dois processos ativos simultaneamente,
necessitamos de uma regra dizendo que ocorre apos o signal.
▪ Hansen teve a sacada de mestre…
◤
Troca de mensagens
▪ Esse método de comunicação entre processos usa duas
primitivas, send e receive, que, como semáforos e
diferentemente dos monitores, são chamadas de sistema em
vez de construções de linguagem.
▪ Mensagem especial de confirmação de recebimento de volta
▪ Retransmissão sequência consecutiva em cada mensagem
original.
◤
Problema do produtor consumidor com a
troca de mensagens
▪ Buffer Automático
▪ Endereço único
▪ Caixas postais
▪ Rendezvous
◤
Barreira

Mais conteúdo relacionado

Semelhante a Comunicação entre processos: condições de corrida, regiões críticas, semáforos e monitores

Sistemas Operacionais 10 comunicação entre processos
Sistemas Operacionais 10   comunicação entre processosSistemas Operacionais 10   comunicação entre processos
Sistemas Operacionais 10 comunicação entre processosMauro Duarte
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockWilliams Gomes da Silva
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosThiago Poiani
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
16-Sistemas Distribuídos.pptx
16-Sistemas Distribuídos.pptx16-Sistemas Distribuídos.pptx
16-Sistemas Distribuídos.pptxRoberto Aragy
 
Sincronização de um sistema distribuído
Sincronização de um sistema distribuídoSincronização de um sistema distribuído
Sincronização de um sistema distribuídoTiago R. Sampaio
 
Escalonamento de Processos
Escalonamento de ProcessosEscalonamento de Processos
Escalonamento de ProcessosFatec Jales
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrênciaPaulo Fonseca
 
Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Erickson Carvalho Vaz
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processosVirgínia
 
Gerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de ConsultasGerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de ConsultasWendel Moreira
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Evandro Júnior
 

Semelhante a Comunicação entre processos: condições de corrida, regiões críticas, semáforos e monitores (20)

Aula 14 - Deadlocks
Aula 14 - DeadlocksAula 14 - Deadlocks
Aula 14 - Deadlocks
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Algoritmo lamport
Algoritmo lamportAlgoritmo lamport
Algoritmo lamport
 
Sistemas Operacionais 10 comunicação entre processos
Sistemas Operacionais 10   comunicação entre processosSistemas Operacionais 10   comunicação entre processos
Sistemas Operacionais 10 comunicação entre processos
 
SincronizacaoDist.pdf
SincronizacaoDist.pdfSincronizacaoDist.pdf
SincronizacaoDist.pdf
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e Semáforos
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
16-Sistemas Distribuídos.pptx
16-Sistemas Distribuídos.pptx16-Sistemas Distribuídos.pptx
16-Sistemas Distribuídos.pptx
 
Sincronização de um sistema distribuído
Sincronização de um sistema distribuídoSincronização de um sistema distribuído
Sincronização de um sistema distribuído
 
Escalonamento de Processos
Escalonamento de ProcessosEscalonamento de Processos
Escalonamento de Processos
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrência
 
Processos
ProcessosProcessos
Processos
 
Mutex and monitores
Mutex and monitoresMutex and monitores
Mutex and monitores
 
Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Gerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de ConsultasGerência de Transações Distribuídas de Consultas
Gerência de Transações Distribuídas de Consultas
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
 

Último

Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06AndressaTenreiro
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 

Último (6)

Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 

Comunicação entre processos: condições de corrida, regiões críticas, semáforos e monitores

  • 2. ◤ Condições de Corrida Condições onde 2 ou mais processos estão processando informações compartilhadas e o seus resultados dependem de quem os executa e quando isso vai ocorrer. Para evitar erros, devemos ter atenção no paralelismo, que devido ao aumento de núcleos, se torna mais comum.
  • 3. ◤ Regiões críticas É onde parte da memória que não pode ser alcançada por linhas de execução, é acessada. Se 4 parâmetros forem cumpridos ela evita as condições de corrida, são eles: ▪ Dois processos jamais podem ser simultâneos na mesma região; ▪ Sem suposições sobre o número ou a velocidade das CPUs; ▪ Processos fora de sua região não bloqueiam outros processos; ▪ Processos não são obrigado a esperar eternamente para entrar na região crítica;
  • 4. ◤ Exclusão Mutua com espera ocupada Pode ser feita de várias maneiras, uma delas são tirando a habilidade de interrupções tipo de variáveis trava, a solução de Peterson e a de TSl. Entretanto a exclusão feita com espera ocupada não é tão eficiente e alguns processos que não utilizam corretamente suas variáveis podem corromper todo o sistema.
  • 5. ◤ Dormir e Acordar ▪ Funcionam em pares; ▪ Sem problemas com tempo de espera; ▪ Resultados esperados;
  • 6. ◤ Dormir e Acordar ▪ Sleep: é uma chamada que bloqueia o processo chamado; ▪ Wakeup: é a chamada que acorda o processo;
  • 7. ◤ Semáforos ▪ Primeira vez utilizado foi em algo 68; ▪ Bom para problemas de sincronicidade; ▪ Evita problemas de corrida;
  • 8. ◤ Semáforo ▪ Possui duas operações Up e Down; ▪ Resolve problemas utilizando sinais salvo para usar no futuro;
  • 9. ◤ Mutexes ▪ bons para gerenciar a exclusão mútua; ▪ o fáceis e eficientes de implementar;
  • 10. ◤ Futexes ▪ Implementa travamento básico; ▪ Semelhante ao Mutex; ▪ Evita entrar no Núcleo;
  • 11. ◤ Monitores ▪ Down e Wake Up ▪ Down verifica se o valor é maior do que zero, se for ele retira um valor, gastando um acordar (wake up) armazenado. Se o valor for zero, o processo é colocado para dormir sem terminar o download até o momento.
  • 12. ◤ Variáveis de Condição ▪ Usadas em conjunto com wait e signal. ▪ Permite também que outros processos, antes bloqueados, entrem no monitor. ▪ Para evitar dois processos ativos simultaneamente, necessitamos de uma regra dizendo que ocorre apos o signal. ▪ Hansen teve a sacada de mestre…
  • 13. ◤ Troca de mensagens ▪ Esse método de comunicação entre processos usa duas primitivas, send e receive, que, como semáforos e diferentemente dos monitores, são chamadas de sistema em vez de construções de linguagem. ▪ Mensagem especial de confirmação de recebimento de volta ▪ Retransmissão sequência consecutiva em cada mensagem original.
  • 14. ◤ Problema do produtor consumidor com a troca de mensagens ▪ Buffer Automático ▪ Endereço único ▪ Caixas postais ▪ Rendezvous