SlideShare uma empresa Scribd logo
1 de 19
Deadlocks / Comunicação de
processos / Threads
Jéssica Valeska da Silva
Pedro Neves Zito
Presidente Prudente
Agosto/2014
 Deadlocks
 Comunicação de processos
 Threads
2
TÓPICOS
3
Os sistemas de computadores têm inúmeros recursos adequados ao uso
de somente um processo a cada vez. Entre os exemplos comuns estão
impressoras, unidades de fita e entradas nas tabelas internas do
sistema.
Se dois processos quiserem escrever simultaneamente na mesma
impresso haverá um impasse. Tentativa de dois processos usarem a
mesma entrada da tabela os sistema de arquivos consequentemente
conduzira a um sistema de arquivo corrompido, todos os sistemas
operacionais devem ser capazes de garantir temporariamente, o acesso
exclusivo de um processo a certos recursos.
DEADLOCKS
quando um processo não tem acesso exclusivo a um recurso do
sistema, a uma chance de existir uma concorrência entre dois processos,
um impasse, situação onde os processos ficam bloqueados e
permanecem bloqueados para sempre, isso é chamado Deadlock.
4
DEADLOCKS
A sequencia de eventos necessários ao uso de um determinado
recurso é dada abaixo de maneira abstrata.
• Executar
• Liberar recurso
• Ser acordado
Caracterizando um Deadlock
Exclusão Mutua; cada recurso alocado apenas em um processo por vez ou
livremente; Manter e esperar: processos mantendo recursos podem requisitar
recursos adicionais; sem preempção: um recurso previamente garantido não
pode ser retirado do processo; Espera circular: deve haver uma cadeia circular
de dois ou mais processos, cada um esta esperado por recurso mantido pelo
próximo membro da cadeia.
5
DEADLOCKS
6
DEADLOCKS; Exemplo.
7
DEADLOCKS
Estratégias para tratar Deadlocks
Assegurar através da prevenção que o sistema nunca vai entrar em estado de
deadlock; permitir que o sistema em estado de deadlock então detectar e recuperar;
evitar através de alocação cuidadosa dos recursos; ignorar o problema e fazer de conta
que os deadlocks nunca ocorrem no sistema.
A comunicação entre processos acontece quando dois ou mais
processos precisam se comunicar, ou seja, compartilhar dados entre si.
Um exemplo é o envio de arquivos para impressão.
É através da utilização de recursos comuns entre os processos
que geralmente se dá a comunicação. Para ocorrer a comunicação entre
os processos é necessário um mecanismo bem estruturado. Temos como
exemplos os buffers, os semáforos e a memória compartilhada.
8
COMUNICAÇÃO DE PROCESSOS
BUFFERS E OPERAÇÕES DE SLEEP E WAKEUP
Buffer é uma área de dados de tamanho fixo que se comporta como
uma reservatório temporário. No problema produtor-consumidor é utilizado um
buffer por dois processos distintos. O processo produtor coloca informações no
buffer enquanto o processo consumidor as retira de lá.
Tanto o buffer como a variável que controla a quantidade de dados
que o buffer contém suas regiões críticas, portanto deveriam ter seu acesso
limitado através de primitivas de exclusão mútua, desde que isto não
impusesse esperas demasiadamente longas aos processos envolvidos.
9
COMUNICAÇÃO DE PROCESSOS
BUFFERS E OPERAÇÕES DE SLEEP E WAKEUP
Dado que o buffer tem um tamanho limitado e fixo podem ocorrer
problemas tais como:
 o produtor não pode colocar novas informações no buffer porque ele já
está cheio; ou
 o consumidor não pode retirar informações do buffer porque ele está
vazio.
10
COMUNICAÇÃO DE PROCESSOS
BUFFERS E OPERAÇÕES DE SLEEP E WAKEUP
Nestes casos tanto o produtor como o consumidor
poderiam ser adormecidos, isto é, ter sua execução suspensa, até
que existisse espaço no buffer para que o produtor coloque novos
dados ou existam dados no buffer para o consumidor possa retirá-
los. Uma tentativa de solução deste problema utilizando as
primitivas sleep e wakeup.
11
COMUNICAÇÃO DE PROCESSOS
 Toda civilização, velha ou nova, precisa de energia para sua sobrevivência.
 A fonte de energia da Primeira Onda provinha de animais, pessoas e
recursos da natureza.
 A fonte de energia da Segunda Onda provinha do carvão de pedra, gás,
petróleo (fontes não renováveis).
 Pela primeira vez uma civilização passou a viver do capital da natureza em
vez de apenas viver do rendimento que ela fornecia.
12
COMUNICAÇÃO DE PROCESSOS
SEMÁFOROS
Uma solução proposta pelo Dijkstra para a resolução do
problema produtor-consumidor, seria a utilização de variáveis inteiras a
fim de controlar o número de sinais wakeup para uso futuro. Estas
variáveis foram denominadas semáforos, e sobre elas estabeleceu-se
duas diferentes operações: P (conhecida também como Down) e V
(conhecida também como Up), que são generalizações das operações
sleep e wakeup.
 Toda civilização, velha ou nova, precisa de energia para sua sobrevivência.
 A fonte de energia da Primeira Onda provinha de animais, pessoas e
recursos da natureza.
 A fonte de energia da Segunda Onda provinha do carvão de pedra, gás,
petróleo (fontes não renováveis).
 Pela primeira vez uma civilização passou a viver do capital da natureza em
vez de apenas viver do rendimento que ela fornecia.
13
COMUNICAÇÃO DE PROCESSOS
SEMÁFOROS
Os semáforos são frequentemente utilizados para
sincronização de processos, ou seja, são utilizados para garantir a
ocorrência de certas sequências de eventos ou para impedir que
outras sequências nunca ocorram ou para que ocorram de uma forma
específica.
14
COMUNICAÇÃO DE PROCESSOS
MEMÓRIA COMPARTILHADA
A memória compartilhada é um mecanismo frequentemente
utilizado para a comunicação entre processos diferentes onde uma
região de memória é reservada para uso comum dos processos
envolvidos na comunicação. A área de memória reservada para os
processo ´e semelhante a um buffer, mas nesta situação todos os
processos envolvidos podem escrever e ler neste buffer.
15
COMUNICAÇÃO DE PROCESSOS
MEMÓRIA COMPARTILHADA
De forma geral, a solução é semelhante aquela do problema
de produtores e consumidores, aplicada a n processos que podem
tanto ler ou escrever numa região de memória específica, sendo
frequentemente utilizada para passagem de mensagens entre
processos.
16
COMUNICAÇÃO DE PROCESSOS
OUTROS MECANISMOS DE IPC
Contadores de eventos
Uma outra solução para o problema produtor-consumidor, proposta por
Reed e Kanodia, que assim como os semáforos, não é necessário obter a exclusão
mútua. Essa solução utiliza uma variável chamada contador de eventos que
possui três definições definidas:
 read (E) - retorna o valor corrente de E.
 advance (E) – incrementa, automaticamente, o valor de E de uma
unidade.
 await (E, v) – espera que E tenha o valor igual ou superior a v.
17
COMUNICAÇÃO DE PROCESSOS
OUTROS MECANISMOS DE IPC
Monitores
Um monitor é um conjunto de procedimentos, variáveis e
estruturas de dados, todas agrupadas em um módulo especial.
Somente um processo pode estar ativo dentro do monitor em um
instante.
18
THREADS
Linha ou Encadeamento de execução, é uma forma de
um processo dividir a si mesmo em duas ou mais tarefas que podem
ser executadas concorrentemente. O suporte à thread é fornecido pelo
próprio sistema operativo (SO), no caso da linha de execução ao nível
do núcleo, ou implementada através de uma biblioteca de uma
determinada linguagem, no caso de uma User-Level Thread (ULT).
Uma thread permite, por exemplo, que o usuário de um programa
utilize uma funcionalidade do ambiente enquanto outras linhas de
execução realizam outros cálculos e operações.
REFERÊNCIAS
1. JANDL JR, Peter. Notas sobre sistemas operacionais. 2004.
2. TANENBAUM, Andrew S. Sistemas Operacionais Modernos. Pearson
Brasil, 2003.
19

Mais conteúdo relacionado

Destaque

【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014
【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014
【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014Seiji Akatsuka
 
Brand new house and lot, affordable house and lot in cavite, single detached ...
Brand new house and lot, affordable house and lot in cavite, single detached ...Brand new house and lot, affordable house and lot in cavite, single detached ...
Brand new house and lot, affordable house and lot in cavite, single detached ...Murangbahaysacavite Cora Sacdalan
 
Personnalité Luxury Apartments
Personnalité Luxury ApartmentsPersonnalité Luxury Apartments
Personnalité Luxury ApartmentsSuporteaoCorretor
 
GOJISLIM É O SUPLEMENTO DE GOJI BERRIES
GOJISLIM É O SUPLEMENTO DE GOJI BERRIESGOJISLIM É O SUPLEMENTO DE GOJI BERRIES
GOJISLIM É O SUPLEMENTO DE GOJI BERRIESC2 Marketing
 
Apresentação Unos Life - Equipe TopMundo
Apresentação Unos Life - Equipe TopMundoApresentação Unos Life - Equipe TopMundo
Apresentação Unos Life - Equipe TopMundoEquipe TopMundo
 
Nobre Norte Premium Residences
Nobre Norte Premium ResidencesNobre Norte Premium Residences
Nobre Norte Premium ResidencesSuporteaoCorretor
 
Do esplendor medieval á decadencia dos século escuros (2)
Do esplendor medieval á decadencia dos século escuros (2)Do esplendor medieval á decadencia dos século escuros (2)
Do esplendor medieval á decadencia dos século escuros (2)analuciagonzalez
 
Connect Life Work Trade Residencial
Connect Life Work Trade ResidencialConnect Life Work Trade Residencial
Connect Life Work Trade ResidencialSuporteaoCorretor
 
Presentacion servicios de impresion
Presentacion servicios de impresionPresentacion servicios de impresion
Presentacion servicios de impresionjorgeberbena
 
Tutorial participacionforos
Tutorial participacionforosTutorial participacionforos
Tutorial participacionforosj.martinez1974
 

Destaque (17)

【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014
【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014
【LT】三都もいいけど東北もね20140705 夏のjaws ug三都物語 2014
 
Tio
TioTio
Tio
 
Brand new house and lot, affordable house and lot in cavite, single detached ...
Brand new house and lot, affordable house and lot in cavite, single detached ...Brand new house and lot, affordable house and lot in cavite, single detached ...
Brand new house and lot, affordable house and lot in cavite, single detached ...
 
The Gambler
The GamblerThe Gambler
The Gambler
 
Alg 5.1 Notes P2 Graphing
Alg 5.1 Notes P2 GraphingAlg 5.1 Notes P2 Graphing
Alg 5.1 Notes P2 Graphing
 
Link Office Mall Stay Lojas
Link Office Mall Stay LojasLink Office Mall Stay Lojas
Link Office Mall Stay Lojas
 
Prime Design Offices
Prime Design OfficesPrime Design Offices
Prime Design Offices
 
Personnalité Luxury Apartments
Personnalité Luxury ApartmentsPersonnalité Luxury Apartments
Personnalité Luxury Apartments
 
GOJISLIM É O SUPLEMENTO DE GOJI BERRIES
GOJISLIM É O SUPLEMENTO DE GOJI BERRIESGOJISLIM É O SUPLEMENTO DE GOJI BERRIES
GOJISLIM É O SUPLEMENTO DE GOJI BERRIES
 
Apresentação Unos Life - Equipe TopMundo
Apresentação Unos Life - Equipe TopMundoApresentação Unos Life - Equipe TopMundo
Apresentação Unos Life - Equipe TopMundo
 
Nobre Norte Premium Residences
Nobre Norte Premium ResidencesNobre Norte Premium Residences
Nobre Norte Premium Residences
 
Do esplendor medieval á decadencia dos século escuros (2)
Do esplendor medieval á decadencia dos século escuros (2)Do esplendor medieval á decadencia dos século escuros (2)
Do esplendor medieval á decadencia dos século escuros (2)
 
Casas Jardim Residencial
Casas Jardim ResidencialCasas Jardim Residencial
Casas Jardim Residencial
 
Connect Life Work Trade Residencial
Connect Life Work Trade ResidencialConnect Life Work Trade Residencial
Connect Life Work Trade Residencial
 
Presentacion servicios de impresion
Presentacion servicios de impresionPresentacion servicios de impresion
Presentacion servicios de impresion
 
Cena show
Cena showCena show
Cena show
 
Tutorial participacionforos
Tutorial participacionforosTutorial participacionforos
Tutorial participacionforos
 

Semelhante a Deadlocks e threads

Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativosFrank macoo
 
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...Joao Galdino Mello de Souza
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
Sistemas Operacionais parte 1
Sistemas Operacionais parte 1Sistemas Operacionais parte 1
Sistemas Operacionais parte 1Matheus Brito
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativosTROLITO LALALAL
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisRonildo Oliveira
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Redes industriais a informática aplicada no chão das fábricas
Redes industriais   a informática aplicada no chão das fábricasRedes industriais   a informática aplicada no chão das fábricas
Redes industriais a informática aplicada no chão das fábricasWilson Mathias Pereira Florentino
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 

Semelhante a Deadlocks e threads (20)

Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativos
 
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Sistemas Operacionais parte 1
Sistemas Operacionais parte 1Sistemas Operacionais parte 1
Sistemas Operacionais parte 1
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Barbeiro Sonolento
Barbeiro SonolentoBarbeiro Sonolento
Barbeiro Sonolento
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativos
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Exercicios 01 02 tms i
Exercicios 01 02 tms iExercicios 01 02 tms i
Exercicios 01 02 tms i
 
Apostila SO
Apostila SOApostila SO
Apostila SO
 
S.o aula 5678
S.o aula 5678S.o aula 5678
S.o aula 5678
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Aula II
Aula IIAula II
Aula II
 
gabarito.pdf
gabarito.pdfgabarito.pdf
gabarito.pdf
 
Redes industriais a informática aplicada no chão das fábricas
Redes industriais   a informática aplicada no chão das fábricasRedes industriais   a informática aplicada no chão das fábricas
Redes industriais a informática aplicada no chão das fábricas
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 

Deadlocks e threads

  • 1. Deadlocks / Comunicação de processos / Threads Jéssica Valeska da Silva Pedro Neves Zito Presidente Prudente Agosto/2014
  • 2.  Deadlocks  Comunicação de processos  Threads 2 TÓPICOS
  • 3. 3 Os sistemas de computadores têm inúmeros recursos adequados ao uso de somente um processo a cada vez. Entre os exemplos comuns estão impressoras, unidades de fita e entradas nas tabelas internas do sistema. Se dois processos quiserem escrever simultaneamente na mesma impresso haverá um impasse. Tentativa de dois processos usarem a mesma entrada da tabela os sistema de arquivos consequentemente conduzira a um sistema de arquivo corrompido, todos os sistemas operacionais devem ser capazes de garantir temporariamente, o acesso exclusivo de um processo a certos recursos. DEADLOCKS
  • 4. quando um processo não tem acesso exclusivo a um recurso do sistema, a uma chance de existir uma concorrência entre dois processos, um impasse, situação onde os processos ficam bloqueados e permanecem bloqueados para sempre, isso é chamado Deadlock. 4 DEADLOCKS
  • 5. A sequencia de eventos necessários ao uso de um determinado recurso é dada abaixo de maneira abstrata. • Executar • Liberar recurso • Ser acordado Caracterizando um Deadlock Exclusão Mutua; cada recurso alocado apenas em um processo por vez ou livremente; Manter e esperar: processos mantendo recursos podem requisitar recursos adicionais; sem preempção: um recurso previamente garantido não pode ser retirado do processo; Espera circular: deve haver uma cadeia circular de dois ou mais processos, cada um esta esperado por recurso mantido pelo próximo membro da cadeia. 5 DEADLOCKS
  • 7. 7 DEADLOCKS Estratégias para tratar Deadlocks Assegurar através da prevenção que o sistema nunca vai entrar em estado de deadlock; permitir que o sistema em estado de deadlock então detectar e recuperar; evitar através de alocação cuidadosa dos recursos; ignorar o problema e fazer de conta que os deadlocks nunca ocorrem no sistema.
  • 8. A comunicação entre processos acontece quando dois ou mais processos precisam se comunicar, ou seja, compartilhar dados entre si. Um exemplo é o envio de arquivos para impressão. É através da utilização de recursos comuns entre os processos que geralmente se dá a comunicação. Para ocorrer a comunicação entre os processos é necessário um mecanismo bem estruturado. Temos como exemplos os buffers, os semáforos e a memória compartilhada. 8 COMUNICAÇÃO DE PROCESSOS
  • 9. BUFFERS E OPERAÇÕES DE SLEEP E WAKEUP Buffer é uma área de dados de tamanho fixo que se comporta como uma reservatório temporário. No problema produtor-consumidor é utilizado um buffer por dois processos distintos. O processo produtor coloca informações no buffer enquanto o processo consumidor as retira de lá. Tanto o buffer como a variável que controla a quantidade de dados que o buffer contém suas regiões críticas, portanto deveriam ter seu acesso limitado através de primitivas de exclusão mútua, desde que isto não impusesse esperas demasiadamente longas aos processos envolvidos. 9 COMUNICAÇÃO DE PROCESSOS
  • 10. BUFFERS E OPERAÇÕES DE SLEEP E WAKEUP Dado que o buffer tem um tamanho limitado e fixo podem ocorrer problemas tais como:  o produtor não pode colocar novas informações no buffer porque ele já está cheio; ou  o consumidor não pode retirar informações do buffer porque ele está vazio. 10 COMUNICAÇÃO DE PROCESSOS
  • 11. BUFFERS E OPERAÇÕES DE SLEEP E WAKEUP Nestes casos tanto o produtor como o consumidor poderiam ser adormecidos, isto é, ter sua execução suspensa, até que existisse espaço no buffer para que o produtor coloque novos dados ou existam dados no buffer para o consumidor possa retirá- los. Uma tentativa de solução deste problema utilizando as primitivas sleep e wakeup. 11 COMUNICAÇÃO DE PROCESSOS
  • 12.  Toda civilização, velha ou nova, precisa de energia para sua sobrevivência.  A fonte de energia da Primeira Onda provinha de animais, pessoas e recursos da natureza.  A fonte de energia da Segunda Onda provinha do carvão de pedra, gás, petróleo (fontes não renováveis).  Pela primeira vez uma civilização passou a viver do capital da natureza em vez de apenas viver do rendimento que ela fornecia. 12 COMUNICAÇÃO DE PROCESSOS SEMÁFOROS Uma solução proposta pelo Dijkstra para a resolução do problema produtor-consumidor, seria a utilização de variáveis inteiras a fim de controlar o número de sinais wakeup para uso futuro. Estas variáveis foram denominadas semáforos, e sobre elas estabeleceu-se duas diferentes operações: P (conhecida também como Down) e V (conhecida também como Up), que são generalizações das operações sleep e wakeup.
  • 13.  Toda civilização, velha ou nova, precisa de energia para sua sobrevivência.  A fonte de energia da Primeira Onda provinha de animais, pessoas e recursos da natureza.  A fonte de energia da Segunda Onda provinha do carvão de pedra, gás, petróleo (fontes não renováveis).  Pela primeira vez uma civilização passou a viver do capital da natureza em vez de apenas viver do rendimento que ela fornecia. 13 COMUNICAÇÃO DE PROCESSOS SEMÁFOROS Os semáforos são frequentemente utilizados para sincronização de processos, ou seja, são utilizados para garantir a ocorrência de certas sequências de eventos ou para impedir que outras sequências nunca ocorram ou para que ocorram de uma forma específica.
  • 14. 14 COMUNICAÇÃO DE PROCESSOS MEMÓRIA COMPARTILHADA A memória compartilhada é um mecanismo frequentemente utilizado para a comunicação entre processos diferentes onde uma região de memória é reservada para uso comum dos processos envolvidos na comunicação. A área de memória reservada para os processo ´e semelhante a um buffer, mas nesta situação todos os processos envolvidos podem escrever e ler neste buffer.
  • 15. 15 COMUNICAÇÃO DE PROCESSOS MEMÓRIA COMPARTILHADA De forma geral, a solução é semelhante aquela do problema de produtores e consumidores, aplicada a n processos que podem tanto ler ou escrever numa região de memória específica, sendo frequentemente utilizada para passagem de mensagens entre processos.
  • 16. 16 COMUNICAÇÃO DE PROCESSOS OUTROS MECANISMOS DE IPC Contadores de eventos Uma outra solução para o problema produtor-consumidor, proposta por Reed e Kanodia, que assim como os semáforos, não é necessário obter a exclusão mútua. Essa solução utiliza uma variável chamada contador de eventos que possui três definições definidas:  read (E) - retorna o valor corrente de E.  advance (E) – incrementa, automaticamente, o valor de E de uma unidade.  await (E, v) – espera que E tenha o valor igual ou superior a v.
  • 17. 17 COMUNICAÇÃO DE PROCESSOS OUTROS MECANISMOS DE IPC Monitores Um monitor é um conjunto de procedimentos, variáveis e estruturas de dados, todas agrupadas em um módulo especial. Somente um processo pode estar ativo dentro do monitor em um instante.
  • 18. 18 THREADS Linha ou Encadeamento de execução, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. O suporte à thread é fornecido pelo próprio sistema operativo (SO), no caso da linha de execução ao nível do núcleo, ou implementada através de uma biblioteca de uma determinada linguagem, no caso de uma User-Level Thread (ULT). Uma thread permite, por exemplo, que o usuário de um programa utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.
  • 19. REFERÊNCIAS 1. JANDL JR, Peter. Notas sobre sistemas operacionais. 2004. 2. TANENBAUM, Andrew S. Sistemas Operacionais Modernos. Pearson Brasil, 2003. 19