Trabalho Sistemas Distribu Dos
Comunicação Cliente-Servidor
A comunicação Cliente-Servidor é um paradigma de programação que representa as interações entre os processos e as estruturas do sistema. É um modelo de processamento distribuído sob o ponto de vista de aplicação. Sua idéia é estruturar o Sistema Operacional como um grupo de processos interativos. Neste paradigma existem dois processos:
Servidores: processos (programa) que recebem requisitos, realizam uma operação e retornam serviços. Servidores oferecem serviços aos usuários.
Clientes: processos (programa) que requisitam serviços e esperam por uma resposta. Clientes usam os serviços providos pelos servidores.
Uma máquina pode executar:
Um único ou múltiplos processos clientes;
Um único ou múltiplos processos servidores;
Ou uma combinação das alternativas anteriores.
As principais vantagens da comunicação Cliente-Servidor são:
Simplicidade;
Não tem necessidades de estabelecer e finalizar a conexão;
A mensagem de resposta de um servidor pode funcionar como confirmação de entrega de uma requisição;
Eficiência;
Se as máquinas forem idênticas são necessárias somente três níveis de protocolo: Físico, Data Link e Request/Reply.
Possíveis falhas que podem ocorrer em um comunicação Cliente-Servidor:
Perda da mensagem enviada;
Perda da resposta enviada;
Duplicação de mensagem;
Time-out.
Endereçamento: para que um cliente envie mensagens a um servidor, primeiro o cliente, deve necessariamente conhecer o endereço do servidor, desse modo, é preciso estabelecer um esquema de identificação:
1. Um único identificador de processo quando na mesma máquina: com um único processor por máquina basta indicar o endereço da máquina pois o kernel consegue determinar qual é o processo servidor único.
2. Endereçamento indicando o processo e a máquina: quando se permite mais de um processo servidor por máquina, deve-se endereçar a mensagem a esse servidor específico.
3. Processos escolhem endereços que são detectados por broadcast: cada processo