Sistemas Operacionais:

Tamanho: px
Começar a partir da página:

Download "Sistemas Operacionais:"

Transcrição

1 Sistemas Operacionais: Sistemas Distribuídos e Programação em Redes de Computadores Dierone Cesar Foltran Junior dcfoltran at yahoo.com

2 Sistemas Distribuídos Sistemas Computacionais Distribuídos Lamport: É um sistema que impede você de obter qualquer serviço quando uma máquina que você nem imagina que exista falhe!

3 Sistemas Distribuídos Sistemas Computacionais Distribuídos Tanenbaum + van Renesse: Aparenta ser um sistema centralizado mas na realidade o S.O. executa em múltiplos e independentes processadores.

4 Sistemas Distribuídos Sistemas Computacionais Distribuídos Tanenbaum + van Renesse: Aparenta ser um sistema centralizado mas na realidade o S.O. executa em múltiplos e independentes processadores. Conceito Chave Transparência o uso de múltiplos processadores deve ser invisível ao usuário.

5 Sistemas Distribuídos Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90: 50 uso exclusivo - monousuário - alto custo

6 Sistemas Distribuídos Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90: 50 uso exclusivo - monousuário - alto custo 60 processamento em lote (em batch) Evolução das memórias: espaço suficiente para acomodar o S.O. e programa de aplicação; Máxima utilização da máquina

7 Sistemas Distribuídos Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90: 50 uso exclusivo - monousuário - alto custo 60 processamento em lote (em batch) 70 multiusuário-compartilhamento da máquina (time sharing) Ciclo de máquina se tornou mais barato (máquinas mais velozes / preço menor por ciclo). Programadores tornaram-se mais produtivos.

8 Sistemas Distribuídos Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90: 50 uso exclusivo - monousuário - alto custo 60 processamento em lote (em batch) 70 multiusuário-compartilhamento da máquina (time sharing) 80 computação pessoal e S.D. Tecnologia de VLSI e LAN tornaram os S.D. viáveis

9 Sistemas Distribuídos Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90: 50 uso exclusivo - monousuário - alto custo 60 processamento em lote (em batch) 70 multiusuário-compartilhamento da máquina (time sharing) 80 computação pessoal e S.D. 90 computação pessoal, S.D. e Internet sedimentação dos S.D; proliferação acelerada da Internet; computação paralela sobre plataformas distribuídas; integração de ambientes computacionais.

10 Sistemas Distribuídos Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90: 50 uso exclusivo - monousuário - alto custo 60 processamento em lote (em batch) 70 multiusuário-compartilhamento da máquina (time sharing) 80 computação pessoal e S.D. 90 computação pessoal, S.D. e Internet 2000 globalização, computação ubíqua,... Sistemas distribuídos globais; Máquinas paralelas virtuais globais; Wireless e distribuição em tempo real do processamento.

11 Sistemas Distribuídos Motivação: aplicações especiais: requerem alto grau de interação com os usuários (aplicações gráficas); minicomputadores: passam a ser usados como máquina pessoal (monousuário); redes locais de computadores: retorno da conectividade; servidores: algums equipamentos transformados para desempenhar tarefa específica; custo: obter desempenho esperado de um único recurso pode ser muito caro com a tecnologia disponível no momento;; desempenho: vários fatores a mais alteram o desempenho (cuidado!).

12 Sistemas Distribuídos Modelos Arquiteturais: Aspectos físicos Aspectos lógicos

13 Sistemas Distribuídos Modelos Arquiteturais: Estações de Trabalho - Servidores Cliente-servidor Usuário estação de trabalho Servidores - serviços especializados

14 Sistemas Distribuídos Modelos Arquiteturais: Banco de Processadores Cliente-servidor Usuário terminais Processadores formam um banco Login associa processador a terminal Servidores serviços especiais

15 Programação Concorrente Máquinas von Neumann Programação Seqüencial Um processo por vez; Gargalo de von Neumann Baixo desempenho; Serialização de problemas paralelos. Solução: Computação Paralela Arquiteturas Paralelas: vários processadores/memórias trabalhando em uma mesma aplicação; Programação Concorrente: inciar/finalizar, coordenar e comunicar Diversas instruções executadas em paralelo para resolver problemas complexos mais eficientemente;

16 Programação Concorrente Execução Seqüencial: Várias instruções sendo executadas uma após a outra. Execução Concorrente: Várias instruções sendo executadas concorrentemente; Único processador: há um pseudo-paralelismo; Em arquiteturas paralelas (vários processadores) têm-se:. Execução Paralela: na computação paralela há vários processos executando em diferentes processadores e trabalhando juntos em um único problema;

17 Programação Concorrente Arquiteturas Paralelas Objetivo principal: Acelerar o processamento Há diferentes soluções: Organizações de propósito geral Organizações orientadas a aplicações

18 Programação Concorrente Classificação de Flynn

19 Programação Concorrente SISD Single Instruction Single Data

20 Programação Concorrente SIMD Single Instruction Multiple Data

21 Programação Concorrente MISD Multiple Instruction Single Data

22 Programação Concorrente MIMD Multiple Instruction Multiple Data

23 Redes de Computadores Exemplo de protocolo: TCP/IP Padrão amplamente utilizado Origem na ARPANET Protocolo base da Internet

24 Redes de Computadores Redes de Alta Velocidade Qualidade de Serviço (QoS) Evolução das redes convencionais Fibras óticas Protocolos especiais

25 Redes de Computadores Redes modernas Integração de: Dados Voz Imagens

26 Programação com sockets

27 Protocolos da Internet HTTP FTP... DNS RPC... Aplicação Usuário TCP UDP Transporte Núcleo do SO ICMP IP IGMP Rede ARP Hardware Interface RARP Enlace

28 Identificação de aplicações Como cada máquina é identificada unicamente na Internet? Como a entidade de rede (IP) identifica para qual protocolo de transporte está sendo utilizado? Como a entidade de transporte identifica qual aplicação está sendo utilizada? Um cliente pode abrir várias conexões com o mesmo servidor (ex. páginas web). Como o cliente sabe para qual programa enviar os pacotes?

29 Identificação de aplicações porta porta TCP porta porta UDP porta 6970 protocolo = 6 protocolo = 17 ssh.cin.ufpe.br procololo = 6 porta = 22 Internet host-0-13.re.apartnet.br.inter.net procololo = 6 porta = protocolo = 17 porta = servidor DNS protocol = 17 porta = 53

30 Programação na Internet Sockets RPC Estilo: envia/recebe (send/receive) Característica: eficiente Chamada remota de procedimento Transparência e facilidade de programação Objetos distribuídos Transparência, facilidade e todos os benefícios da programação orientada a objetos Execução mais lenta Exemplos: DCOM CORBA Java RMI etc.

31 Unix BSD Sockets Interface padrão para comunicação entre processos em redes TCP/IP Nasceu com o Unix de Berkeley Os projetistas tentaram usar ao máximo as chamadas de sistema do Unix Implementada hoje em vários SOs Programar com sockets pode ser visto como desenvolver um protocolo de aplicação

32 Berkeley Sockets

33 Berkeley Sockets

34 Sockets - visão conceitual

35 Tipos de sockets Serviço com conexão Implementa um stream de dados (SOCK_STREAM) Protocolo TCP (tipicamente) Serviço sem conexão Implementa um serviço de datagramas (SOCK_DGRAM) Protocolo UDP (tipicamente) Acessa diretamente a camada de rede (SOCK_RAW) Serviço de baixo nível Protocolo IP (tipicamente

36 Principais funções da API socket connect write read close bind listen accept Cria um novo descritor para comunicação Iniciar conexão com servidor Escreve dados em uma conexão Lê dados de uma conexão Fecha a conexão Atribui um endereço IP e uma porta a um socket Coloca o socket em modo passivo, para escutar portas Bloqueia o servidor até chegada de requisição de conexão recvfrom Recebe um datagrama e guarda o endereço do emissor Envia um datagrama especificando o endereço sendto

37 Serviço com Conexão (TCP) Servidor socket () bind () listen () accept () bloqueado read () Estabelecimento de conexão Dados (pedido) Cliente socket () connect () write () write () close () Dados resposta) read () close ()

38 Serviço sem Conexão (UDP) Servidor socket () bind () recvfrom () bloqueado Cliente socket () Dados (pedido) sendto () sendto () close () Dados resposta) recvfrom () close ()

39 Estrutura Típica de um Servidor

40 Números de portas reservadas para serviços padrão portas bem conhecidas reservado para serviços Unix Somente podem ser usadas por usuários privilegiados (super-usuário) Usadas por processos de sistema e de usuário Usadas somente por processos de usuário

41 Sockets em Java Java modernizou a API para trabalhar com sockets O programador não precisa chamar todas as funções, algumas chamadas são automáticas Exemplos Socket: equivalente a socket e bind ServerSocket: equivalente a socket, bind e listen Sockets são implementados no pacote java.net A transmissão e o envio de dados são feitos através de classes do pacote java.io de maneira semelhante à escrita e leitura em arquivos Classes DataInputStream, DataOutputStream, etc.,

42 import java.net.*; import java.io.*; public class SimpleJavaClient { public static void main(string[] args) { try { Socket s = new Socket(" ", 9999); InputStream i = s.getinputstream(); OutputStream o = s.getoutputstream(); String str; do { byte[] line = new byte[100]; System.in.read(line); o.write(line); } } i.read(line); str = new String(line); System.out.println(str.trim()); } while (!str.trim().equals("bye") ); s.close(); } catch (Exception err) { System.err.println(err); }

43 import java.io.*; import java.net.*; public class SimpleJavaServer { public static void main(string[] args) { try { ServerSocket s = new ServerSocket(9999); String str; while (true) { Socket c = s.accept(); InputStream i = c.getinputstream(); OutputStream o = c.getoutputstream(); do { byte[] line = new byte[100]; i.read(line); o.write(line); str = new String(line); } while (!str.trim().equals("bye") ); c.close(); } } catch (Exception err){ System.err.println(err); } } }

44 Sockets em C/C++ C é a linguagem básica para programação com sockets De maneira diferente de Java, programar com sockets em C/C++ envolve utilizar todas as chamadas da API

45 #include... #include <sys/socket.h> int main(int argc, char **argv) { int s; struct sockaddr_in dest; char msg_write[100], msg_read[100]; s = socket(af_inet, SOCK_STREAM, 0)); } bzero(&dest, sizeof(dest)); dest.sin_family = AF_INET; dest.sin_port = htons(9999); inet_aton( , &dest.sin_addr.s_addr); connect(s, (struct sockaddr*)&dest, sizeof(dest)); do { scanf("%s",msg_write); write (s, msg_write, strlen(msg_write)+1); read (s, msg_read, MAXBUF); } while (strcmp(msg_read,"bye")); close(s);

46 #include... #include <sys/socket.h> int main(int argc, char **argv) { int s, client_s; struct sockaddr_in self, client; int addrlen = sizeof(client); char msg_write[100], msg_read[100]; s = socket(af_inet, SOCK_STREAM, 0); bzero(&self, sizeof(self)); self.sin_family = AF_INET; self.sin_port = htons(9999); self.sin_addr.s_addr = INADDR_ANY; } bind(s, (struct sockaddr*)&self, sizeof(self)); listen(s, 5); while (1) { client_s = accept(s, (struct sockaddr*)&client, &addrlen); do { read (client_s, msg_read, MAXBUF); write (client_s, msg_read, strlen(msg_read)+1); } while (strcmp(msg_read,"bye")); close(client_s); }

47 Sockets sem Conexão (Java) Cliente:» socket = new DatagramSocket( );» message = new DatagramPacket(msg,length,Addr,Port);» reply = new DatagramPacket( new byte[100], 100 );» socket.send( message );» socket.receive( reply );» socket.close(); Servidor:» socket = new DatagramSocket(porta);» socket.receive( message );» socket.send( message );

48 Sockets sem Conexão (C) Cliente:» s = socket(af_inet, SOCK_DGRAM, 0);» sendto(s, msg, length, flags, destaddr, addrlen);» recvfrom(s, msg, length, flags, fromaddr, addrlen); Servidor:» s = socket(af_inet, SOCK_DGRAM, 0);» bind(s, dest, sizeof(dest));» recvfrom(s, msg, length, flags, fromaddr, addrlen);» sendto(s, msg, length, flags, destaddr, addrlen);

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

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

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do

Leia mais

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Programação de Sockets Mário Meireles Teixeira. UFMA-DEINF Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando s API de Sockets: introduzida no UNIX

Leia mais

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão Programação com Sockets TCP e UDP - Cliente Gustavo Leitão 5/24/2010 INTRODUÇÃO Objetivo da Aula OBJETIVO DA AULA Apresentar ao aluno conceitos e prática em sockets INTRODUÇÃO O que é um socket? INTRODUÇÃO

Leia mais

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

Sistemas de Operação Sockets

Sistemas de Operação Sockets Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para

Leia mais

Programação de sockets com TCP

Programação de sockets com TCP Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente

Leia mais

Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas

Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas Apoio à Programação Distribuída bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas flexibilidade de programação disponibilidade da ferramenta facilidade de desenvolvimento e reuso

Leia mais

Modelo Cliente/Servidor e Introdução a Sockets

Modelo Cliente/Servidor e Introdução a Sockets Modelo Cliente/Servidor e Introdução a Sockets MC 833 Programação em s de Computadores Instituto de Computação UNICAMP Juliana Freitag Borin O modelo OSI de 7 camadas Nó origem Nó destino Apresentação

Leia mais

Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151

Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151 Aula Prática Comunicação em SOCKTS Disciplina: INF01151 Prof. Dr. Cláudio Fernando Resin Geyer Monitor: Julio Anjos Agenda 1 - Objetivo Apresentar na prática a comunicação entre processos usando sockets

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Socket API introduzida no BSD4.1 UNIX, 1981 explicitamente criados, usados e liberados

Leia mais

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD

Leia mais

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

INF01018 Aula Prática 1 Cliente-Servidor e Multicast 1 / 30 INF01018 Aula Prática 1 Cliente-Servidor e Multicast Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais

Leia mais

Sockets. Bruno Guimarães Lucas Rossini

Sockets. Bruno Guimarães Lucas Rossini Sockets Bruno Guimarães Lucas Rossini Introdução Comunicação entre processos: Memória compartilhada Memória distribuída - Mensagens pela rede Um sistema distribuído é ausente de memória compartilhada,

Leia mais

Comunicação entre processos

Comunicação entre processos Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho [email protected] Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

Leia mais

Computação Distribuída

Computação Distribuída Roteiro da aula Sockets 1. UDP (User Datagram Protocol) 2. TCP ( (Transmission Control Protocol) 3. IP Multicast Invocação de Método M Remoto usando CORBA 1. Introdução 2. Modelo de Objeto 3. Entender

Leia mais

Programação de Sockets em C/C++

Programação de Sockets em C/C++ Programação de Sockets em C/C++ Redes de Comunicação 2011/2012 1 Programação de Sockets em C/C++ 2 TCP 3 UDP Introdução Os sockets são um método de criar conexão entre processos, independente do protocolo.

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local

Leia mais

Mecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/)

Mecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Mecanismos de Comunicação Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Sockets o que é? Um socket é um mecanismo de comunicação (dois sentidos) entre dois programas a funcionar

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação

Leia mais

Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Programação com Sockets Graça Bressan Graça Bressan/LARC 2000 1 Interface através de Sockets Socket é uma API ( Aplication Program Interface ) para acesso aos serviços do protocolo de

Leia mais

Sistemas Distribuídos Java Sockets

Sistemas Distribuídos Java Sockets Sistemas Distribuídos Java Sockets Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução a Java Sockets Socket é o ponto final de um enlace de

Leia mais

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

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn. Programação em Rede Baseada em Java Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.br/~affonso/cursos Definiçõs Básicas Uma rede é um conjunto de computadores

Leia mais

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO Engenharia Elétrica Eletrônica Tutorial: Programação

Leia mais

Sistemas Distribuídos. Coulouris Capítulo 4

Sistemas Distribuídos. Coulouris Capítulo 4 Sistemas Distribuídos Coulouris Capítulo 4 Mensagens Para comunicar-se com outros processos, um processo envia uma MENSAGEM para um DESTINO; um outro processo nesse destino recebe a mensagem. As operações

Leia mais

Relatório do Laboratório 3

Relatório do Laboratório 3 Relatório do Laboratório 3 Diogo Costa e Lucas Magrini Rigo 180188 e 161064 23 de setembro de 2011 Universidade Federal do Rio Grande do Sul INF01154 Redes de Computadores N For: Valter Roesler 1 Introdução

Leia mais

Sockets em Java. Leonardo R. Nunes - [email protected]. 1. Introdução. 2. Sockets TCP/IP

Sockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP Sockets em Java Leonardo R. Nunes - [email protected] 1. Introdução A comunicação entre processos de software tornou-se indispensável nos sistemas atuais. O mecanismo mais utilizado atualmente para

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão TROCA DE MENSAGENS SOCKETS Comunicando processos através de SOCKETS SOCKETS com conexão SOCKETS sem conexão SOCKETS Princípios dos sockets: 2. Fornecer uma interface geral permitindo a construção de aplicações

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite [email protected]

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite [email protected] Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

Leia mais

UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP

UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP Alan Jelles Lopes Ibrahim, [email protected] Eduardo Machado Real, [email protected]

Leia mais

Passagem de Mensagens

Passagem de Mensagens Passagem de Mensagens Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 22 de novembro de 2011 Francisco Silva (UFMA/LSD)

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2006/2007 c 2000 2006 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

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

Capítulo II Modelos de Programação Distribuída Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

sockets interprocess communication Taisy Weber

sockets interprocess communication Taisy Weber sockets interprocess communication Taisy Weber Comunicação entre processos Mecanismos Pipes, FIFO (named pipes), semáforos, message queues. Memória compartilhada. Sockets Definição, chamadas de sistemas,

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Java 2 Standard Edition Fundamentos de

Java 2 Standard Edition Fundamentos de Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo pretende apenas cobrir conceitos essenciais sobre programação em rede com Java Como criar um

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

Leia mais

Um Tutorial sobre Sockets Parte I

Um Tutorial sobre Sockets Parte I Um Tutorial sobre Sockets Parte I Por Antonio Marcelo Iniciando As grandes ferramentas utilizadas por especialistas de segurança, hackers e crakers tem como base a linguagem C ANSI ou C ++. Muitos dos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 5 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Estrutura básica Uma aplicação

Leia mais

Aula 2 Arquitetura de Redes. Prof. Dr. S. Motoyama

Aula 2 Arquitetura de Redes. Prof. Dr. S. Motoyama Aula 2 Arquitetura de Redes Prof. Dr. S. Motoyama 1 Arquitetura em camadas Arquitetura de RC Estruturar em camadas é decompor o problema de construção de uma rede em componentes gerenciáveis. A estruturação

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Sistemas Distribuidos 2012-2013 1º semestre Camadas

Leia mais

Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS

Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS Processo Usuário Processo Usuário SO IPC em um mesmo sistema 2 Processo Usuário Processo usuário

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Redes de Computadores e Aplicações

Redes de Computadores e Aplicações Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira

Leia mais

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em

Leia mais

MÓDULO 8 Modelo de Referência TCP/IP

MÓDULO 8 Modelo de Referência TCP/IP MÓDULO 8 Modelo de Referência TCP/IP A internet é conhecida como uma rede pública de comunicação de dados com o controle totalmente descentralizado, utiliza para isso um conjunto de protocolos TCP e IP,

Leia mais

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

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação

Leia mais

Introdução às Redes de Computadores. Por José Luís Carneiro

Introdução às Redes de Computadores. Por José Luís Carneiro Introdução às Redes de Computadores Por José Luís Carneiro Portes de computadores Grande Porte Super Computadores e Mainframes Médio Porte Super Minicomputadores e Minicomputadores Pequeno Porte Super

Leia mais

Redes de Computadores (PPGI/UFRJ)

Redes de Computadores (PPGI/UFRJ) Redes de Computadores (PPGI/UFRJ) Aula 1: Apresentação do curso e revisão de interface de sockets 03 de março de 2010 1 2 O que é a Internet 3 4 Objetivos e página do curso Objetivos Apresentar a motivação,

Leia mais

Camada de Transporte

Camada de Transporte Camada de Transporte Conceitos Básicos Redes de Computadores A. S. Tanenbaum Mário Meireles Teixeira. UFMA-DEINF Protocolos Protocolo: Conjunto de regras e formatos usados para comunicação entre entidades,

Leia mais

Programação com Sockets

Programação com Sockets Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas

Leia mais

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino [email protected]

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets API de Sockets introduzida no BSD4.1 UNIX, 1981 sockets são explicitamente criados, usados

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - MODELO DE REFERÊNCIA TCP (RM TCP) 1. INTRODUÇÃO O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande

Leia mais

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos [email protected]

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Prof. Ricardo Ribeiro dos Santos [email protected] Curso de Engenharia de Computação UCDB Julho/2003 Relembrando... Encapsulamento nas camadas de rede e protocolos 2-2 Relembrando...

Leia mais

Comunicação via Sockets. Prof. Orlando Loques - IC/UFF. versão 26-04-2001

Comunicação via Sockets. Prof. Orlando Loques - IC/UFF. versão 26-04-2001 Comunicação via Sockets Prof. Orlando Loques - IC/UFF versão 26-04-2001 Referências: - Slides Prof. Alexandre Sztajnberg, UERJ - Capítulo 15, Applied Operating System Concepts, Silberschatz & Galvin; Wiley

Leia mais

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

Tópicos em Sistemas Distribuídos. Modelos de Comunicação Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos

Leia mais

Prof. Marcelo Cunha Parte 5 www.marcelomachado.com

Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Criado em 1974 Protocolo mais utilizado em redes locais Protocolo utilizado na Internet Possui arquitetura aberta Qualquer fabricante pode adotar a sua

Leia mais

Comunicação em Sistemas Distribuídos

Comunicação em Sistemas Distribuídos Comunicação em Sistemas Distribuídos Sockets Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. sockets TCP, UDP IP Data Link Ethernet, Token Ring, FDDI, etc Física Conjunto de APIs

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em

Leia mais

Redes de Computadores II. Programação com Sockets em Python

Redes de Computadores II. Programação com Sockets em Python v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha [email protected] UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

Redes de Computadores I Conceitos Básicos

Redes de Computadores I Conceitos Básicos Redes de Computadores I Conceitos Básicos Prof. Luís Rodrigo [email protected] http://lrodrigo.lncc.br 2011/2 v3 2011.07.27 (baseado no material de Jim Kurose e outros) Histórico da Evolução das Redes Histórico

Leia mais

AULA Redes de Computadores e a Internet

AULA Redes de Computadores e a Internet UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Bacharelado em Ciência da Computação Disciplina: INF64 (Introdução à Ciência da Computação) Prof: Anilton Joaquim da Silva / Ezequiel

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets 00-0 Volnys Bernal 00-0 Volnys Bernal Agenda Introdução à Programação Sockets Volnys Borges Bernal [email protected] Departamento de Sistemas Eletrônicos Escola Politécnica da USP Interface de programação

Leia mais

MODELO CLIENTE SERVIDOR

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;

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES Conteúdo 1 Topologia de Redes 5 Escalas 5 Topologia em LAN s e MAN s 6 Topologia em WAN s 6 2 Meio Físico 7 Cabo Coaxial 7 Par Trançado 7 Fibra Óptica 7 Conectores 8 Conector RJ45 ( Par trançado ) 9 Conectores

Leia mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Motivação Realidade Atual Ampla adoção das diversas tecnologias de redes de computadores Evolução das tecnologias de comunicação Redução dos

Leia mais

Redes de Computadores Aula 3

Redes de Computadores Aula 3 Redes de Computadores Aula 3 Aula passada Comutação: circuito x pacotes Retardos e perdas Aula de hoje Protocolo em camadas Aplicações C/S x P2P Web Estruturando a Rede Como organizar os serviços de uma

Leia mais

Comparação SDs X Scs

Comparação SDs X Scs Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Socketsem Java ServerSocket/ Socket Gil Eduardo de Andrade Introdução Socketssão mecanismos de comunicação entre tarefas que permitem que aplicativos, em um mesma máquina ou em máquinas

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: [email protected] Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

MC823 Laboratório de Teleprocessamento e Redes

MC823 Laboratório de Teleprocessamento e Redes MC823 Laboratório de Teleprocessamento e Redes Primeiro Semestre 2008 Carlos R. Senna Prof. Edmundo R. M. Madeira Tecnologias de Comunicação 2 MC823 Funções para cliente-servidor UDP 3 well-known port

Leia mais

Implementando comunicação em JAVA via Sockets. Alcides Calsavara - [email protected] Leonardo R. Nunes - leonardo@sumersoft.

Implementando comunicação em JAVA via Sockets. Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft. Implementando comunicação em JAVA via Sockets Alcides Calsavara - [email protected] Leonardo R. Nunes - [email protected] Sockets Utilizado para comunicação entre processos; Compreendendo Sockets

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

Máquinas Multiníveis

Máquinas Multiníveis Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br [email protected] Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium

Leia mais

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet.

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet. Origem: Surgiu na década de 60 através da DARPA (para fins militares) - ARPANET. Em 1977 - Unix é projetado para ser o protocolo de comunicação da ARPANET. Em 1980 a ARPANET foi dividida em ARPANET e MILINET.

Leia mais

Comunicação. Parte II

Comunicação. Parte II Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor

Leia mais

Professor: Gládston Duarte

Professor: Gládston Duarte Professor: Gládston Duarte INFRAESTRUTURA FÍSICA DE REDES DE COMPUTADORES Computador Instalação e configuração de Sistemas Operacionais Windows e Linux Arquiteturas físicas e lógicas de redes de computadores

Leia mais