click below
click below
Normal Size Small Size show me how
ine5418-p1
Computacao Distribuida - Prova 1
| Question | Answer |
|---|---|
| Quais requisistos de um sistema distribuido? | Heterogeneidade Extensibilidade Escalabilidade Segurança Tratamento de falhas Concorrencia Transparencia |
| Explique heterogeneidade e de exemplos | Capacidade do sistema em operar com componentes de configurações distintas Ex: uso de camadas intermediarias bem padronizadas que permitem essa interoperabilidade entre os componentes |
| Explique extensibilidade e de exemplos | Capacidade do sistema em adicionar novas funcionalidades Ex: uso de padrões de projeto |
| Explique escalabilidade e de exemplos | Capacidade do sistema em adicionar novos componentes ou usuarios Ex: replicação, permitindo a escolha de servidores em uma troca de mensagem |
| Explique segurança e caracteristicas necessarias | Capacidade do sistema em prover a segurança entre seus componentes Caracteristicas: integridade, disponibilidade, confidenciabilidade |
| Explique tratamento de falhas e de exemplos | Capacidade do sistema em operar/lidar com falhas Ex: mecanismos de tolerancia a falhas |
| Explique concorrencia | Capacidade do sistema em permitir que recursos sejam usados de forma concorrente entre os componentes |
| Explique transparencia | Capacidade do sistema em esconder funcionalidades não necessarias ao usuario |
| Quais os tipos de transparencia? | Acesso Localização Concorrencia Replicação Falhas |
| Explique a transparencia de acesso | Recursos locais e remotos acessados pelas mesmas operações, ou seja, esconde ao usuario essa busca por recursos, unificando em uma unica operação em comum |
| Explique a transparencia de localização | A localização do componente que usufrui de um recurso não precisa ser explicitada pelo usuario |
| Explique a transparencia de falhas | Habilita o tratamento de falhas, permitindo o completo funcionamento do programa |
| Explique a transparencia de replicação | Permite que recursos sejam replicados sem que o usuario necessite dessa informação |
| Explique a transparencia de concorrencia | Permite a execução de processos utilizando um mesmo recurso sem que um processo seja prejudicado |
| Explique a arquiterura cliente-servidor | Componentes são divididos entre cliente e servidor, onde o cliente faz requisições para o servidor e o servidor responde as requisições as cliente |
| De um exemplo de arquitetura cliente-servidor de 3 camadas | Primeira camada representa a interface com o usuario Segunda camada representa a parte de processamento e tratamento dos dados Terceira camada representa a persistencia dos dados |
| Explique a arquiterura peer-to-peer | Compoenetes não são distintos entre cliente e servidor, podendo atuar como ambos em um sistema distribuido decentralizado |
| Cite e explique as caracteristicas de uma arquitetura peer-to-peer | Auto-organização: capacidade de cada nodo se auto gerenciar Comunicação direta: comunicação exclusiva ao pares envolvidos no compartihamento do recurso Adaptabilidade e escalabilidade: infraestrutura escalavel e inserção e remoção de recursos adaptavel |
| Para que serve o sidecar? | Integrar uma funcionalidade sem modificar o sistema legado |
| Para que serve o disjuntor? | Prevenir erros em cascatas e gestão eficiente dos recursos, atuando como um liga e desliga entre componentes |
| Para que serve o particionamento? | Divide a disposição dos recursos em diferentes servidores |
| Para que serve a distribuição de carga entre replicas? | Redundancia de recursos em diferentes servidores, diminuindo a carga e provendo melhor desempenho |
| Para que serve o Scatter/Gather | Atua na união de respostas parciais perante uma requisição, relacionado ao paralelismo |
| O que é um middleware? | Camada intermediaria entre SO e aplicação que se comunicam entre si, permitindo uma interface padronizada entre componentes distintos |
| Como um middleware atua na comunicação? | Transiente: atua mais como uma interface que promove status de uma conexão, auxiliando no tratamento e identificação de erros Persistente: atua na persistencia de dados em uma requisição, permitindo reenvio automatico de dados e requisições |
| Para que serve o RMI/RPC? | Serve para simular o paradigma de orientação a objetos em ambientes distribuidos, com o uso de funções e métodos com suas assinaturas em uma interface de descrição de linguagem |
| Como implementar exclusão mutua em espaços de tuplas? | Com o uso das operações bloqueantes in e rd |
| Como funciona a sincronização interna e externa? | Interna: cada componente com seus relogio local, onde há a troca de medições de tempo visando acordar um tempo aproximado para todos Externa: uso de servidores de UTC ou relogios atomicos |
| Como funciona o algoritmo de berkeley(sincronização interna)? | 1)Temos um conjuntos de processos G 2)Nodo mestre M em G requisita periodicamente a hora de cada processo 3)M faz o tempo médio de todos processos, inclusive ele 4)M transmite o ajuste que cada processo deve fazer |
| Como funciona o NTP(sincronização externa)? | 1)Organizado em forma de arvore 2)Cada cliente é um folha 3)Cada nodo folha sincroniza horário com seu pai 4)Nodos raizes são os relogios de referencia, como os relogios atomicos |
| O que é o problema de consenso distribuido? | Prover o comum acordo sobre um valor em sistemas distribuidos |
| O que é o problema do consenso em sistemas distribuidos? | Se baseia no comum acordo entre os componentes em um sistema distribuido sobre um valor proposto, mediante sistemas não confiaveis |
| Como definir pressupostos de funcionamento de um sistema? | Atraves de modelos de sistema, que deve prover uma visão simplificada e ao mesmo tempo proxima da realidade, tomando cuidado entre suposições fortes e fracas, buscando o meio termo |
| Defina consenso | Cada processo inicial com um valor inicial(diferentes ou não Cada processo deve retorna como o saida o mesmo valor(independente se o valor inicial era diferente) O valor de saida deve ser um dos valores iniciais propostos |
| Como funciona o consenso em processos bizantinos? | 1)Um processo é o comandante e os demais sao tenentes 2)Comandante envia o valor para os tenentes 3)Tenentes conferem suas mensagens para confirmar se o comandante é o traidor 4)Valor observado pela maioria é escolhido |
| Diferencie Unicast, Multicast e Broadcast | Uni: mensagens entre dois processos(um pra um) Multi: mensagens enviadas para processos de um grupo(um para varios) Broad: mensagens enviadas para todos processos de um grupo(um para todos) |
| Qual caracteristicas necessarias em uma difusão confiavel? | Validade: se um processo correto envia 'm', todos processos corretos entregam 'm' Accesso: se um processo correto entrega 'm', todos processos corretos entregam 'm' Integridade: um processo correto entrega 'm' apenas uma vez |