Programação distribuída e paralela (C. Geyer) RPC 1

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

Download "Programação distribuída e paralela (C. Geyer) RPC 1"

Transcrição

1 Programação distribuída e paralela (C. Geyer) RPC 1

2 Autores C. Geyer Local II-UFRGS Versão v Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC 2

3 Bibliografia base original dos slides Andrews, G. Concurrent Programming: Principles and Practice outras Tanenbaum, A. (MOD, SOD, SD) Coulouris et al. Distributed Systems: Concepts and Design. Todas as edições. Andrews, G. Foundations of Multithreaded, Distributed and Parallel Programming Programação distribuída e paralela (C. Geyer) RPC 3

4 Súmula motivação conceito modelo de programação concorrência exemplo servidor de tempo Programação distribuída e paralela (C. Geyer) RPC 4

5 Motivação TM síncrona e assíncrona aplicáveis em diversos modelos de comunicação: filtros, peers (pares), cliente-servidor filtros e pares: comunicação unidirecional modelo cliente-servidor comunicação bidirecional cliente envia mensagem a servidor servidor envia resultado a cliente 2 send s e 2 receive s 1 canal para cada cliente-resposta muitos canais programador deve gerenciar os canais Programação distribuída e paralela (C. Geyer) RPC 5

6 Características do RPC apropriado para modelo cliente-servidor combinação de TM síncrona e monitores invocação por comando call comunicação bidirecional retarda call (cliente) até final do serviço e retorno dos resultados atendimento especificação de uma procedure: elemento passivo criação automática de uma processo, ou thread, (executa a procedure) para atender cada chamada Programação distribuída e paralela (C. Geyer) RPC 6

7 Exemplos de SO, linguagens e mw com RPC (ou evolução) SO Solaris da Sun Versões de Unix Windows CORBA Java/RMI Windows/DCOM C#/remote J2EE/EJB Programação distribuída e paralela (C. Geyer) RPC 7

8 Modelo Andrews Componente Módulo (resource em SR) contém procedures processos (ou threads) Processos em mesmo Módulo compartilham variáveis chamam qualquer procedure do módulo Programação distribuída e paralela (C. Geyer) RPC 8

9 Processos de outros módulos podem chamar procedures especiais procedures visíveis externanmente Procedures especiais especificadas por header separado do corpo (op em SR) corpo obs.: essa distinção é necessária para otimizar a implementação Por exemplo, procedures locais x procedures remotas Programação distribuída e paralela (C. Geyer) RPC 9

10 Forma geral de um módulo module Nome-módulo headers das procedures especiais body declarações de variáveis código de inicialização corpo das procedures especiais procedures locais: header e corpo processos end Programação distribuída e paralela (C. Geyer) RPC 10

11 Especificação de procedure especial op NomeProcedure (lista-args-formais) ou op NomeProcedure (lista-args-formais) result Resultado a lista de argumentos formais (lista-args-formais) é opcional Programação distribuída e paralela (C. Geyer) RPC 11

12 Corpo procedure especial proc NomeProcedure (lista -identificadores-args-formais) ou proc NomeProcedure (lista-...) returns Resultado variáveis locais comandos end Chamada de procedure especial call NomeMódulo.NomeProcedure (lista-args-reais) SR: NomeMódulo.NomeProcedure (lista-args-reais) Programação distribuída e paralela (C. Geyer) RPC 12

13 Opções Módulo Nem sempre há o conceito de módulo Há somente um conjunto de procedures em um único módulo anônimo Chamadas: somente o nome da procedure e argumentos opcionais call NomeProcedure (lista-args-reais) Programação distribuída e paralela (C. Geyer) RPC 13

14 Implementação: 2 opções básicas espaço de endereçamento próprio para o atendimento novo (ou adicional) processo para execução da proc novo processo é encerrado após execução da procedure atendimento no mesmo espaço de endereçamento da chamada é possível o uso do mesmo processo da chamada (como em linguagens seqüenciais) mais eficiente possível somente em memória compartilhada entre cliente e servidor Programação distribuída e paralela (C. Geyer) RPC 14

15 Esquema do fluxo de controle Processo cliente (chamador) Processo servidor (procedure) Programação distribuída e paralela (C. Geyer) RPC 15

16 Sincronização no lado servidor restrição de 1 processo (thread) por módulo exclusão mútua sobre variáveis compartilhadas não é necessária sincronização de condição é necessária 1 processo permite (avisa) a entrada de outro (como em monitores) codificação do servidor é mais simples implementação mais eficiente: troca de contextos somente em pontos específicos entrada e saída da procedure; wait similar ao conceito de monitor Programação distribuída e paralela (C. Geyer) RPC 16

17 Sincronização no lado servidor vários processos por módulo mais eficiente em multiprocessadores com memória compartilhada permite tempo compartilhado entre atendimentos de diversas chamadas requisições mais curtas não esperam pelas mais longas uso obrigatório de mecanismos de controle de concorrência no acesso a variáveis compartilhadas semáforos,... Programação distribuída e paralela (C. Geyer) RPC 17

18 Implementação: outras questões Argumentos Ponteiros Estruturas de dados dinâmicas Tratamento de falhas Transientes na rede Crash na rede Crash na máquina cliente Crash na máquina servidora Como cliente localiza máquina do servidor (módulo)? Ou se permitir diversos módulos em 1 máquina, como identifica/localiza módulo? Programação distribuída e paralela (C. Geyer) RPC 18

19 Exemplo servidor de tempo operações (serviços) gettime: retorna tempo delay(intervalo): bloqueia o cliente em intervalo unidades de tempo processo interno: incrementa relógio local (lógico) a cada interrupção do relógio físico (hardware) tod: variável relógio lógico compartilhada em leitura não precisa de exclusão mútua no atendimento Programação distribuída e paralela (C. Geyer) RPC 19

20 Exemplo Time Server module TimeServer # Exemplo de servidor concorrente em RPC # Função: servidor de tempo # gettime() -> retorna tempo # delay(interval) -> espera interval # Andrews, G. Concurrent Programming. pgs. 488 op gettime() returns time: int op delay(interval: int) body var tod := 0 # valor do relógio var m: sem := 1 # semáforo mutex var d[1:n]: sem := ([n] 0) # sems. de sinalizaç. # fila de processos (clientes) em espera var napq: queue of (waketime, process_id: int) Programação distribuída e paralela (C. Geyer) RPC 20

21 Exemplo Time Server (cont.) # procedure que retorna hora proc get_time() returns time time := tod end # procedure que coloca cliente em espera proc delay(interval) # calcula hora de despertar var waketime: int := tod + interval P(m) insert(waketime, myid) V(m) P(d[myid]) end Programação distribuída e paralela (C. Geyer) RPC 21

22 Exemplo Time Server (cont.) # processo: a) atualiza relógio; b) acorda processos Clock:: do true -> inicializa HW time; espera por interrupção P(m) tod := tod + 1 do tod >= menor waketime on napq -> remove(waketime, id) from napq V(d[id]) od V(m) od end Programação distribuída e paralela (C. Geyer) RPC 22

23 Exercício E1: Modele a implementação da difusão em árvore usando RPC Compare com a solução usando comunicação assíncrona E2: idem E1 mas difusão para grafo Programação distribuída e paralela (C. Geyer) RPC 23

24 Equivalência entre RPC e pares send-receive (S-R) RPC chamada equivalente a send a proc com argumentos (cria processo, dinamicamente) receive para receber resultado, enviado explicitamente pelo servidor Programação distribuída e paralela (C. Geyer) RPC 24

25 Equivalência entre RPC e send-receive esquema RPC op Servico(val X: int; var Y, Z: int)... process Q var A, B, C: int... call P(A, B, C)... end... proc Servico(X, Y, Z) Z := X + 4; Y -:= 10 end Programação distribuída e paralela (C. Geyer) RPC 25

26 Equivalência entre RPC e send-receive (cont.) esquema pares send-receive op Servico(X, Y: int), Resultado(Y, Z: int)... process Q var A, B, C: int... send Servico(A, B) receive Resultado(B, C)... end... Programação distribuída e paralela (C. Geyer) RPC 26

27 Equivalência entre RPC e send-receive (cont.) esquema pares send-receive (cont.) proc Servico(X, Y) var Z: int Z := X + 4 Y -:= 10 send Resultado(Y, Z) end Programação distribuída e paralela (C. Geyer) RPC 27

28 Equivalência entre RPC e send-receive (cont.) diferenças 1 especificação (op) do serviço em RPC : 2 especificações (op) em S-R call de RPC : send-receive pelo cliente em S-R envio implícito de resultados em RPC : envio explícito por send em S-R Programação distribuída e paralela (C. Geyer) RPC 28

29 Equivalência entre RPC e send-receive (cont.) envio de resultados para n clientes RPC S-R nomeação implícita do cliente não precisa de op de resultado mais simples pode-se usar a chamada em expressões (quando op com result) uma especificação de resultado por cliente canal de resultado deve ser passado na chamada (argumento do send) Programação distribuída e paralela (C. Geyer) RPC 29

30 Equivalência entre RPC e send-receive (cont.) pares send-receive útil se cliente pode realizar alguma tarefa extra entre o send e o receive Programação distribuída e paralela (C. Geyer) RPC 30

31 RPC em filtros ou peers exemplo filtro merge cada processo filtro recebe valores ordenados de 2 vizinhos filtros intercala (merge) os valores recebidos envia os valores ordenados a um terceiro vizinho filtro rede de (N - 1) processos filtros classifica N valores problema: RPC não permite comunicação (direta) entre processos solução: comunicação indireta via procedures (buffers) Programação distribuída e paralela (C. Geyer) RPC 31

32 RPC em filtros ou peers exemplo filtro merge filtro merge filtro merge 3 1 filtro merge 3, 1 filtro merge Programação distribuída e paralela (C. Geyer) RPC 32

33 RPC em filtros ou peers (cont.) comunicação de entrada por RPC 2 proc s chamadas pelos filtros produtores (à esquerda na figura) implica uso de controle de concorrência (semáforos, por exemplo) para sincronização evitar que valor anterior seja destruído pelo seguinte antes de ser consumido comunicação de saída por RPC chama 2 vezes procedure idêntica do filtro consumidor (à direita) Programação distribuída e paralela (C. Geyer) RPC 33

34 Revisão Qual tópico (finalidade)? Motivação? Características básicas? Direção Sincronismo Concorrência Implementações Programação distribuída e paralela (C. Geyer) RPC 34

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1 Remote Procedure Call Programação distribuída e paralela (C. Geyer) RPC 1 Autoria Autores C. Geyer Local II-UFRGS Versão V11.4 2014-2 Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

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

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014

Leia mais

CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 PLANO DE CURSO

CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 PLANO DE CURSO CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 Componente Curricular: Sistemas Concorrentes e Distribuídos Código: ENG - 436 Pré-requisito:

Leia mais

Monitores. Conceito Sistemas Operacionais II

Monitores. Conceito Sistemas Operacionais II Monitores Conceito Sistemas Operacionais II Monitores Autores Daniel Artur Seelig Fábio Lutz Local Universidade Federal do Rio Grande do Sul Instituto de Informática Sistemas Operacionais II Professor

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

Ciência de Computadores Sistemas Distribuídos e Móveis

Ciência de Computadores Sistemas Distribuídos e Móveis Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,

Leia mais

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Sistemas Distribuídos 59. Sistemas Distribuídos 61. Receive não-bloqueante: Comunicação entre processos! Memória Compartilhada: " os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Área Compartilhda!

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 4 Estilos Arquitetônicos Estilos Arquiteturais Dataflow

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Introdução Os sistemas operativos implementam mecanismos que asseguram independência entre processos (i.e., a execução de um processo

Leia mais

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistemas Distribuídos. Aleardo Manacero Jr. Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

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

http://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br

http://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br http://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br Características O que são os Sistemas Distribuídos? Benefícios : Não são consequências automáticas da distribuição;

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

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer Disciplina de Sistemas Distribuídos Sincronização em SD Prof. M.Sc. Alessandro kraemer@utfpr.edu.br Cronograma Contextualização Tipos de sincronização Mecanismos para sincronização da região crítica Exclusão

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016 Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade

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 Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

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

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013 Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular

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 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

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

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

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais

Sincronização de Processos (5) Troca de Mensagens

Sincronização de Processos (5) Troca de Mensagens Sincronização de Processos (5) Troca de Mensagens Passagem (Troca) de Mensagens Motivação: Semáforos e algoritmos de exclusão mútua são baseados no compartilhamento de variáveis. Isso implica no compartilhamento

Leia mais

Sistemas Distribuídos e Redes de Sensores

Sistemas Distribuídos e Redes de Sensores Aula 5: abril de 2013 sobre nosso exemplo cliente-servidor servidor espera pedido e passa a tratá-lo e pedidos que cheguem durante tratamento? cliente envia pedido de leitura... pode ou não receber resposta?

Leia mais

Programação de Sistemas

Programação de Sistemas 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

Leia mais

Programação de Sistemas

Programação de Sistemas 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

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS Arquiteturas www.pearson.com.br capítulo 2 slide 1 2.1 Estilos Arquitetônicos Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

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

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos 1 de 9 Sistemas Distribuídos O que é um sistema distribuído? Um conjunto de computadores autonomos a) interligados por rede b) usando um software para produzir uma facilidade de computação integrada. Qual

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software Resumo até aqui Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma máquina estendida abstrações SO como um

Leia mais

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA SUMÁRIO Introdução Comunicação entre objetos distribuídos Eventos e Notificações 1.INTRODUÇÃO Middleware oferece: Transparência de localização Independência de protocolos

Leia mais

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

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013 MC714 Sistemas Distribuídos 2 semestre, 2013 Tipos de comunicação Middleware: serviço intermediário na comunicação de nível de aplicação. Fig. 67 Ex.: correio eletrônico Comunicação é persistente. Middleware

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

Sincronização. Cooperação entre Processos

Sincronização. Cooperação entre Processos Sincronização Parte II Programação Concorrente Cooperação entre Processos Vários processos executam em conjunto uma ou mais tarefas, nas quais Competem por recursos Indicam uns aos outros a: Ausência/existência

Leia mais

Programação Concorrente

Programação Concorrente Programação Concorrente Monitores e Troca de Mensagens Monitores Considere que, no projeto da solução do produtor-consumidor com semáforos, os 2 downs tenham sido trocados Se o buffer estiver cheio deadlock

Leia mais

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

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

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

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.

Leia mais

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

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

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 Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br Tópicos da Aula Apresentação do curso Introdução Definição de sistemas distribuídos Exemplo Vantagens e desvantagens Convergência digital Desafios Visão

Leia mais

Threads em Java. Sistemas Operacionais - Laboratório Professor Machado

Threads em Java. Sistemas Operacionais - Laboratório Professor Machado Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicaçã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

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos

Leia mais

Pg. Autoria. Versão atual V10, nov 2008 C. Geyer. Sistemas de Arquivos Distribuídos: DFS. Projeto de. Sistemas de Arquivos Distribuídos (DFS) Súmula

Pg. Autoria. Versão atual V10, nov 2008 C. Geyer. Sistemas de Arquivos Distribuídos: DFS. Projeto de. Sistemas de Arquivos Distribuídos (DFS) Súmula Autoria 1 versão Alunos de disciplina do PPGC Sistemas de Arquivos Distribuídos: DFS Versão atual V10, nov 2008 C. Geyer Sistemas Distribuidos Sistema de Arquivos Distribuídos 1 Sistemas Distribuidos Sistema

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Comunicação em Sistemas Distribuídos Sumário Modelo Cliente e Servidor Troca de Mensagens Remote Procedure Call Comunicação

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Conceitos de HW em SD Multiprocessadores e Multicomputadores Conceitos de SW

Leia mais

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN 2003.1

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN 2003.1 Programação de Sistemas para Tempo Real Capítulo 1 Luiz Affonso Guedes DCA-CT-UFRN 2003.1 Conteúdo Programático Capítulo 1: Introdução aos Sistemas de Tempo Real Definição, caracterização e classificação

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa ELEMENTOS DE PROTOCOLOS DE TRANSPORTE Fabricio Sousa Elementos de protocolos de transporte 2 Serviço de transporte implementado por um protocolo de transporte usado entre duas entidades de transporte Em

Leia mais

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

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA 26. Considerando o sistema de numeração Hexadecimal, o resultado da operação 2D + 3F é igual a: a) 5F b) 6D c) 98 d) A8 e) 6C 27. O conjunto

Leia mais

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress. Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.

Leia mais

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar

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

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador) Multiprocessamento Multiprocessadores com memória distribuída (multicomputador) Conjunto de processadores, cada qual com sua memória local Processadores se comunicam por troca de mensagens, via rede de

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

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos Sistemas Operacionais Capítulo 7 Sincronização e Comunicação entre Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - Threads 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Threads Processos Threads Conceituação Descrição e Imagem de uma Thread Tipos de thread

Leia mais

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

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO Serviços de impressão Os serviços de impressão permitem compartilhar impressoras em uma rede, bem como centralizar as tarefas de gerenciamento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

Leia mais

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Padrões Arquiteturais. Sistemas Distribuídos: Broker Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

Modelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br

Modelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br Modelos Fundamentais Carlos Ferraz cagf@cin.ufpe.br O que vimos até agora (I) História Anos 60-70: sistemas centralizados (caros!) Anos 80: computadores pessoais (acessórios caros e pouco aproveitáveis!

Leia mais

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Paradigma Cliente/Servidor

Paradigma Cliente/Servidor Paradigma Cliente/Servidor Mário Meireles Teixeira UFMA Departamento de Informática Dezembro, 2012 Comunicação em Sistemas Distribuídos! Os processos em um SD estão lógica e fisicamente separados. Precisam

Leia mais

Threads. 8 de janeiro de 2015

Threads. 8 de janeiro de 2015 1 / 24 Erick Nilsen Pereira de Souza T002 - Sistemas Operacionais e Org. Computadores Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 8 de janeiro de 2015 2 / 24 Agenda Tópicos

Leia mais

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos Paradigmas em Sistemas Distribuídos Paradigmas em Sistemas Distribuídos Nomes e Endereçamento Troca de Mensagens Operações emota Comunicação em Grupo Time e Clocks Sincronismo Ordenação Coordenação Consistência

Leia mais