Leitores e Escritores - Deadlocks

682 palavras 3 páginas
Leitores e Escritores
Trabalho de Sistemas
Operacionais

O problema dos leitores/escritores
• Introdução:

Mais um problema famoso de comunicação interprocesso que modela o acesso a uma base de dados é o problema dos leitores e escritores.
Em um sistema com muitos processo querendo ler e escrever em uma arquivo, é aceitável que múltiplos processos leiam a base de dados ao mesmo tempo, mas, se um processo estiver escrevendo na base de dados, nenhum outro processo pode ter acesso ao bando de dados, nem mesmo os leitores.

• No exemplo da figura ao lado, os leitores e escritores acessam de forma concorrente uma matriz de inteiros M.
Uma solução trivial para esse problema consistiria em proteger o acesso à área compartilhada com um semáforo inicializado em 1; assim, somente um processo por vez poderia acessar a área, garantindo a integridade de todas as operações. O código a seguir ilustra essa abordagem simplista:

• Todavia, essa solução deixa a desejar em termos de desempenho, porque restringe desnecessariamente o acesso dos leitores à área compartilhada: como a operação de leitura não altera os valores armazenados, não haveria problema em permitir o acesso simultâneo de vários leitores à área compartilhada, desde que as escritas continuem sendo feitas de forma exclusiva. Uma nova solução para o problema, considerando a possibilidade de acesso simultâneo pelos leitores, seria a seguinte:

• Essa solução melhora o desempenho das operações de leitura, mas introduz um novo problema: a priorização dos leitores. De fato, sempre que algum leitor estiver acessando a área compartilhada, outros leitores também podem acessá-la, enquanto eventuais escritores têm de esperar até a área ficar livre (sem leitores). Caso existam muito leitores em atividade, os escritores podem ficar impedidos de acessar a área, pois ela nunca ficará vazia. Soluções com priorização para os escritores e soluções equitativas entre ambos podem ser

Relacionados

  • Leitores e Escritores - Deadlocks
    682 palavras | 3 páginas
  • Aula06 2
    1185 palavras | 5 páginas
  • Sistemas operacionais respostas dos captulo7
    1567 palavras | 7 páginas
  • O problema dos leitores e escritores
    597 palavras | 3 páginas
  • Exercicios
    623 palavras | 3 páginas
  • Estudante
    969 palavras | 4 páginas
  • Questionário Sistemas Operacionais
    2244 palavras | 9 páginas
  • Threads
    853 palavras | 4 páginas
  • fasgd
    2735 palavras | 11 páginas
  • Gerenciamento de Processos
    9751 palavras | 40 páginas