Comunicacao entre porcessos
COMUNICAÇÃO ENTRE PROCESSOS
FRANCA – SÃO PAULO
2014
Em sistemas operacionais, processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Por exemplo, em um ambiente multitarefa(como o Unix) que suporta processos, um processador de texto, um navegador e um sistema de banco de dados são processos separados que podem rodar concomitantemente. Processos são módulos separados e carregáveis, ao contrário de threads, que não podem ser carregadas. Múltiplas threads de execução podem ocorrer dentro de um mesmo processo. Além das threads, o processo também inclui certos recursos, como arquivos e alocações dinâmicas de memória e espaços de endereçamento. A comunicação entre processos é o grupo de mecanismos que permite aos processos transferirem informação entre si. A capacidade de um sistema operacional executar simultaneamente dois ou mais processos é chamada multiprocessamento. Se existirem dois ou mais processos executados em simultâneo e disputam o acesso a recursos partilhados, problemas da concorrência podem ocorrer. Estes problemas podem ser resolvidos pelo gerenciamento adequado de múltiplas linhas de execução ou processos através da sincronização (multitarefa) ou por outros recursos (como a troca de contexto). Baseando-se nisto, levantamos 4 tópicos sendo eles, esquemas de comunicação entre processos: memória compartilhada e troca de mensagens, comunicação unidirecional e bidirecional, comunicação síncrona e assíncrona, pipes e sockets e levantamos teses sobre o porque que é assim, e se realmente esse é o melhor modo para esses processos operarem.
In operating systems , a process is a single executable module that runs concurrently with other executable modules . For example , in a multitasking environment ( like Unix ) that supports processes , a word processor , a browser and a system database are separate processes