Tipos de Servidores. Servidores com estado



Documentos relacionados
Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

3. Projeto e implementação de Servidores

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Processos e Threads (partes I e II)

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

UNIVERSIDADE. Sistemas Distribuídos

Gerência do Processador

SISTEMAS DISTRIBUÍDOS

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

Sistemas Distribuídos

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Engenharia de Software III

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Projeto: Camada Independente de Dispositivo

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

3 SCS: Sistema de Componentes de Software

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS DE ACESSO REMOTO (TELNET E TERMINAL SERVICES) Professor Carlos Muniz

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos e Redes de Sensores

Sistemas Distribuídos. Aleardo Manacero Jr.

Gerência do Processador

Comunicação entre Processos

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

LEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013

Projeto de Redes Top-Down

Sistemas Operacionais

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

GUIA DE PROCEDIMENTOS PARA ACESSO VIA FTP

2 Diagrama de Caso de Uso

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Redes de Computadores (PPGI/UFRJ)

Manual de Instalação ( Client / Server ) Versão 1.0

Sistemas Operacionais Arquivos

FTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Comunicação em Sistemas Distribuídos

SISTEMAS OPERACIONAIS

Sistema de Recursos Humanos


Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Sistemas Distribuídos

Fundamentos de Sistemas Operacionais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Entendendo como funciona o NAT

MODEM USB LTE LU11. Manual do Usuário

Programação Concorrente Processos e Threads

Sistemas Operacionais

Sockets em Ruby. Curso de Tecnologia em Redes de Computadores Programação para Redes

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Windows Explorer. Prof. Valdir

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Softwares Aplicativos Banco de Dados

Sincronização e Comunicação entre Processos. Adão de Melo Neto

INF1013 MODELAGEM DE SOFTWARE

Lista de Erros Discador Dial-Up

Eberhardt Comércio e Assist. Técnica. Ltda.

Grupo I [4v] executaprograma();

Cap 03 - Camada de Aplicação Internet (Kurose)

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

Introdução à Computação: Sistemas Operacionais II

Comunicação em Sistemas Distribuídos

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Java : Comunicação Cliente-Servidor.

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Sistemas Distribuídos

Capítulo II Modelos de Programação Distribuída

Como funciona a Solução NFC-e ifox. Iniciar a utilização da NFC-e

Introdução ao Modelos de Duas Camadas Cliente Servidor

MODEM USB 3G+ WM31. Manual do Usuário

Um Driver NDIS Para Interceptação de Datagramas IP

Escalonamento no Linux e no Windows NT/2000/XP

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Controle do Arquivo Técnico

Transcrição:

Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser implementadas de forma mais eficiente. Mensagens com pedidos podem ser menores. Page 1

Servidores com estado servidor de arquivos disco p2-m1... tabela de estado cliente arq. aberto posição corrente p2-m1 p4-m3 p5-m3 p4-m3 artigo.tex passwd teste.c.login script.cshrc artigo.bib group a4.sty 20 10 0 5 58 12 0 31 23 Servidores sem estado Em um servidor sem estado cada pedido deve conter toda a informação necessária para seu processamento. Servidores sem estado apresentam maior escalabilidade. escalabilidade: comportamento quando o número de clientes cresce. A implementação de um servidor sem estado é muito mais simples que a de um servidor com estado. Page 2

Servidores sem estado servidor de arquivos disco p2-m1... Cada pedido deve conter informação completa sobre o acesso a arquivo (nome do arquivo, modo, posição, etc) Servidores sequenciais servidor Fila de clientes a serem atendidos cliente 4 cliente 2 cliente 1 cliente 3 loop recebe pedido trata pedido envia resposta fim loop Page 3

Servidores Sequenciais Fáceis de programar e modificar Adequados para situações onde a execução do serviço é muito rápida portanto o tempo de resposta não é alto Trabalham melhor com protocolos sem conexão mas podem ser usados também com protocolos com conexão (o custo de estabelecer a conexão pode não compensar) Em geral não guardam estado das solicitações Servidores Concorrentes servidor pode atender diversos clientes simultaneamente p2-m1 Page 4

p2-m1 p5-m4 Servidores Concorrentes Multiprocesso inicia comunicação SERVIDOR CONCORRENTE Servidor Mestre iniciar Bloqueado requisição de cliente termina serviço Cria Escravo requisita serviços Servidores escravos Servidores Concorrentes Monoprocesso p2-m1 p2-m4 SERVIDOR CONCORRENTE Servidor Único requisição iniciar de cliente Bloqueado termina serviço identifica cliente trata pedido 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 Algoritmo do Servidor Concorrente, Orientado a Conexão e Monoprocesso 1. Cria um Socket 2. Associa a uma porta 3. Adiciona o descritor do socket a uma lista 4. Chama Select para observar I/O na lista de sockets 5. Se o socket original é selecionado, chama Accept para obter a próxima conexão e adiciona o novo socket a lista Se algum outro socket é selecionado, chama read para obter a próxima solicitação. Faz o processamento e chama write para enviar a resposta 6. Continua o processamento do passo 4 Page 6

Servidores Concorrentes multiprocesso O processo mestre nunca comunica-se diretamente com o cliente Quanto aos processos Escravos: Pré-alocação de Escravos Alocação de Escravos sob Demanda Alocação sob Demanda Escravos são criados à medida que o servidor recebe novas solicitações Os escravos são finalizados quando terminam de atender uma solicitação Vantagem: não aloca recursos do sistema sem necessidade Desvantagem: a criação do processo pode ser uma tarefa demorada (principalmente em sistemas com único processador) 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 Trabalham melhor com protocolo com conexão pois o custo de criação de processos não é desprezível. Em protocolos sem conexão o processo escravo termina após atender 1 única solicitação). Page 8

Usando programas separados como Escravos Tipos de Servidores sem estado com estado 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! sequencial sem com (conexão) concorrente Servidores Concorrentes Monoprocesso mestre Processo Servidor socket para solicitação de conexão sockets para conexões individuais Sistema Operacional Page 10

Servidores Concorrentes Multiprocesso mestre Processos do servidor Escravo 1 Escravo 2 Escravo 3 socket para solicitação de conexão sockets para conexões individuais Sistema Operacional Page 11