Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.