Buscar

Questionário de Revisão para a Prova 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ 
Engenharia de computação 
Atividade prática supervisionada 
 
 
 
 
 Prof. Dr. Alexandre Rómulo Moreira Feitosa 
 
Lista Exercícios - Sistemas Distribuídos 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Realizado por: 
 
Rodrigo Mansueli Nunes 
 1166174 
 
 
 
 
 
 
 
 
 
 
 
 Cornélio Procópio, 29 de novembro de 2013 
 
 
 
 
 
1) Defina o que é um Sistema Distribuído. 
 
 Um conjunto e computadores independentes que se apresenta a seus usuários como um Sistema único e 
coerente. 
 
 
2) Explique quais seriam as principais metas de um Sistema Distribuído. 
 
Recursos acessíveis 
Transparência de Distribuição 
Grau de transparência 
Abertura 
Política de separação de componentes 
Escalabilidade 
 
3) Cite quais são as principais “ciladas” ou falsos conceitos que atrapalham o desenvolvimento de 
Sistemas Distribuídos. 
 Acreditar que: 
 A rede é confiável 
 A rede é estável 
 A rede é homogênea 
 A topologia é inalterável 
 Que não há latência 
 Que a largura de banda é infinita 
 Que os custos de transporte é zero 
 Só há um administrador 
 
 
4) Explique o que seria um sistema de computação de cluster. 
Uma rede de computadores “comuns” ligados para aumentar o poder de processamento. 
 
5) Explique o que seria um sistema de computação em grade. 
 Computadores em grade em geral são em sistemas mais heterogêneos, geralmente não compartilham do 
mesmo sistema operacional, nem são parecidos. Geralmente ocorre em parceria de empresas distintas. 
 
 
6) Explique as quatro características fundamentais de uma transação. 
Transações são eventos que requerem que uma série de etapas seja cumprida para que a mesma possa 
considerar concluída, caso haja problema em uma das etapas, deverá realizar tal transação novamente. 
Atômica: cada transação é única 
Consistente: a transação precisa de obedecer as variáveis do sistema 
Isolada: cada transação deve ser auto-contida e independente de outras transações 
Durável: Uma vez que a transação ocorra, as modificações são permanentes. 
 
7) O que seria um Sistema Distribuído Pervasivo? 
Sistema Distribuido pervasivo é um sistema que se adapta as mudanças contextuais, se adapta de acordo 
com as necessidades do usuário e compartilha as informações por padrão. 
 
 
8) Qual seria a diferença entre uma arquitetura de sistema e um estilo arquitetônico? 
Um estilo de arquitetura é formulado em termos de como seus componentes estão conectados, dos dados 
trocados e da maneira como os componentes estão configurados enquanto a arquitetura se refere a como 
realmente foi implementado e não uma forma genérica para expressar o tipo de distribuição. 
 
9) Defina como funciona uma arquitetura Cliente-Servidor. Faça também um diagrama para 
auxiliar a explicação. 
 Na arquitetura cliente servidor, o cliente faz a requisição e espera uma resposta do servidor. 
 
 Cliente 
 
 
 
 
 
 
 
 
 
 Servidor 
 
 
 
 
 
10) Defina como é organizado um sistema em três camadas (MVC). Faça um diagrama relacionando 
as camadas existentes. 
 Um sistema em três camadas é divido em camada de aplicação (interface), camada de processamento 
e camada de dados. 
 
 
 
 
 interface dados 
 
 
 
11) Explique quais seriam as diferenças entre um fatclient (clientegordo) e um thinclient 
(clientemagro). Cite um caso em que cada um é recomendável. 
 Thinclient, não há processamento nele, só recebe os dados do servidor ideal em casos onde se deseja 
verificar os dados e alguma interferência do usuário pode alterar resultados e prejudicar a aplicação. Por 
exemplo um jogo de xadrez, se a validação de jogadas for no servidor não haverá casos de um jogador jogar 
duas vezes em sequência. 
 Fatclient, o cliente faz o processamento de dados e isso evita a necessidade de processar tudo no 
servidor. Exemplos: javascript, SETI@home, einstein@home 
 
 
12) Dentro de arquiteturas descentralizadas o que seria uma distribuição vertical? Faça também um 
diagrama para auxiliar a explicação. 
 Componentes lógicos diferentes em máquinas diferentes. 
 
 
 Cliente 
 
 
 
 
 
 Servidor PC 1 PC2 PC1 faz IO, PC2 faz o processamento. 
 
 
 
13) Dentro de arquiteturas descentralizadas o que seria uma distribuição horizontal? Faça também 
um diagrama para auxiliar a explicação. 
 Cada cliente ou servidor pode ser dividido em partes logicamente equivalentes 
 Cada parte opera sobre sua porção do conjunto de dados, o que leva a uma carga equilibrada 
 Um exemplo de arquitetura que suporta distribuição horizontal é a peer-to-peer. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14) O que seria uma rede peer-to-peer (P2P)? 
Como o próprio nome diz, a rede é par a par ou seja descentralizada e os dados são trocados diretamente 
entre os clientes, as principais funções dos "servidores" é indicar a um cliente quais os outros clientes que 
estão próximos e podem responder as requisições. 
 
 
 
 
15) O que seria uma rede de sobreposição? 
Uma rede em que os nós são formados pelos processos e as ligações representam os possíveis 
canais de comunicação. 
 
 
 
16) Defina o conceito de visual parcial em uma rede peer-to-peer. 
O conceito de visual parcial se refere ao fato de que cada um dos pares na rede não possui uma visão 
geral de toda a rede. Cada par só consegue ver os pares que estão conectados a ele. 
 
 
17) O que seriam os superpares (superpeers) em uma rede peer-to-peer? 
Os superpares são os pares que são responsáveis por distribuir a carga em uma rede peer to peer, por 
exemplo nas redes de bittorrent os superpares são os trackers que são os computadores que os pares 
convencionais se conectam para receber informações de outros pares e ao ser um superpar, este não 
necessariamente só é responsável em distribuir a carga, mas também pode assumir alguns papéis de par 
convencional. 
 
18) Explique o que seria um sistema de servidor de borda. 
 É uma arquitetura hibrida 
Este sistema é utilizado na internet onde servidores são colocados “na borda” da rede. 
Usuários conectados a internet normalmente o fazem a partir de um servidor de borda, um servidor ISP 
(Internet Service Provider). 
 
19) Defina o que seria o middleware de um Sistema Distribuído. 
É uma camada entre a aplicação distribuida e a plataforma. 
 
 
20) Explique o que seria computação autonômica. 
Que os componentes são autonomos que precisam de colaborar uns com os outros, é o coração de todos 
os sistemas distribuidos. 
 
 
21) Quais são as vantagens do uso de threads em vez de Processos em Sistemas Distribuídos? 
As threads podem compartilhar memória; 
São iniciadas de forma mais rápida; 
Podem ser encerradas assim que tiverem concluído sua função. 
 
 
22) O que seria um thread despachante e um thread operário em servidores multithread? 
A thread despachante, seria a responsável pelas operações de I/O enquanto o operário ficaria responsável 
por realizar as operações de validação e análise dos dados pegos pelo despachante. 
 
 
23) Explique o que seria uma máquina virtual de processo e qual a vantagem e desvantagem do seu 
uso. 
Uma Máquina virtual de processo nativo é executável em uma plataforma específica capaz de interpretar 
e executar instruções expressadas em um código binário especial, o qual é gerado pelo compilador da 
linguagem eg: .Net Java. 
 
 
24) Explique o que seria um monitorde máquina virtual (VMM-VirtualMachineMonitor). 
 
É um programa que informa a plataforma onde a máquina está instalada qual o estado da máquina virtual 
para poder gerenciá-la e tratar problemas que possam vir a aparecer. 
 
25) Defina o que seria um servidor iterativo e um servidor concorrente. 
Um servidor iterativo, funciona com base em iterações sequenciais, já o servidor concorrente pode atender 
a mais de uma requisição ao mesmo tempo por meio de threads. 
 
 
26) Explique as características e diferenças entre um servidor com estado, sem estado e de estado 
flexível (softstate). 
 Servidores sem estados são aqueles que simplesmente respondem as conexões de forma simples e 
direta, servidores com estado mantêm dados persistentes as respeito de seus usuários, geralmente 
mantêm inclusive tabelas sobre seus clientes. Estado flexível é quando são armazenados alguns dados 
sobre o cliente temporariamente, mas depois de certo tempo tais dados irão desaparecer. 
 
 
27) Como funciona e qual o objetivo da técnica cookie adotada em aplicações web? 
 
 Os cookies são itens que são armazenados localmente no browser somente no lado do servidor e 
 podem ser usados para indicar coisas ao site como o carrinho de compras, ou até mesmo o 
 número de sessão do usuário. 
 
28) O que seria migração de código? 
Migração de código é o processo de migrar o código de algum lugar para outro, o que pode significar desde 
migração entre plataformas diferentes, linguagens de programação diferentes e até mesmo arquiteturas 
distintas. 
 
 
29) Qual a diferença entre migração fraca e forte de código? 
Na migração fraca o código é movido e interrompido durante o processo (applets java) enquanto na 
migração forte o código é movido e pode continuar rodando do ponto em que estava, sem ter que reiniciá-
lo. 
 
30) Explique os tipos de vinculação existentes entre processos e recursos. São eles: Por 
Identificador; Por Valor; e Por Tipo. 
 Em vinculação por identificador, é necessário criar uma nova referência global para o recurso enquanto 
nos recursos vinculados por valor, basta copiar o valor para outro lugar. No caso de vinculação por tipo, pode 
ser feita a alocação daquele recurso usando os recursos disponíveis locais ao religar os recursos antigos aos 
novos locais que contenham o mesmo tipo. 
 
 
31) Defina o que é comunicação persistente, transiente, assíncrona e síncrona. 
 
Em uma comunicação persistente, uma mensagem que foi apresentada para transmissão é armazenada 
pelo middleware de comunicação (protocolo) durante o tempo que for necessário para entrega-la ao 
receptor;’ 
Na comunicação transiente uma mensagem é armazenada pelo sistema de comunicação somente durante 
o tempo em que a aplicação remetente e a aplicação receptora estiverem executando; 
Em uma comunicação assíncrona os dados são enviados e quem enviou continua sua execução logo após 
terminar de enviar. 
Em uma comunicação síncrona o remetente fica bloqueado esperando ter a confirmação que a mensagem 
foi enviada e recebida. 
 
32) O que seria uma chamada remota de procedimento (RPC) e qual a vantagem do seu uso em 
Sistemas Distribuídos? 
A idéia fundamental do RPC é fazer com que uma chamada de procedimento remoto pareça com uma 
chamada local a um procedimento ou função. As principais vantagens são a escalabilidade porque pode 
se trocar o servidor de RPC por outro igual sem problemas e também para balancear a carga do sistema 
entre várias chamadas em lugares distintos. 
 
 
33) Defina qual o papel do apêndice do cliente e do apêndice do servidor em uma chamada remota 
de procedimento. Faça também um diagrama para auxiliar na explicação. 
 A função da apêndice do cliente é especificar que existe aquela função em algum lugar remoto, 
empacotar e enviar os dados para tal lugar e posteriormente receber os dados de resposta. 
A função da apêndice do servidor é receber os dados, passar para uma função local que os executará e 
retornará a resposta que será posteriormente devolvida para a apêndice do cliente. 
 
 
 
Chama a RPC Recebe os dados 
 
 
 Executa funções e procedimentos locais 
 
34) Qual a utilidade de uma linguagem de definição de interface (IDL – Interface Definition Language)? 
 
Ao usar uma interface linguagem de descrição de interface, o processo de comunicação cliente servidor 
com RPC fica mais simples porque é mais fácil de gerar nós clientes e servidores, em alguns casos o uso 
disto é obrigatório (depende do sistema) /middleware. 
 
35) O que seria um procedimento remoto idempotente? 
 
Um RPC é considerado idempotente se o resultado de uma requisição realizada com sucesso é 
independente do número de vezes que é executada. 
 
 
36) Explique como funciona um Sistema Distribuído em que a comunicação é realizada através do 
enfileiramento de mensagens. 
 Quando as mensagens chegam ao buffer estas são armazenas e processadas em um sistema first in 
first out, e de acordo com o processamento do sistema o mesmo vai atendendo a todas as requisições e 
enfilerandos as que não pode atender imediatamente, para após retirá-las da fila e continuar o 
processamento. Existem diversas bibliotecas para isso como é o caso da ØMQ (Zero Message Queue). 
 
 
37) O que faz um broker e um gerenciador de fila em um sistema de enfileiramento de mensagens? 
 
O broker é o middleware que armazena os destinos das mensagens, muito usado por causa das 
mensagens assíncronas. Também é conhecido como gerenciador de mensagens. 
 
O gerenciador de fila avalia a quanto tempo que um determinado cliente está na fila aguardando por sua 
resposta, sua principal função é tentar garantir que as mensagens sejam entregues a todos que fizerem 
requisição. 
 
38) O que seria a comunicação orientada a fluxo? 
A comunicação orientada a fluxo ocorre quando há a necessidade de uma determinada ordem 
cronológica para a entrega de dados que pode ser simples como um fluxo de voz, ou complexo ou 
composto como um vídeo (voz mais imagens). 
 
39) Qual a diferença entre mídia discreta e contínua? 
A mídia discreta é aquela que não exige sincronização como textos, imagens estáticas; já a mídia 
contínua precisa de uma sincronização por exemplo: a ordem dos quadros em um vídeo. 
 
 
40) O que seria o modo de transmissão isócrono em comunicação orientada a fluxo? 
É quando mais de um fluxo precisa de estar sincronizado exemplo o áudio e a imagem de um stream de 
vídeo. 
 
 
41) O que seriam protocolos epidêmicos? 
 
Protocolos de distribuição epidêmicos são muito bons para passar informações, assim que recebem 
atualizações eles se atualização e passam as atualizações a diante o nome é justamente por essa forma 
de se espalhar que assemelha-se a como as epidemias ocorrem em seres humanos. 
 
42) Como funciona a abordagem de gossiping na disseminação de dados multicasting? 
 
A abordagem gossip ou por fococa funciona da seguinte maneira, quando um nó P recebe uma atualização 
de um item de dado x, este avisa um outro no Q e tenta atualizá-lo com essa nova informação, no entanto 
Q já poderia ter sido atualizado com essas informações por outro nó, o que vai diminuir o interesse de P 
em disseminar a informação.

Continue navegando