Sistemas Distribuídos



Documentos relacionados
Sistemas Distribuídos Capítulo 3 - Aula 3

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

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

Processos. Adão de Melo Neto

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos

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

Sistemas Distribuídos

Processos (Threads,Virtualização e Migração de Código)

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

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Processos e Threads (partes I e II)

Arquitetura de Sistemas Operacionais

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

Programação Concorrente Processos e Threads

MODELO CLIENTE SERVIDOR

Sistemas Distribuídos

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

Redes de Computadores Aula 3

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Sistemas Operacionais

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

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Sistemas Distribuídos. Aleardo Manacero Jr.

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

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

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

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

Sistemas Operacionais

Sistema Operacional Correção - Exercício de Revisão

Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Introdução ao Modelos de Duas Camadas Cliente Servidor

7 Processos. 7.1 Introdução

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Características Carlos Ferraz

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal

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

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

SISTEMAS DISTRIBUÍDOS

Como conectar-se à rede Sem Fio (Wireless) da UNISC. Pré-Requisitos:

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

Permite o acesso remoto a um computador;

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

SISTEMAS DISTRIBUIDOS

Documento de Análise e Projeto VideoSystem

3 SCS: Sistema de Componentes de Software

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Sistemas Operacionais

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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Rede de Computadores (REC)

Notas da Aula 4 - Fundamentos de Sistemas Operacionais


Sistemas Distribuídos

AULA Redes de Computadores e a Internet

4º Semestre. Aula 15 Serviços Internet (FTP)

Considerações no Projeto de Sistemas Cliente/Servidor

Rede de Computadores

Softwares Aplicativos Banco de Dados

Sistemas Distribuídos

Servidor Proxy armazenamento em cache.

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

Sistemas Distribuídos Aula 15

Sistemas Distribuídos Grupos

Sistemas Distribuídos

PROCESSOS. Prof. Maicon A. Sartin

Sistemas Operacionais Processos e Threads

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 2- Aplicações distribuídas e TI VERDE

Infra-Estrutura de Software. Introdução. (cont.)

Sistemas Distribuídos. Introdução

Entendendo como funciona o NAT

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

REDES DE COMPUTADORES

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

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

Redes de Computadores

Redes de Computadores

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Arquitetura de Sistemas Operativos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Procedimentos e Recursos Técnicos

Informática I. Aula Aula 22-03/07/06 1

Política de Utilização da Rede Sem Fio (Wireless)

Sistemas Distribuídos

Sistemas Operacionais

Sistemas Operacionais

Transcrição:

Sistemas Distribuídos Aula 3 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

Processos Um processo é um programa em execução, ou melhor, um ambiente onde se executa um programa. C ontexto de Softw are C ontexto de H ardw are Programa Espaço de Endereça mento

Revisitando Processos e Threads Informações referentes a um processo priorida de de execuçã o owner (UID) nome PID reg istradores g erais reg istrador PC data/hora de criação C ontexto de Software C ontexto de H ardware tempo de processador reg istra dor SP quota s privilég ios Program a Espaço de Endereça mento reg istrador de status

Revisitando Processos e Threads Quando um processo é interrompido para que outro processo utilize a CPU, é realizada a Troca de Contexto. Processo A Salva BCP de PA Carrega BCP de PB executando Salva BCP de PB Carrega BCP de PA

Revisitando Processos e Threads Num sistema multithread, cada thread do processo possui o seu contexto de hardware e software (pois uma thread disputa a CPU com as outras threads e processos). A diferença com os sub processos é que todas as threads de um processo compartilham o mesmo espaço de endereçamento (gerando concorrência entre as threads).

Contexto de software Revisitando Processos e Threads Contexto de hardware Contexto de hardware Contexto de hardware Thread 1 Thread 2 Espaço de endereçam ento Thread 3

... Contexto de Hardware Contexto de Hardware Contexto de Hardware... Revisitando Processos e Threads Processo Espaço de endereçamento Variáveis Thread_1 Programa Principal Call Sub_1 PC SP Call Sub_2 Fim Thread_2 Sub_1 PC SP Ret Thread_3 Sub_2 PC SP Ret

Threads em Sistemas não Distribuídos Evitar que, ao se executar uma chamada bloqueadora, o processo seja bloqueado como um todo! E/S CPU E/S CPU tempo tempo

Threads em Sistemas não Distribuídos Exemplos????

Threads em SDs Em sistemas distribuídos, a utilização de threads é atrativa dado que facilitam muito a comunicação possibilidade de manter múltiplas conexões lógicas ao mesmo tempo Exemplo: Uma aplicação P2P, onde é necessário receber informações dos vizinhos, processar algum algoritmo de decisão de mudança de topologia e atender novas requisições

Clientes Multithreads Conforme vimos, sistemas distribuídos que operam em redes de grandes distância, devem buscar algum mecanismo de ocultar a latência de obtenção de informações Transparência! Consideremos um cliente Web... Como implementar multithreading?

Clientes Multithreads Em um browser Web... Um documento Web consiste em um grande número de objetos A busca de cada objeto de uma página HTML será feita após estabelecimento de uma conexão TCP Estabelecimento e leitura de dados são operações bloqueadoras

Clientes Multithreads Em um browser Web... Com uma conexão persistente com paralelismo: Requisições são feitas sem que os objetos precedentes tenham chegado no cliente Cliente é capaz de manipular diversos fluxos em paralelo Threads

Clientes Multithreads Caso os dados estejam espalhados por diversas réplicas de servidores... A utilização de threads possibilita os clientes estabelecerem diversas conexões, em paralelo, com o objetivo de disponibilizar um único documento

Servidores Multithreads Servidor Multithread no modelo despachante/operário

Servidores Multithreads Para suportar e possibilitar um melhor desempenho de clientes WEB multithreading, servidores WEB devem ser implementados para suportar múltiplas conexões de diferentes (ou dos mesmos) usuários.

Servidores Questões gerais de projeto Iterativo ou Concorrente? Para onde os clientes enviam requisições? Como encerrar um serviço? Manter ou não o estado de um cliente?

Servidores Iterativo ou Concorrente? Iterativo: O servidor é implementado através de um processo único, retirando a requisição do cliente e tratando-a Concorrente: O processo servidor não manipula a requisição propriamente dita, mas a passa para uma thread separada ou um outro processo.

Servidores Para onde os clientes enviam requisições? Requisições são enviadas a um processo servidor através de uma porta Para alguns serviços, são atribuídas portas padrão: HTTP 80, FTP 21, SSH 22 Em alguns casos, pode-se implementar um daemon, que escuta uma porta conhecida e redireciona a requisição para a porta do serviço No caso Unix, inetd

Servidores Para onde os clientes enviam requisições?

Servidores Como encerrar um serviço? Considere um usuário transmitindo um arquivo via ftp e que decide interromper o servidor para cancelar a transferência Servidor encerra, após um tempo, a conexão Servidor possui uma conexão de controle Servidor trata, em uma mesma conexão, dados urgentes

Servidores Manter ou não o estado de um cliente? Servidor sem estado: Não mantém informações sobre os estados de seus clientes e pode mudar o seu estado sem ter que informar a nenhum cliente Exemplos: Servidor Web, Servidor de arquivos

Servidores Manter ou não o estado de um cliente? Servidor sem estado: Em alguns casos, servidores Web podem guardar informações dos clientes Podemos ter um servidor sem estado, que guarde informações de clientes, MAS ESTAS INFORMAÇÕES NÃO SÃO ESSENCIAIS PARA O FUNCIONAMENTO!!!

Servidores Manter ou não o estado de um cliente? Servidor com estado: Mantém informações persistentes sobre os seus clientes. Exemplo: servidor de arquivos que permite um cliente manter cópia local de um arquivo servidor guarda os clientes que têm permissão de mudanças no arquivo antes de atualizá-lo no localmente

Fim da Aula 3. Sistemas Distribuídos: Msc. Daniele C. Oliveira 25