Top Banner
Sistemas Distribuídos Thaís Vasconcelos Batista UFRN – DIMAp http://www.dimap.ufrn.br/~thais [email protected]
39

Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Dec 14, 2018

Download

Documents

doantram
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas Distribuídos

Thaís Vasconcelos BatistaUFRN – DIMAp

http://www.dimap.ufrn.br/[email protected]

Page 2: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Programa do CursoINTRODUÇÃO

Conceitos Básicos Sistemas em Rede X Sistemas DistribuídosNecessidade de Sistemas DistribuídosAspectos de Projeto de Sistemas Distribuídos

MODELOS DE ORGANIZAÇÃO DE SISTEMAS DISTRIBUÍDOS

Cliente-ServidorParesFiltros

Page 3: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Programa do Curso (cont.)SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS

Necessidade de SincronizaçãoSemáforosMonitoresProblema Clássico de SincronizaçãoDeadlock e Starvation

========= 1a. Prova ==========

COMUNICAÇÃO ENTRE PROCESSOSTipos de ComunicaçãoSocketChamada Remota de Procedimento (RPC)

Page 4: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Programa do Curso (cont.)THREADS

Threads x ProcessosNecessidade de ThreadsProgramação com Threads

MIDDLEWAREConceitosCORBA

ESTUDO DE CASO

Page 5: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Bibliografia Andrew Tanembaum – Distributed Operating System. Prentice-Hall, 1995.George Couloris et al. – Distributed Systems: Concepts and Design. Addison-Wesley, 1994.Douglas Commer – Internetworking with TCP/IP –Vol. I, II e III. Prentice-Hall, 1998.W. Richard Stevens – Unix Network Programming. Prentice-Hall, 1990.Jon Siegel – CORBA Fundamentals and Programming. John Wiley & Sons, 1996.

Page 6: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistema Distribuído

Conjunto de máquinas (CPU + memória) interligadas em rede.

Processador 1Memória 1

Processador 2Memória 2

Processador 3Memória 3

Rede

Page 7: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistema DistribuídoSistema operacional distribuído trata este conjunto como um único sistema computacional.

Processador 1Memória 1

rede

Estação 1 Estação 2 Estação 3

Disco Disco Disco

Processador 2Memória 2

Processador 3Memória 3

Page 8: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Aplicações DistribuídasAplicações que “se espalham” por várias máquinas.

aplicações concorrentes onde cada processo que compõe a aplicação pode ser executado em uma máquina arbitrária

Em sistemas distribuídos: qualquer aplicação pode ser executada de forma distribuída.Em sistemas operacionais convencionais: aplicação deve ser programada de forma explicitamente distribuída.

Page 9: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Conceitos BásicosParalelismo:

vários processos executando simultaneamente em vários computadores compartilhando ou não memóriaSó é possível em Sistemas multiprocessadores.

Pseudo-Paralelismo (Paralelismo Abstrato):vários processos compartilhando um mesmo processador ou outros recursos de um computador.Ilusão de que vários programas estão rodando ao mesmo tempo

Page 10: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas Paralelos

Barramento

Cache

Processo A

Cache

Processo B

Cache

Processo CSistema Operacional

Fila Execução: D, E

A (executando)B (executando)C (executando)

Disco

D (pronto)E (pronto)

Memória

Page 11: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistema Distribuído X Sistema Paralelo

Processador 1Memória 1

Processador 2Memória 2

Processador 3Memória 3

Red

Sistema Distribuído:

Sistema Paralelo ou Memória Compartilhada:

Processador 1 Processador 2 Processador 3

Memória

Sistema todo age como um sistema clássico de processador único

Page 12: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Paralelização de ProblemasDiminuição do tempo necessário para obter o resultado de uma computação;Um programa paralelo poderia igualmente ser executado em um sistema distribuído ou em uma máquina paralela;Execução em sistema distribuído permite que o recurso de processamento tenha várias funções;Viabilidade depende da quantidade de comunicação necessária.

Page 13: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas Operacionais de RedeConjunto de máquinas interligadas em rede.

Sistema operacional inclui funções para comunicação remota

Processador 1Memória 1

Disco Disco Disco

Processador 2Memória 2

Processador 3Memória 3

Executar processo X na estação 2

Estação 3Estação 1 Estação 2

rede

Page 14: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas Operacionais de Rede

Login RemotoTELNET

Transferência de ArquivosFTP

Page 15: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

SO de Rede X SO DistribuídoSistema Distribuído

Conjunto de Computadores que age como uma única máquina (Sistema Coeso)Requisito Fundamental: Transparência

Sistema em RedeColeção de computadores independentes

Page 16: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

ConcorrênciaPrograma Concorrente:

Concorrência = várias tarefas em progresso ao mesmo tempoprogramas executados em paralelismo ou pseudo-paralelismo

Tipicamente, em pseudo-paralelismo o processo não tem controle sobre o instante em que perderá o controle da CPU

Page 17: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Exemplos de Concorrência

Sistema Operacional

gerenciamento de arquivos

gerenciamento de memória

suporte a comunicação

aplicação: acesso a base de dados

administrador consultando log

programa batch atualizando dados

usuário interativo consultando base

Page 18: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Conceitos Básicos

Processador 1Memória 1

Processador 2Memória 2

Processador 3Memória 3

Sistema Distribuído:

Sistema Paralelo ou Memória Compartilhada:

Processador 1 Processador 2 Processador 3

Memória

Page 19: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas DistribuídosFinalidade

Compartilhamento de Dados

Compartilhamento de Recursos (Periféricos, CPU)

Comunicação entre Pessoas

Flexibilidade

Page 20: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas DistribuídosCaracterísticas

Mecanismo de Comunicação entre Processos

Kernels idênticos em cada máquina do Sistema

Mesmo Gerenciamento de Processos em todas as máquinas

Mesmo Sistema de Arquivos

Page 21: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas DistribuídosProblemas

Pouco Software

Dependência da Rede

Saturação e Falhas na rede afetam o sistema

Segurança

O fácil acesso aos dados também se aplica aos dados secretos

Page 22: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Sistemas DistribuídosRequisitos de Software

Transparência

Flexibilidade

Confiabilidade

Desempenho

Escalabilidade

Page 23: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência

A Nível de Usuário

A Nível do Programador

Page 24: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência

Localização

Migração

Replicação

Concorrência

Paralelismo

Page 25: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência de Localização

Usuário não precisa saber onde se encontra o recurso

Nome do Recurso não incorpora a sua localização

arq1.carq1.c arq1.c

oxum oxalá obaluaê logum-ede

Page 26: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência de Migração

Liberdade de MigraçãoSem mudança de nomeSem conhecimento do usuário

arq1.carq1.c arq1.c

oxum oxalá obaluaê logum-ede

Page 27: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência de Replicação

Usuário não precisa saber da replicação

arq1.c

oxalá

arq1.c

obaluaê

arq1.c

oxum logum-ede

arq1.c

Page 28: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência de Concorrência

Sistema se encarrega da Exclusão Mútua ao recurso compartilhado

Page 29: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Transparência de Paralelismo

Sistema Operacional + Compilador efetivem o paralelismo

Page 30: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Flexibilidade

Usuário

Microkernel

Servidor de Processos

Microkernel

Servidor de Diretório

Microkernel

Servidor de Arquivos

Microkernel

Rede

Kernel Monolítico

Micro Kernel

Usuário

kernelMonolítico

Inclui Arquivos,Diretórios e Gerenciamento de Processos

Page 31: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Kernel Monolítico x Microkernel

Vantagens do MicroKernelInterface modular para cada serviçosimplicidade no adicionamento ou mudança de um serviço Flexibilidade

Vantagem do Kernel MonolíticoDesempenho

Page 32: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Confiabilidade

Disponibilidade

Segurança

Tolerância a Falhas

Page 33: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Classes de Aplicações Distribuídas

Aplicações Inerentemente Distribuídas

Aumento de Desempenho

Aplicações Tolerantes a Falha

Aplicações usando especialização funcional

Page 34: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Aplicações de Natureza Distribuída

sistemas para comunicação: correio eletrônico, teleconferência, www, etc;programas para manutenção da própria rede: algoritmos de roteamento, gerenciamento da rede, etc;sistemas operacionais distribuídos;ambientes de trabalho em grupo: desenvolvimento de software e de documentos;jogos...

Page 35: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Distribuição FuncionalDeterminadas máquinas podem ter configurações de hardware ou software mais apropriadas para execução de dadas tarefas:

sistemas de arquivos

processamento numérico

capacidade de memória

Page 36: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

Requisitos para Suporte a Programação Distribuída

controle do uso de múltiplos processadores

cooperação entre os processadores (comunicação e sincronização)

potencial para detectar e recuperar uma falha parcial do Sistema

Page 37: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

ProcessoPrograma em execuçãoConceito central de Sistemas OperacionaisPossui todas as informações necessárias para executar um programa:

um programa executávelseus dados seu contador de programasua pilha de execuçãoregistradoresetc.

Page 38: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

ProcessoEm um Sistema de Tempo Comparilhado (Timesharing) periodimente o SO pára de executar um processo e começa a executar outro processo (realiza preempção)Todas as informações sobre cada processo são armazenadas na Tabela de Processos

ABCD

Tempo

Processos

Page 39: Apresentação do PowerPoint - dimap.ufrn.brthais/SD2003/aula1.pdf · Kernel Monolítico Micro Kernel Usuário kernel Monolítico Inclui Arquivos, Diretórios e Gerenciamento de Processos.

ProcessoProcessos Daemon: (UNIX)

é um processo que executa em “background” esperando que algum evento ocorra para que ele possa realizar alguma tarefa Exemplo:

Daemon de Impressão