Sei sulla pagina 1di 15

MODELO CLIENTE SERVIDOR

SISTEMAS

DISTRIBUÍDOS

Modelo Cliente Servidor

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

•Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;

•Máquinas clientes e servidores usualmente funcionam em cima do mesmo Kernel de um S.O.;

•Este modelo permite uma máquina rodar em único processo, vários processos clientes, vários processos servidores ou uma mistura;

•Evita o overhead do modelo OSI, se baseando em um

protocolo

solicitação/resposta;

de

simples,

sem

conexão

do

tipo

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

•O cliente manda uma mensagem ao servidor solicitando um serviço (Ex: leitura um arquivo). O servidor faz o trabalho e envia para o cliente os dados solicitados, ou código de erro informando o motivo o qual o trabalho não foi realizado;

Requisição

Cliente

S.O. Kernel

Servidor

S.O. Kernel

não foi realizado; Requisição Cliente S.O. Kernel Servidor S.O. Kernel Resposta REDE Sistemas Distribuídos
não foi realizado; Requisição Cliente S.O. Kernel Servidor S.O. Kernel Resposta REDE Sistemas Distribuídos

Resposta

REDE

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

•Não há necessidade de estabelecimento de conexão antes do envio de uma solicitação, nem desfeito após a obtenção da resposta. A própria mensagem de resposta serve como uma validação do recebimento da solicitação;

•O número de camadas do modelo cliente servidor fica reduzido a 3 camadas, Assumindo que todas as máquinas do sistema são idênticas;

•Os protocolos do nível físico e de enlace de dados cuidam da obtenção dos pacotes dos clientes, de sua entrega no servidor correspondente, e da entrega aos clientes dos pacotes gerados pelos servidores

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

•As tarefas acima são realizadas por hardware (Chips Ethernet e Token Ring);

nem não são

•Como não há necessidade

de

roteamento

3

e

4

estabelecimento de conexão as camadas

necessárias

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• A Funcionalidade do Software Aplicativo e da Inter-Rede

– Software Aplicativo:

• Os aplicativos fornecem os serviços de alto nível que os usuários acessam;

• A maneira como os usuários percebem as capacidades da inter- rede também é determinada pelos aplicativos;

• Os aplicativos definem os nomes simbólicos usados para identificar recursos físicos (computadores, impressoras e etc);

• O formato em que as informações são mostradas e os mecanismos que os usuários tem para selecionar ou acessar os dados;

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• A Funcionalidade do Software Aplicativo e da Inter-Rede

– Inter-rede:

• Oferece uma infra-estrutura de comunicação geral, não especificando:

– Quais serviços serão oferecidos;

– Que computadores executarão os serviços;

– Como a disponibilidade do serviço se tornará reconhecida;

– Como os serviços serão usados;

• A comunicação através de uma inter-rede exige que um par de programas aplicativos interaja.

– Em Resumo:

• Embora um sistema de inter-rede forneça um serviço de comunicação básico, o software de protocolo não pode iniciar ou aceitar contato de um computador remoto. Em vez disso, dois programas aplicativos devem participar em qualquer comunicação:

um aplicativo inicia a comunicação e o outro aceita.

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• Programas Servidores

– Programa que espera passivamente por comunicação;

• Computador Servidor

– Computador poderoso para executar software servidor;

• Requisições

– As informações podem fluir em uma ou ambas as direções entre um cliente e servidor. Embora muitos serviços prevejam que o cliente envie uma ou mais requisições e o servidor retorne as respostas, outras interações são possíveis;

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• Protocolos de Transporte e Interação Cliente-Servidor

– Um aplicativo de cliente ou servidor interage diretamente com um protocolo da camada de transporte para estabelecer uma comunicação e para enviar e receber dados.

– O protocolo de transporte, então, utiliza os protocolos das camadas mais baixas para receber e transmitir;

de transporte, então, utiliza os protocolos das camadas mais baixas para receber e transmitir; Sistemas Distribuídos

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• Múltiplos Serviços em um Computador

– Um computador, suficientemente poderoso, pode executar diversos clientes e servidores ao mesmo tempo;

• Necessário hardware com processador rápido e muita memória;

• Sistema operacional que permita que múltiplos programas aplicativos rodem concorrentemente ou simultaneamente.

que permita que múltiplos programas aplicativos rodem concorrentemente ou simultaneamente. Sistemas Distribuídos

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• Múltiplas Cópias de um Servidor para um Único Serviço

– Um sistema de computador que permite múltiplos programas aplicativos sejam executados concorrentemente é chamado de sistema multiprogramável;

– Em sistemas multiprogramaveis é aberto um novo processo a cada requisição de cliente.

• Quando chega uma requisição, o servidor atribui a requisição a um processo;

• Os processos podem ser executados concorrentemente;

Essencialmente cada processo criado é uma cópia do servidor, assim é possível tratar cada requisição de forma concorrente.

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR Interação Cliente-Servidor • Servidor Dinâmico – Servidor cria um novo processo a cada

Interação Cliente-Servidor

• Servidor Dinâmico

– Servidor cria um novo processo a cada requisição que chega;

– O programa servidor é constituído de duas partes:

• Primeira: aceita requisições e cria um novo processo a cada requisição;

• Segunda: consiste no código para tratar uma requisição individual;

– Quando um servidor começa a rodar, somente a primeira parte roda

– Quando uma requisição chega, o processo principal cria um novo processo de serviço para tratar da requisição;

– O processo de serviço trata uma requisição e então termina;

– O processo principal permanece ativo (rodando), aguardando novas requisições;

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• Transporte Orientado à Conexão e Sem Conexão

– Protocolos de transporte suportam duas formas básicas de comunicação:

• Orientado à Conexão:

– Dois aplicativos devem estabelecer uma conexão

– Transmitir dados

– Encerrar a conexão

– Um exemplo deste tipo de protocolo é o TCP

• Sem Conexão:

– Permite que um aplicativo envie uma mensagem para qualquer destino a qualquer momento;

– O aplicativo deve especificar um destino a cada mensagem

– Um exemplo deste tipo de protocolo é o UDP

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Interação Cliente-Servidor

• Interações complexas entre Cliente e Servidor

– Um aplicativo cliente não está restrito ao acesso de um único serviço. Um aplicativo pode primeiro ser cliente de um serviço e mais tarde, tornar-se cliente de outro;

– Um aplicativo cliente não está restrito ao acesso de um único servidor para um determinado serviço. Um cliente pode enviar requisições para múltiplos servidores para melhorar seu desempenho.(cliente aceita a primeira resposta que chega)

– Um servidor não está impedido de executar interações cliente- servidor adicionais. Um servidor para executar um serviço pode se transformar em cliente de outro;

Sistemas Distribuídos