Programação de Sistemas



Documentos relacionados
Programação de Sistemas

Arquitetura de Sistemas Operativos

SISTEMAS DISTRIBUÍDOS

Servidor de Dados. Sistemas de Informação Módulo 4

Introdução ao Modelos de Duas Camadas Cliente Servidor

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Sistemas Distribuídos

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)


Arquitetura de Sistemas Operativos

1. INTERNET OU NET. Hardware. Computador. Linha telefónica normal, linha RDIS, ligação por cabo ou ADSL. Modem

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

REDES DE COMPUTADORES

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Tecnologias da Informação e Comunicação: Internet

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Desenvolvimento de Aplicações Web

Programação de Sistemas

Grande conjunto de informação que existe em todo o Mundo alojada em centenas de milhares de computadores chamados servidores Web.

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

UNIVERSIDADE. Sistemas Distribuídos

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

Redes de Computadores

Permite o acesso remoto a um computador;

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

Componentes de um Sistema de Operação

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

Comunicação entre Processos Canal de comunicação Arquitetura da comunicação Modelos de comunicação

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

Desenvolvimento Cliente-Servidor 1


Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Sistemas distribuídos:comunicação

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns.

Departamento de Informática

Departamento de Informática

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores Aula 3

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

6.2. Programas para utilização dos serviços da Internet

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Sistemas Operativos /2006. Trabalho Prático v1.0

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

Redes de Computadores e a Internet

Redes e Telecomunicações

Introdução à Redes de Computadores

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

Organização de Computadores 1

Sistemas Operativos 2005/2006. Arquitectura Cliente-Servidor Aplicada A Uma Biblioteca. Paulo Alexandre Fonseca Ferreira Pedro Daniel da Cunha Mendes

CEF Pastelaria - 3ºG Curso de Educação e Formação, Tipo II, Nível II

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Sistemas Distribuídos

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 1. Avaliação sumário da matéria do capítulo 1

Sistemas Distribuídos

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

Sistemas Distribuídos

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

09/05/2012. O Professor Plano de Disciplina (Competências, Conteúdo, Ferramentas Didáticas, Avaliação e Bibliografia) Frequência Nota Avaliativa Site:

Tecnologias da Informação e Comunicação. Principais tipos de serviços da Internet

(eletronic mail )

Comunicação. Parte II

Internet e seus recursos

Comunicação via interface SNMP

Professor: Gládston Duarte

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

UFG - Instituto de Informática

ASTERISK. João Cepêda & Luís Borges SCOM 2013

Microsoft Internet Explorer. Browser/navegador/paginador

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

Serviços na INTERNET

A internet é uma gigantesca rede de redes que conecta milhões de computadores globalmente, formando uma rede em que qualquer

Rede de Computadores (REC)

Um sistema SMS 1 simplificado

A Internet, ou apenas Net, é uma rede mundial de computadores ligados, entre si, através de linhas telefónicas comuns, linhas de comunicação

Tipos de Computadores

Redes de Computadores

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Curso Técnico de Informática de Sistemas

Módulo 6 Usando a Internet. Internet. 3.1 Como tudo começou

Sistemas Distribuídos

Data de Aplicação 2/04/2009

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

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

FERRAMENTAS DE Usada para visualizar s (correio eletrônico).

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

PARANÁ GOVERNO DO ESTADO

Componentes de um Sistema de Operação

TCP é um protocolo de TRANSMISSÃO, responsável pela confiabilidade da entrega da informação.

Transcrição:

Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19

Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência entre processos (i.e., a execução de um processo não afecta os outros, para além da variação do tempo de duração). No entanto, em muitos casos os processos necessitam trocar informação de forma controlada para dividir tarefas, aumentar a capacidade de processamento por distribuição do esforço em computadores distintos ligados em rede, sincronizar a execução de cada um. Programação de Sistemas Modelos de comunicação :2/19

Introdução (2) Os mecanismos de comunicação são classificados em A. Comunicação por memória partilhada Semáforos, mutexes (estudados no capítulo de sincronização de processos) Segmentos partilhados (Nota: não são abordados nesta disciplina) B. Comunicação via núcleo, que exige cópia de dados. Os mecanismos disponíveis dependem da arquitectura do sistema: Ambiente centralizado Fluxo de Bytes (Pipes) Sinais Ambiente distribuído (ex: redes de computadores) Mensagens (Sockets) Chamada remota, com dados passados por parâmetro. O mecanismo mais divulgado é o RPC Remote Procedure Call (Nota: não é abordado nesta disciplina). Programação de Sistemas Modelos de comunicação :3/19

Introdução (3) A. Comunicação via memória partilhada Espaço endereçamento P 1 leitura Memória acessível a P 1 e P 2 escrita Espaço endereçamento P 2 Vantagens da comunicação via memória partilhada: mais eficiente (cópia de dados consome recursos) Inconvenientes: problemas de sincronização Programação de Sistemas Modelos de comunicação :4/19

Introdução (4) B. Comunicação via núcleo Espaço endereçamento P 1 escrita leitura Espaço endereçamento P 2 Espaço núcleo tampão Vantagens da comunicação via núcleo Pode ser realizada em sistemas com vários CPU. Sincronização implícita. Programação de Sistemas Modelos de comunicação :5/19

Introdução (5) Comunicação via núcleo é executada na seguinte sequência de passos: 1. Criação de um canal do processo produtor para o processo consumidor, via núcleo. Nota: o canal pode ser interno ao computador, ou ligando dois computadores. 2. Processo produtor escreve mensagem no canal. Nota: a escrita é não bloqueante (admitindo que o núcleo tem uma memória tampão com capacidade de armazenar todas as mensagens) 3. Processo consumidor lê mensagem vinda do canal. Nota: a leitura é bloqueante, o consumidor fica suspenso até à chegada da mensagem. Programação de Sistemas Modelos de comunicação :6/19

Introdução (6) [Definição] IPC- InterProcess Communication é o conjunto de mecanismos de troca de informação entre múltiplas threads de um ou mais processos. O Linux disponibiliza vários tipos de mecanismos IPC, de acordo com os objectivos de cooperação: E/S de uso geral: tubos ( pipes ) / filas ( fifos ), STREAMS. E/S entre computadores distintos: Sockets e RPC- Remote Procedure Call. Controlo de processos: signal. Protecção de acesso a recursos (sincronização de processos): semáforos e mutexes. Programação de Sistemas Modelos de comunicação :7/19

Introdução (7) [Def] Canal de comunicação : meio pelo qual a informação é transmitida do emissor ao receptor. Exemplos: Memória partilhada pelos processos emissor e receptor. Memória tampão no núcleo. Nível de transporte na Internet, responsável pela transferência do nó fonte ao nó destino independentemente da forma como a rede de computadores subjacente se encontra organizada. [Def] Protocolo : regras de troca de mensagens entre os intervenientes. Programação de Sistemas Modelos de comunicação :8/19

Modelos de comunicação (1) A arquitectura de comunicação entre diversos intervenientes (programas ou processos) segue um modelo determinado. Modelos de comunicação entre aplicações Difusão ( broadcast ) : o emissor envia a mesma informação a todos os restantes processos receptores. Produtor-consumidor: comunicação uni-direccional, com o produtor a entregar mensagens ao consumidor. Cliente-servidor : cliente controla totalmente o servidor. Caixa de correio : as mensagens podem ser lidas por um processo receptor sem o emissor (um entre vários) poder controlar o processo que recolhe a mensagem. Diálogo : dois processos acordam canal temporário para troca de mensagens durante uma sessão. Nota: matéria central na disciplina Redes de Computadores Programação de Sistemas Modelos de comunicação :9/19

Modelo de difusão Produtor canal Consumidor Consumidor Consumidor Consumidor O produtor envia mensagem a todos os consumidores, sem saber quem e quantos são. Broadcast em Inglês Programação de Sistemas Modelos de comunicação :10/19

Modelo produtor-consumidor Produtor canal Consumidor Conexão uni-direccional fixa, do produtor para o consumidor. Exemplo de implementação analisado num exercício teorico-pratico no capítulo de sincronização de processos. Programação de Sistemas Modelos de comunicação :11/19

Modelo cliente-servidor (1) Cliente canal Servidor pedido resposta Conexão bi-direccional fixa, entre o cliente (computador, programa ou processo que requere informação) e o servidor (computador, programa ou processo que disponibiliza determinado serviço ao cliente). A comunicação desenrola-se nos seguintes passos: 1. O cliente envia um pedido ao servidor. 2. O servidor executa o pedido. 3. O servidor assinala o resultado ao cliente. Nota: normalmente cliente e servidor residem em computadores distintos (ex: WWW), mas pode haver excepções (ex: sistema de janelas X). Programação de Sistemas Modelos de comunicação :12/19

Modelo cliente-servidor (2) [Def] Programação modular : software de grande dimensão é dividido em módulos, facilitando o desenvolvimento e a manutenção. O modelo cliente-servidor estende o conceito de programação modular, na medida que os módulos podem ser executados em espaços distintos de memória. [Def] Cliente : módulo chamador, que requere serviço. [Def] Servidor : módulo chamado, que disponibiliza serviço. Programação de Sistemas Modelos de comunicação :13/19

Modelo cliente-servidor (3) Tipicamente, a interacção entre o cliente e o servidor segue as seguintes etapas Cliente pedido Espera pelo resultado resposta Servidor Processa serviço tempo Nota: transferência de um ficheiro designada por download (do servidor para o cliente) ou upload (do cliente para o servidor). Programação de Sistemas Modelos de comunicação :14/19

Modelo cliente-servidor (4) O modelo cliente-servidor tem sido adoptado em muitos serviços da Internet. Exemplos de protocolos definidos no modelo de comunicação cliente-servidor: HTTP para WWW. SMTP para transferência de Email entre nós. POP3 para utilizador recolher mensagens Email guardadas num ISP-Internet Service Provider. Programação de Sistemas Modelos de comunicação :15/19

Modelo cliente-servidor (5) Fixadas as normas dos protocolos de comunicação entre cliente e servidor, cada um pode ser implementado de forma independente. Exemplos: Servidores WWW Apache (http://httpd.apache.org) lighttpd (http://www.lighttpd.net) Clientes WWW (navegadores- browsers ) Mosaic, primeiro navegador gráfico. Firefox (http://www.mozilla.com/), derivado do Mozilla, corre em várias plataformas (Linux, Mac OS, Windows). Internet Explorer, actualmente em actualização apenas para Windows. Lynx (http://lynx.browser.org/), para terminais textuais. Programação de Sistemas Modelos de comunicação :16/19

Modelo P2P No modelo cliente-servidor as tarefas são separadas por um dos dois nós intervenientes. Os dados são divididos numa partição. No modelo P2P- peer to peer, o nó é simultaneamente cliente e servidor. Os dados são divididos aleatoriamente pela rede: dados localizados por inundação da rede com pedidos. Exemplos: Rede de notícias Usenet (1980)-em 2007 circulavam diariamente 3TB, uma parte significativa SPAM. Kazaa (1999), que possui nós dedicados para fornecer localização de dados. Processado por empresas discográficas, faliu em 2002. Programação de Sistemas Modelos de comunicação :17/19

Modelo caixa de correio Produtor Escrita mensagem Produtor Produtor Leitura mensagem Consumidor A ligação entre produtor e consumidor é indirecta. 1. Produtor escreve mensagem na caixa do correio. 2. O consumidor recolhe uma mensagem da caixa de correio, sem escolha do produtor que escreveu a mensagem. Nota: Tal como no modelo produtor-consumidor, a escrita não é bloqueante (admitindo que a capacidade da caixa de correio é ilimitada) e a leitura é bloqueante quando a caixa se encontra vazia. Programação de Sistemas Modelos de comunicação :18/19

Modelo diálogo Cliente Pedidos de atendimento Servidor Sessão Servidor dedicado Lança 1. O cliente envia um pedido ao servidor. 2. Criado um servidor dedicado, que liga ao cliente por um canal dedicado. 3. O canal é desligado quando a sessão termina. Programação de Sistemas Modelos de comunicação :19/19