Professional Documents
Culture Documents
• Sequenciais X Concorrentes
Page 1
Servidores com estado
servidor
de arquivos disco
p1-m1
Page 2
Servidores sem estado
p1-m1
servidor
p3-m2 disco
de arquivos
p2-m1
Cada pedido deve conter informação completa sobre
o acesso a arquivo (nome do arquivo, modo, posição, etc)
...
Servidores sequenciais
servidor
loop
recebe pedido
trata pedido
envia resposta
cliente 4
fim loop
cliente 2
cliente 1
Fila de clientes cliente 3
a serem atendidos
Page 3
Servidores Sequenciais
Servidores Concorrentes
servidor
p1-m1
pode atender
p3-m2 diversos clientes
simultaneamente
p2-m1
Page 4
Servidores Concorrentes
Multiprocesso
SERVIDOR CONCORRENTE
Servidor Mestre
p2-m1 requisição
iniciar de cliente
Cria
inicia Bloqueado
Escravo
comunicação termina
serviço
p5-m4
requisita
p3-m2 serviços
Servidores escravos
Servidores Concorrentes
Monoprocesso
SERVIDOR CONCORRENTE
p2-m1
Servidor Único
requisição
iniciar de cliente
Bloqueado identifica cliente
trata pedido
p2-m4 termina
serviço
p5-m4
Page 5
Servidores Concorrentes
Monoprocesso
• O servidor usa um único processo para oferecer
concorrência aparente para os clientes
• Apropriado para aplicações onde I/O domina
– criação de processos e troca de contextos entre processos
implica em alto custo
• O servidor usa I/O assíncrono para oferecer
concorrência aparente para os clientes
– a chegada de dados dispara a execução
– suporte para I/O assíncrono através da chamada Select
– o servidor passa o conjunto de descritores de socket como
argumento da chamada Select
• O processo servidor gerencia múltiplos sockets e
faz o papel de mestre e de escravo
Page 6
Servidores Concorrentes
multiprocesso
• O processo mestre nunca comunica-se
diretamente com o cliente
Page 7
Pré-alocação
• Consiste em criar N processos escravos quando o
mestre começa a executar
• Quando uma solicitação chega, um dos processos
escravos é escolhido para receber a solicitação e
tratá-la
• Os escravos não são finalizados quando terminam
de atender alguma solicitação
• Evita o custo de criar processos quando a
solicitação chega ao servidor
• Pode atender os clientes de forma mais rápida que
na alocação sob demanda
Servidores Concorrentes
• A maior parte usa vários processos
Page 8
Usando programas separados
como Escravos
Tipos de Servidores
sequencial
concorrente
Page 9
Servidores TCP/IP
• Servidores com estado em geral são
implementados por comunicação com conexão.
• Interações com servidores com estado em geral
são longas... necessidade de servidor concorrente!
– modelo mais comum neste caso é o servidor concorrente
multiprocesso!
sem com (conexão)
sequencial
concorrente
Servidores Concorrentes
Monoprocesso
mestre Processo
Servidor
Page 10
Servidores Concorrentes
Multiprocesso
mestre Processos do
servidor
Page 11