Comunicação entre processos
SISTEMAS DE INFORMAÇÃO
4º PERÍODO
DOUGLAS DOS SANTOS MONTEIRO
Comunicação entre Processos
Frequentemente processos precisão se comunicar com outros. Por exemplo, em um pipeline do interpretador de comandos, a saída do primeiro processo deve ser passada para o segundo, e isso prossegue até o finam da linha de comando. Assim, há uma necessidade de comunicação entre os processos que deve ocorrer, de preferência, de um amaneira bem estruturada e sem interrupções. Em alguns sistemas operacionais, os processos que trabalham juntos podem compartilhar algum armazenamento comum, a partir do qual cada um seja capaz de ler e escrever. O armazenamento compartilhado pode estar na memória principal (possivelmente em uma estrutura de dados do núcleo) ou em um arquivo compartilhado; o local da memória compartilhada não altera a natureza da comunicação ou dos problemas que surgem. Situações nas quais dois processos ou mais processos estão lendo ou escrevendo algum dado compartilhado e cujo resultado final depende de quem executa precisamente e quando são chamadas de condições de corrida (race condition). Precisamos de exclusão mútua (mutual exclusion), isto é, algum modo de assegurar que os processos sejam impedidos de usar uma variável importante tópico de ou um arquivo. A escolha das operações primitivas adequadas para realizar a exclusão mútua é um projeto de qualquer sistema operacional. Durante uma parte do tempo, um processo está ocupado fazendo computações internas e outras coisas que não levam condições de disputa. Contudo, algumas vezes um processo precisa ter acesso á memória ou a arquivos compartilhados ou tem de fazer outras coisas importantes que podem ocasionar disputas. Aquela parte do programa em que há acesso à memória compartilhada é chamada de região crítica ou seção crítica. Precisamos satisfazer quatro condições para chegar a um boa solução: Dois processos nunca podem esta simultaneamente