A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos"— Transcrição da apresentação:

1 Sistemas Distribuídos
05/04/2017 Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 03

2 Tópicos Características Tendências
05/04/2017 Tópicos Características Tendências Suporte à Programação Distribuída: Introdução Conceitos

3 Caracterização de SD Características principais -> benefícios:
05/04/2017 Caracterização de SD Características principais -> benefícios: Compartilhamento de recursos Flexibilidade Concorrência (cont.)

4 Características (cont.)
05/04/2017 Características (cont.) Escalabilidade (operação efetiva e eficiente em qualquer escala) Robustez Tolerância a falhas Disponibilidade Transparência

5 Tipos de Transparência
05/04/2017 Tipos de Transparência Localização: acesso sem conhecimento de localizacao Acesso: operações idênticas para acesso local e remoto Migração: sem afetar operação Concorrência: sem interferência entre concorrentes

6 Tipos de Transparência (cont.)
05/04/2017 Tipos de Transparência (cont.) Falha: completar tarefas apesar de falhas Replicação: sem conhecimento das réplicas Desempenho: reconfigura sistema variando cargas Escala: expansão sem mudanças na estrutura do sistema

7 Tendências Multimídia distribuída
05/04/2017 Tendências Multimídia distribuída Longa distância Redes de alta velocidade Problema: “Novas” latências Interoperabilidade de plataformas distribuídas heterogêneas Diversas aplicações Computação móvel Agentes móveis Integração com CORBA

8 Suporte à Programação Distribuída
05/04/2017 Suporte à Programação Distribuída Sistemas Abertos (OSI + ODP) Sistemas operacionais distribuídos Abordagem “revolucionária” Microkernels Sistemas abertos e Aplicações Suporte a Ling. Emul. S.O. .... .... Microkernel Hardware

9 Suporte à Programação Distribuída (cont.)
05/04/2017 Suporte à Programação Distribuída (cont.) Plataformas “ODP” Abordagem “evolucionária” Sistemas abertos e Aplicações Plataforma “ODP” Sistema Operacional Hardware

10 Conceitos - Tópicos Processos e Threads Concorrência Sistemas Abertos
05/04/2017 Conceitos - Tópicos Processos e Threads Concorrência Sistemas Abertos Comunicação Sincronização Tolerância a Falhas Segurança Sistemas Distribuídos de Tempo-Real

11 05/04/2017 Processos e Threads Em sistemas operacionais tradicionais, cada processo tem um único espaço de endereço e uma única linha (thread) de controle

12 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) É desejável ter múltiplos threads de controle compartilhando um espaço de endereço e executando em “paralelo”, como se fossem processos separados Concorrência é uma abstração importante porque o comportamento de muitos sistemas reais pode ser modelado sem detalhes desnecessários

13 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Threads são também chamados de processos peso-leve Executam sequencialmente e têm seu próprio contador de programa e pilha de execução Compartilham a CPU assim como processos - através de timesharing

14 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Diferentes threads em um processo não são tão independentes quanto diferentes processos - não são protegidos uns dos outros; compartilham variáveis

15 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Múltiplos threads x múltiplos processos (servidores) Um servidor pode servir a vários clientes concorrentemente Interferência pode causar inconsistência nos dados compartilhados

16 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Pacote de threads: conjunto de primitivas (ex. chamadas de bibliotecas) Criação estática e dinâmica de threads simplicidade x flexibilidade Compartilhamento de memória/variávies: mutex Sincronização: variável condicional - wait e wakeup

17 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Criação estática e dinâmica de processos Razões para a criação dinâmica: Flexibilidade: um sistema pode ser projetado sem saber # de processos necessários; Uso dinâmico de recursos: um sistema pode precisar de diferentes conjuntos de recursos em tempos diferentes;

18 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Razões para a criação dinâmica (cont.): Balanceamento de carga: se a criação dinâmica de processos existe, processos adicionais podem ser criados para desempenhar a função sobrecarregada e alocados a processadores sub-utilizados.

19 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) A criação estática (mais eficiente) é mais aplicável em sistemas embarcados (ex. aviões), onde: A configuração do sistema é fixa; A previsibilidade do desempenho é mais importante do que flexibilidade; Sendo a configuração fixa, balanceamento de carga não é importante.

20 Processos e Threads (cont.)
05/04/2017 Processos e Threads (cont.) Ligação dinâmica (dynamic binding) de processos Ligação estática, com endereçamento pré-definido, é inflexível e gera problema se um processo (servidor) migra ou é replicado, por exemplo - requer recompilação.

21 Concorrência Região Crítica (RC)
05/04/2017 Concorrência Região Crítica (RC) Exclusão mútua: enquanto um processo estiver em sua RC, outros não podem estar em suas RCs Problemas: Interrupção de instruções de máquina Ex: A = A + 1 * 3 instruções (cont.)

22 Concorrência (cont.) Problemas de exclusão mútua:
05/04/2017 Concorrência (cont.) Problemas de exclusão mútua: Entradas simultâneas em RCs Alternação Impasse (deadlock)

23 Concorrência (cont.) Semáforo
05/04/2017 Concorrência (cont.) Semáforo Primitivas - instruções não-interrompíveis P(s) e V(s) / Wait(s) e Signal(s) Primitivas de sincronização

24 Concorrência (cont.) Monitor Construção de mais alto nível
05/04/2017 Concorrência (cont.) Monitor Construção de mais alto nível Baseada em procedimentos - mais bem estruturado Chamada a procedimento garante exclusão mútua

25 05/04/2017 Concorrência (cont.) Problemas clássicos: representam abstrações de problemas Exclusão mútua: sincronização (wait e signal) Produtor-Consumidor: comunicação Leitores e Escritores: acesso a banco de dados


Carregar ppt "Sistemas Distribuídos"

Apresentações semelhantes


Anúncios Google