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

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

Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 03.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 03."— Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

11 Processos e Threads n 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.) n É 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.) n Threads são também chamados de processos peso-leve n Executam sequencialmente e têm seu próprio contador de programa e pilha de execução n Compartilham a CPU assim como processos - através de timesharing

14 Processos e Threads (cont.) n 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.) n Múltiplos threads x múltiplos processos (servidores) u Um servidor pode servir a vários clientes concorrentemente u Interferência pode causar inconsistência nos dados compartilhados

16 Processos e Threads (cont.) n Pacote de threads: conjunto de primitivas (ex. chamadas de bibliotecas) u 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.) n Criação estática e dinâmica de processos u Razões para a criação dinâmica: F Flexibilidade: um sistema pode ser projetado sem saber # de processos necessários; F Uso dinâmico de recursos: um sistema pode precisar de diferentes conjuntos de recursos em tempos diferentes;

18 Processos e Threads (cont.) u Razões para a criação dinâmica (cont.): F 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.) u A criação estática (mais eficiente) é mais aplicável em sistemas embarcados (ex. aviões), onde: F A configuração do sistema é fixa; F A previsibilidade do desempenho é mais importante do que flexibilidade; F Sendo a configuração fixa, balanceamento de carga não é importante.

20 Processos e Threads (cont.) n 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 n Região Crítica (RC) n Exclusão mútua: enquanto um processo estiver em sua RC, outros não podem estar em suas RCs u Problemas: F Interrupção de instruções de máquina Ex: A = A + 1 * 3 instruções F (cont.)

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

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

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

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


Carregar ppt "Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 03."

Apresentações semelhantes


Anúncios Google