Comunicação entre processos
Por: Maquel Sales • 24/11/2015 • Artigo • 372 Palavras (2 Páginas) • 261 Visualizações
Paradigmas de comunicação entre processos:
Threads, virtualização e clientes.
Definição de processo: ambiente onde um programa e executado, ou simplesmente, programa em execução.
Um processo é formado por três partes:
1- Contexto de hardware – armazena o conteúdo dos registradores gerais da ucp, além dos registradores de uso especifico.
2- Contexto de software – especifica limites e características dos recursos que poder ser alocados pelo processo.
3- Espaço de endereçamento – área de memoria do processo onde o programa sera executado, além do espaço para os dados utilizados por ele.
Threads
Permitem que clientes e servidores sejam construídos de tal modo a comunicação e processamento local possam se sobrepor, o que resulta em alto nível de desempenho.
Beneficios: reduz o tempo gasto em criação, eliminação e troca de contexto de processos nas aplicações e economia de recursos do sistema.
Implementação de thread via pacotes
Construção de uma biblioteca de threads que serão executadas em modo usuário.
Fazer com que o kernel fique ciente da existência das threads e os escalone.
Threads em sistemas distribuídos
As threads proporcionam um meio conveniente de permitir chamadas bloqueadas se sistema sem bloquear o processo inteiro facilitando a comunicação na forma de manter múltiplas conexões logicas do mesmo tempo.
Clientes multithread
Para estabelecer um alto grau de transparência de distribuição, sistemas distribuídos que operam em redes de longa distancia podem precisar esconder longos tempos de propagação de mensagens entre processos.
Exemplo:
Um browser web frequentemente inicia buscando a pagina HTML e na sequencia a exibe.
Para ocultar o máximo possível as latências de comunicação, alguns browsers começam a exibir dados enquanto eles ainda estão carregando imagens, vídeos, etc.
Servidores multithread
Uma thread despachante lê requisições que entram para um operação arquivo.
As requisições são enviadas por clientes para uma porta bem conhecida para esse servidor.
Após examinar a requisição, o servidor escolhe uma thread operaria ociosa(bloqueada) e lhe entrega a requisição.
Três modos de construir um servidor
MODELO CARACTERÍSTICAS
THREAD Paralisação, chamadas bloqueadoras de sistema
PROCESSO MONOTHREAD Sem paralelismo, chamadas bloqueadoras de sistema.
MAQUINA DE ESTADO FINITO Paralelismo, chamadas de sistema não bloqueadoras.
Virtualização
Permite que uma aplicação
...