• Início
  • Problema
  • Código
  • Vídeo



  • Comunicação entre processos


      Em um Sistema Operacional, frequentemente, os processos podem precisar trocar informações entre eles ou podem solicitar a utilização de um mesmo recurso simultaneamente, como arquivos, registros, dispositivos de E/S e memória. O compartilhamento de recursos entre vários processos pode causar situações indesejáveis e, dependendo do caso, gerar o comprometimento da aplicação. O Sistema Operacional tem a função de gerenciar e sincronizar processos concorrentes, com o objetivo de manter o bom funcionamento do sistema.
      Uma situação que ocorre com freqüência em sistemas concorrentes é o problema dos leitores/escritores, sendo um dos problemas clássicos que ocorrem quando há comunicação entre processos. Neste caso, um conjunto de processos ou threads acessam de forma concorrente uma área de memória comum (compartilhada), na qual podem fazer leituras ou escritas de valores.



    Leitor e Redator - O problema


       No problema do leitor e redator as leituras podem ser feitas simultaneamente, pois não interferem umas com as outras, mas as escritas têm de ser feitas com acesso exclusivo à área compartilhada, para evitar condições de disputa.
       Se um processo de leitura chegar e outro estiver lendo, ele pode acessar a área compartilhada juntamente com o outro processo leitor, mas se um escritor estiver acessando a seção ninguém mais pode acessá-la, muito menos outros escritores. Como podemos resolver esse problema? Uma solução pode ser escontrada na guia código.



    Desenvolvido por Alessandra Leachenski, Luan Bahri Ribeiro e Nicolas Passos