OpenSolaris - Sistema Operacional Open Source
Este artigo aborda os princípios do sistema operacional OpenSolaris e tem como objetivo proporcionar uma compreensão dos conceitos básicos e das principais questões relativas a estrutura, forma de armazenamento, compartilhamento e gerenciamento do sistema operacional open source baseado no sistema Solaris da Sun MicroSystems.
Parte 5: Comunicação entre processos e memória compartilhada
Comunicação entre processos
A comunicação entre processos (do inglês: Interprocess Comunication ou IPC), é o grupo de mecanismos que permite aos processos em execução a transferirem informação entre si.O OpenSolaris fornece quatro facilidades de comunicação entre processos(4). Essas facilidades permitem aos processos e threads compartilhar dados, trocar informações entre si, e sincronizar o acesso à recursos compartilhados. O desenvolvimento do sistema de comunicação entre processos (IPC) iniciou nas primeiras versões do UNIX System V, da AT&T. Posteriormente um sistema fornecendo as mesmas funcionalidades surgiu nos padrões POSIX. Por este motivo o openSolaris possui tanto o sistema de IPC do System V quanto o do padrão POSIX. A seguir veremos os tipos de comunicação entre processos disponíveis atualmente.
4. Processos são programas em execução.
Memória compartilhada
O compartilhamento de uma região de memória entre dois ou mais processos corresponde a forma mais rápida para troca de dados. A zona de memória compartilhada (denominada segmento de memória compartilhada) é utilizada por cada um dos processos como se ela fosse um espaço de endereçamento que pertencesse a cada um dos programas. Em outras palavras, o compartilhamento de memória permite aos processos trabalhar sob um espaço de endereçamento comum em memória virtual.Em conseqüência disso, este mecanismo é dependente da forma de gerenciamento da memória; isto significa que as funcionalidades deste tipo de comunicação entre processos são fortemente ligadas ao tipo de arquitetura (máquina) sobre a qual esta implementação está realizada. A funcionalidade de memória compartilhada serve como meio eficiente de compartilhar dados entre múltiplos processos sem a necessidade de mover os dados de um processo para o outro.