Buscar

Atividade-Pratica(somente leitura) LÓGICA PROGRAMÁVEL

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 5 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

Prévia do material em texto

ESPU Sistemas Distribuídos 
Profº.Renan Portela Jorge 
 - 1 
Responda as questões de 1 até 32 na própria folha, O aluno pode optar por não responder até 2 (duas 
questões do questionário. Observação a resposta deve estar na cor vermelha. 
 
1. No estudo dos Sistemas Operacionais conhecemos o funcionamento de Programas, Processos e 
Threads.Estes são aspectos de fundamental importância para os sistemas distribuídos. Ao que 
corresponde um PROCESSO? 
 
2. A Thread é unidade principal utilizada pelos gerenciadores de tarefas modernos. Assim, é 
fundamental que o desenvolvedor conheça o fluxo de vida de uma thread, para que poss 
manipulá-las com maior acurácia. Descreva a sequência correta dos estados possíveis de uma 
THREAD em UM estado EXECUTANDO. 
 
3. Os cinco estados possíveis de uma Thread são Nova, Pronta, Executando, Suspensa, Terminada, 
e a transição entre estes estados pode ser realizada por métodos, como o método sleep(t), por 
exemplo. O que fazem os métodos abaixo? 
• wait(): 
• sleep(t): 
• notify(): 
• start(): 
• yield(): 
 
4. Quando desenvolvemos um programa em Java estamos utilizando threads, mesmo que não seja 
de forma explicita. Absolutamente todas as aplicações em Java utilizam thread. Considerando 
isso, o que é o método main? E a classe Timer? 
 
5. Uma forma de implementar uma thread é utilizar o conceito de herança para criar uma nova 
classe que herde os comportamentos definidos na classe Thread. Com base nessa afirmação, 
com criamos uma thread com a classe Thread? O que acontece com o método run? 
 
6. Sistemas Distribuídos (SD) são classificados como uma coleção de computadores 
independentes que aparentam ao usuário ser um computador único, e a transição de um 
sistema centralizado para um sistema distribuído apresenta quatro principais desafios 
intrínsecos. Quais são eles? 
 
7. A comunicação entre os nós de um SD é realizada através de mensagens. Para enviar uma 
mensagem utilizando os protocolos padrões de internet, precisamos basicamente de duas 
informações: endereço da máquina e a porta. No Java a classe InetAddress 
(java.net.InetAddress) abstrai endereços de rede [13]. Quais são os principais objetivos dessa 
classe? 
 
8. Em sistemas distribuídos, cada nó é responsável por executar um ou mais processos que se 
comunicam para atingir um determinado objetivo. Assim, a comunicação entre processos 
(Interprocess Comunication – IPC) normalmente é composta entre um par de processos – 
remetente e destinatário. Explique como ocorre essa comunicação. 
 
ESPU Sistemas Distribuídos 
Profº.Renan Portela Jorge 
 - 2 
9. Para estabelecer o fluxo de comunicação entre os processos é utilizado um Socket de rede, 
sendo que atualmente praticamente todas as comunicações são baseadas em Sockets. O que 
são os sockets? Como são compostos? Qual é a relação entre sockets e mensagens? 
 
10. O UDP (User Datagram Protocol) é um protocolo simples. Quando uma mensagem (datagrama) 
é enviada, o remetente não tem conhecimento se a mensagem realmente chegou no 
destinatário. Ou seja, não tem garantia de entrega de mensagem. Cite vantagens e 
desvantagens dos sockets UDP. 
 
11. Para implementar uma solução baseada em sockets UDP, é preciso utilizar duas classes: 
DatagramPacket e DatagramSocket. Com funcionam essas classes? 
 
12. Sistemas distribuídos baseados no modelo cliente/servidor são intuitivos e facilmente 
implementados por meio da utilização de sockets. O modelo cliente/servidor permite a 
disponibilização de sistemas pelas organizações, automatizando um modelo de negócio. 
Descreva esse modelo. 
 
13. Em sistemas distribuídos construídos no modelo cliente/servidor o acoplamento pode se 
tornar um problema para o sistema em produção. Quando existe uma alteração no sistema 
acoplado, essa frequentemente afeta todos os outros sistemas. Apresente as características 
destes sistemas. 
 
14. Podemos definir um serviço como sendo algo útil que um provedor faz para um consumidor. 
Essa definição, apesar de simples, traz alguns elementos importantes: provedor e consumidor, 
sendo que o provedor realiza uma ação útil para um consumidor. Relacione e descreva as três 
características dos serviços. 
 
15. A Arquitetura Orientada a Serviços ou SOA - Service Oriented Architecture - é uma arquitetura 
de sistemas cujo princípio fundamental prega que as funcionalidades dos sistemas devem ser 
disponibilizadas na forma de serviços. O que é um serviço para a SOA? 
 
16. Sistemas distribuídos baseados no modelo cliente/servidor são intuitivos e facilmente 
implementados por meio da utilização de sockets. O modelo cliente/servidor permite a 
disponibilização de sistemas pelas organizações, automatizando um modelo de negócio. Sobre 
este modelo de sistemas distribuídos podemos afirmar que: 
 
 
a) O modelo cliente/servidor tem como objetivo descentralizar os dados e recursos de 
processamento. 
 
b) Esse modelo pode ser composto de um ou mais computadores que atuam como servidores, 
os quais disponibilizam seus recursos para os demais. 
 
c) O desenvolvimento dessas duas partes (cliente e servidor) é feita de maneira acoplado, e 
esse acoplamento pode tornar-se um problema. 
 
ESPU Sistemas Distribuídos 
Profº.Renan Portela Jorge 
 - 3 
d) Um problema recorrente em sistemas cliente/servidor tradicionais está relacionado com a 
heterogeneidade. 
 
e) Todas as alternativas apresentadas estão corretas. 
17. Em sistemas distribuídos construídos no modelo cliente/servidor o acoplamento pode se 
tornar um problema para o sistema em produção. Quando existe uma alteração no sistema 
acoplado, essa frequentemente afeta todos os outros sistemas. Analise as afirmativas a seguir 
classificando-as como (F) Falsas ou (V) Verdadeiras: 
 
( ) Geralmente o desenvolvedor deve modificar o servidor para adequá-lo à uma mudança 
nos negócios, e o cliente também deve ser modificado para adequar-se a essa mudança. 
 
( ) O alto acoplamento dos sistemas e a falta de interoperabilidade são motivos para um dos 
maiores problemas da TI: a falta de alinhamento dos negócios com a TI. 
 
( ) A falta de alinhamento pode ocorrer por que as mudanças nos processos de negócios são 
mais velozes que as mudanças de TI. 
 
( ) A Arquitetura Orientada a Serviços visa dar maior agilidade às mudanças, reduzindo o 
acoplamento e a interoperabilidade. 
 
18. Podemos definir um serviço como sendo algo útil que um provedor faz para um consumidor. 
Essa definição, apesar de simples, traz alguns elementos importantes: provedor e consumidor, 
sendo que o provedor realiza uma ação útil para um consumidor. Todos os serviços possuem 
pelo menos três características, descritas a seguir: 
 
I. O contrato, que é uma especificação do que o serviço oferece, com suas características e 
regras. 
II. A interface, que define como um consumidor pode utilizar e acessar um serviço. 
 
III. A implementação, que define como um provedor pode prover um serviço. 
 
IV. A implementação, que é um tipo de recurso escondido - como uma caixa preta. 
 
Assinale a única alternativa que apresenta apenas as afirmativas corretas: 
 
a) I e II. 
b) I, III e IV. 
c) I, II e III. 
d) I, II e IV. 
e) II, III e IV. 
 
19. Todos os serviços possuem um provedor e um consumidor, e três características básicas, o 
Contrato, a Interface e a Implementação, sobre as quais podemos afirmar que: 
 
I. O contrato e a interface são visíveis para o mundo, enquanto a implementação é um 
recurso escondido, como uma caixa preta. 
ESPU Sistemas Distribuídos 
Profº.Renan Portela Jorge 
 - 4 
II. O contrato e a interface são orientados para o provedor, enquanto a implementação é 
orientada para o consumidor. 
III. Os detalhes do contrato e da interface são importantes para o consumidor, enquanto os 
detalhes da implementação não são. 
IV. Os detalhes do contrato e da interface são importantes para o provedor, enquanto os 
detalhes da implementação não são. 
 
Assinale a única alternativa que apresenta apenas as afirmativas corretas:a) I e II. 
b) I e III. 
c) II e III. 
d) II e IV. 
e) III e IV 
 
 
SEGUNDA PARTE 
 
20. A sincronização de relógios é um desafio interessante em sistemas distribuídos. Em inúmeras 
aplicações é preciso saber em que determinado horário um evento ocorreu. Porque em um 
sistema distribuído não é possível simplesmente considerar o horário da máquina em que o 
sistema está hospedado como verdade absoluta? 
 
21. A sincronização de relógios é um problema clássico da computação. Diversos algoritmos foram 
propostos para solucionar esse problema. O algoritmo de Christian foi um dos pioneiros. O 
algoritmo considera o relógio físico para realizar a sincronização. Descreva este algoritmo. 
 
22. Com base no algoritmo de Christian, avalie e resolva a seguinte situação: uma máquina M envia 
uma mensagem para o servidor de tempo solicitando a hora correta. O servidor responde com 
uma mensagem s, contendo a informação solicitada. Quando r é enviada, o relógio de M marca 
3004, e quando s é recebida o relógio de M marca 3050. Considerando que o servidor consome 
um tempo de 8 entre o recebimento da mensagem e o envio da resposta para M, para qual 
valor M deve ajustar o seu relógio, se o servidor respondeu como hora atual o valor 3035? 
 
23. Com base na proposta de solução do problema de sincronismo de relógio usando o algoritmo 
de Christian, o que acontece quando um determinado processo (cliente) solicita o horário ao 
servidor? E o que acontece quando o cliente recebe a resposta do servidor? 
 
24. Qual é o resultado, para o programador, do uso de Chamada Remota de Procedimento (Remote 
Procedure Call, RPC), utilizada principalmente em linguagens procedurais (C, Delphi, etc.) e de 
Invocação Remota de Métodos (Remote Method Invocation - RMI), utilizada em linguagens 
orientadas a objeto (Java, C++, C#)? 
 
25. Quais são os tipos de sockets usados pela Chamada Remota de Procedimento (Remote 
Procedure Call - RPC)? 
 
26. Quais boas práticas são recomendadas para quando estamos trabalhando com o RMI? 
ESPU Sistemas Distribuídos 
Profº.Renan Portela Jorge 
 - 5 
 
27. Qual é a relação entre Arquitetura Orientada a Serviços (Service Oriented Architecture - SOA) e 
Web Services? 
28. Quais são os problemas da tecnologia Chamada Remota a Procedimentos (RPC) que os web 
services pretendem resolver? 
 
29. Com relação à capacidade, qual é a diferença entre a computação “tradicional” e a computação 
em nuvem? 
 
30. Com relação ao acesso e aos repositórios, quais são as características da computação em 
nuvem? 
 
31. Quais são as entidades que se relacionam em um modelo de computação em nuvem? E como se 
dá esse relacionamento? 
 
32. Qual é a função do Hipervisor em um ambiente de computação em nuvem? 
 
33. Em quais conceitos baseia-se a computação em nuvem? 
 
34. Quais os modelos de implantação de um ambiente de computação em nuvem?

Continue navegando