Buscar

Sistemas Distribuídos

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 114 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 114 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 9, do total de 114 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

Prévia do material em texto

Questão 1 : A taxonomia de Flynn é amplamente utilizada para classificar sistemas computacionais e arquiteturas baseando-se no fluxo de instruções e no fluxo de dados. Em qual das seguintes classificações se encontram os supercomputadores?
Resposta Errada! A resposta correta é a opção E
Justificativa:Nesse sistema distribuído, um mesmo programa é executado em múltiplas máquinas, em que também são executadas diferentes instruções sob diferentes dados. Como as quatro classes propostas por Flynn (SISD, MISD, SIMD e MIMD) não preveem o nível de execução de um programa, os supercomputadores são classificados como SPMD (Single Program Multiple Data).
	A
	
	SISD (Single Instruction Single Data).
	B
	
	MISD (Multiple Instructions Single Data).
	C
	
	SIMD (Single Instruction Multiple Data).
	D
	
	MIMD (Multiple Instructions Multiple Data).
	E
	
	SPMD (Single Program Multiple Data).
Questão 2 : Um problema foi identificado ao integrar o sistema Sempre Investindo com o software desenvolvido para a corretora de seguros Mais Valor. O relatório recebido do suporte técnico informa que a transação distribuída plana do sistema não está conseguindo efetivar as suas operações.
 
Assinale a alternativa que representa os sintomas identificados que geraram essa conclusão:
Resposta Errada! A resposta correta é a opção E
Justificativa:Os sintomas identificados ocorrem se a variável de retorno do método Gravar estiver fixa com o valor falso. O método Gravar é invocado pelo coordenador do protocolo solicitando que o participante confirme a transação. Um erro de programação desse método afeta diretamente a efetivação das operações de uma transação plana. Uma subtransação pertence a uma transação distribuída aninhada do sistema. Logo, esse fato não prejudica a efetivação da transação distribuída plana. Os temporizadores são usados para controlar o atraso da comunicação entre o coordenador e um participante e, sempre que são ultrapassados, o método é automaticamente invocado novamente. Assim, observar atrasos na comunicação entre os métodos pode prejudicar o desempenho do sistema distribuído, mas não compromete a efetivação das operações da transação distribuída plana. A transação de nível superior é responsável por gerenciar a execução do protocolo de confirmação atômica em transações aninhadas. Por tanto, esse fato não prejudicaria a execução do protocolo na transação plana. Sempre que um participante está em situação de incerteza, ele se comunica com o coordenador, por meio do método solicita Decisão, para saber como proceder, logo, essa não é a causa do problema.
	A
	
	A subtransação descendente da transação de nível superior sofreu uma falha.
	B
	
	Os limites dos temporizadores usados para controlar a comunicação entre os métodos foram ultrapassados.
	C
	
	A transação de nível superior voltou informando estar incapaz de confirmar transações.
	D
	
	Um participante da transação se encontra em estado de incerteza.
	E
	
	A variável de retorno do método Gravar está fixa com o valor falso.
Questão 3 : Computação em nuvem e Internet das coisas são dois adventos tecnológicos importantes apresentados na geração de sistemas distribuídos contemporâneos. Sobre essas tecnologias, analise as alternativas abaixo e assinale (V) para verdadeiro e (F) para falso.
 
( ) A computação em nuvem é uma das tecnologias atuais que contemplam a geração de modelos físicos contemporâneos, viabilizando a entrega de serviços sob demanda.
 
( ) A Internet das coisas (em inglês, Internet of Things – IoT) é um conjunto de produtos, serviços e processos que virtualiza as coisas do mundo real para processamento digital.
 
( ) A computação em nuvem (em inglês, cloud computing) tem atenção crescente da indústria e da academia. No entanto, esse advento é o principal responsável por gerar uma quantidade massiva de dados, o que, por sua vez, impacta diretamente a infraestrutura da Internet.
 
( ) A Internet das coisas visa a prover soluções em termos de orçamento e de dimensionamento das infraestruturas de comunicação, viabilizando soluções eficientes e de baixo custo.
 
( ) Pode-se dizer que IoT e computação em nuvem são tecnologias complementares, pois enquanto a Internet das coisas gera uma quantidade de dados crescente e significativa (big data), a computação em nuvem provê diversos serviços que facilitam a transferência, o gerenciamento e a manipulação de dados pela Internet.
 
Assinale a alternativa correta:
Resposta Errada! A resposta correta é a opção E
Justificativa:A computação em nuvem é uma das tecnologias atuais da geração de modelos físicos contemporâneos, viabilizando a entrega de serviços sob demanda. No entanto, o advento responsável por gerar uma quantidade massiva de dados é a Internet das coisas. Um dos principais objetivos da computação em nuvem é prover soluções em termos de orçamento e de dimensionamento das infraestruturas de comunicação, viabilizando soluções eficientes e de baixo custo. Sendo assim, as duas tecnologias são complementares, pois enquanto uma está diretamente relacionada a big data (IoT), a outra (cloud computing) fornece serviços em diferentes camadas de sistemas para facilitar o gargalo gerado pelo aumento massivo e crescente de dados na Internet, caracterizado pela expressão big data.
	A
	
	​​​​​​​V – V – F – F – F.
	B
	
	F – V – V – F – V.
	C
	
	V – F – F – V – F.
	D
	
	F – V – V – F – V.
	E
	
	V – V – F – F – V.
Questão 4 : RPC (Chamada de Procedimento Remota) e RMI (Invocação de Método Remota) são os mecanismos que permitem ao cliente invocar um procedimento ou método do servidor remotamente por meio do estabelecimento de comunicação entre cliente e servidor. Sobre as diferenças entre eles, assinale a alternativa correta.
Resposta Errada! A resposta correta é a opção D
Justificativa:A grande diferença entre os dois é que o RPC suporta apenas programação procedural, enquanto o RMI suporta programação orientada a objetos. Nesse sentido, a programação estruturada não faz parte do mecanismo RPC. Além disso, os parâmetros passados via RPC consideram estruturas de dados comuns, os procedimentos não diretamente relacionados com a passagem de parâmetros. Por outro lado, o RMI para passagem de parâmetros, transita por meio dos objetos e não com a invocação remota de métodos. Por fim, o RPC é baseado na linguagem de programação C e não C#, enquanto o RMI considera a linguagem de programação Java.
	A
	
	A diferença comum entre RPC e RMI é que no RPC os parâmetros passados para o método remoto consistem em procedimentos, enquanto no RMI os parâmetros passados consistem em estruturas de dados comuns.
	B
	
	A diferença comum entre RPC e RMI é que no RPC os parâmetros passados para o método remoto consistem em estruturas de dados comuns, enquanto no RMI os parâmetros passados consistem na invocação dos métodos.
	C
	
	A diferença comum entre RPC e RMI é que o RPC suporta apenas programação estruturada, enquanto o RMI suporta programação orientada a objetos.
	D
	
	A diferença comum entre RPC e RMI é que o RPC suporta apenas programação procedural, enquanto o RMI suporta programação orientada a objetos.
	E
	
	A diferença comum entre RPC e RMI é que no RPC suporta apenas programação procedural, portanto, é baseado em C#, enquanto no RMI suporta programação orientada objetos e é baseado em Java.
Questão 5 : Graças ao desenvolvimento dos microprocessadores e da evolução do sistema computacional, em que os usuários passaram a usar computadores em rede, nasceram os sistemas distribuídos. Nesses sistemas, é necessário desenvolver técnicas eficientes para a distribuição de todos os processos que envolvem os elementos de processamento.
 
​​​​​​​Qual o nome da atividade que define quais processos poderão ser processados em um sistema distribuído?
Resposta Errada! A resposta correta é a opção B
Justificativa:Semáforo é exemplo de comunicação em sistemas não distribuídos. O escalonamento é uma atividade que define quais processos podem ser realizados, por meio da atuação de uma peça fundamental do sistema operacional(SO): o escalonador. Computadores multiprogramados têm múltiplos processos ou threads (uma ou mais tarefas que determinado programa realiza) competindo pela central process unit (CPU) ao mesmo tempo. Isso ocorre porque dois ou mais processos estão no estado ativo, prontos para uso, concomitantemente. Quando somente uma CPU está no estado pronto, realiza-se uma escolha em relação aos processos. Síncrona, sockete e cliente-servidor são meios de comunicação em um sistema distribuído e não estão relacionados com o processo de escalonamento.
	A
	
	Semáforo.
	B
	
	Escalonamento.
	C
	
	Síncrona.
	D
	
	Sockete
	E
	
	Cliente-servidor.
Questão 6 : Um sistema distribuído é um sistema que utiliza diversos dispositivos computacionais para realizar o processamento de forma distribuída e transparente para seu usuário. Quando se utilizam sistemas distribuídos com alto grau de acesso de usuários, é interessante que estes não tenham falhas constantes, visto que seus usuários não irão utilizar um sistema com erros constantes. Vários sistemas podem ser distribuídos, mas, para que sejam tolerantes a falhas, é necessário que haja a ideia de que, mesmo com falhas, o sistema irá continuar funcionando, tornando-se, assim, um sistema distribuído tolerante a falhas. Sistemas distribuídos tolerantes a falhas têm, em seus conceitos e teoria, algo muito similar a outro tipo de sistema. Qual seria esse sistema?
Resposta Errada! A resposta correta é a opção D
Justificativa:Diversos sistemas podem ser distribuídos, mas nem todos são tolerantes a falhas. Para que um sistema seja tolerante a falhas, é necessário que possa continuar funcionando mesmo quando existe uma falha. Independentemente de o sistema ser multimídia, de arquivos ou arquivos distribuídos, ou mesmo de resolução de nomes, ele só pode ser definido como tolerante a falhas se essa funcionalidade for adicionada a ele. Por mais que seja desejado que ele funcione dessa forma, sua implementação é pura e exclusivamente responsabilidade do administrador desse sistema, gerente ou outros nessa mesma linha. Como apontado por Steen (2009, p. 194), "Há forte relação entre ser tolerante a falhas e os denominados sistemas confiáveis", porque, para um sistema ser considerado confiável, tem, entre seus requisitos, a disponibilidade, que insere a ideia de que o sistema estará disponível a maior parte do tempo, ideia esta muito similar a ser tolerante a falhas, em que o sistema deve ser capaz de continuar funcionando mesmo na presença de falhas. Devido à complexidade natural de um sistema distribuído, não existe (seja em literatura, seja em pesquisas na Internet) a expressão sistema distribuído automático. Existem sistemas distribuídos que têm automação, mas nenhum deles é totalmente automático, dada sua complexidade.
	A
	
	Sistema de arquivos distribuídos.
	B
	
	Sistema distribuído de serviço de nomes.
	C
	
	Sistema multimídia distribuído.
	D
	
	Sistema confiável.
	E
	
	Sistema distribuído automático.
Questão 7 : A ordenação por carimbo de tempo consiste em um importante método de controle de concorrência de transações de sistemas distribuídos, sendo empregada, por exemplo, no sistema Dynamo de armazenamento da Amazon.
 
Assinale a alternativa correta sobre o funcionamento dessa abordagem:
Resposta Errada! A resposta correta é a opção B
Justificativa:O correto é afirmar que a versão múltipla de ordenação por carimbo de tempo elimina a ocorrência de conflitos em operações de escrita de diferentes transações, pois cada transação escreve sua própria versão confirmada nos objetos que acessa. As versões de tentativa têm um conjunto de carimbos de leitura. As operações de escrita são registradas nas versões de tentativa dos objetos, o que torna as alterações invisíveis para outras transações. A versão múltipla de ordenação por carimbo de tempo evita operações de leituras atrasadas, pois as leituras são sempre permitidas. Quando ocorre uma operação de leitura, a operação é direcionada para a versão de tentativa com o maior valor de carimbo de escrita e leitura. Além de armazenar a referência das versões de tentativa para cada objeto, a versão múltipla de ordenação guarda as versões confirmadas antigas para usar em situações de leituras tardias.
	A
	
	As versões de tentativa têm somente um conjunto de carimbos de escrita, pois os carimbos de leitura são desnecessários.
	B
	
	A versão múltipla de ordenação por carimbo de tempo elimina a ocorrência de conflitos em operações de escrita de diferentes transações.
	C
	
	Uma limitação da versão múltipla de ordenação por carimbo de tempo consiste na ocorrência de leituras atrasadas.
	D
	
	Ao executar uma operação de leitura, a operação é direcionada para a versão de tentativa de menor valor.
	E
	
	A abordagem de versão múltipla de ordenação mantém uma lista apenas com as versões de tentativa para cada objeto.
Questão 8 : A arquitetura de um comunicação envolve muitos processos e elementos importantes. É necessário entendê-la porque ela é a estrutura, a base que os processos utilizam dentro um sistema distribuído para realizar uma comunicação. Em uma arquitetura de comunicação, existem particularidades e mecanismos que auxiliam nesse processo. Sobre as particularidades e os elementos que a envolvem, analise as assertivas a seguir.
 
I. Um elemento que serve de mediador da comunicação ou da cooperação entre componentes, realizando as chamadas de procedimentos (remotos), passagem de mensagem ou fluxo de dados é conhecido como componente.
 
II. Síncrona, conhecida como conector, é uma operação que atua como não bloqueante no envio de mensagens.
 
III. O conector media a comunicação entre componentes, realiza chamadas remotas e passagem de mensagem entre processos.
 
IV. Componente faz parte de uma arquitetura de comunicação, atuando com conectores.
 
Quais estão corretas?
Acertou! A resposta correta é a opção C
Justificativa:O item I está incorreto, por tratar do conceito de conector, e não de componente. O item II está incorreto, porque conector não é conhecido como síncrona (uma das formas de comunicação e troca de mensagens). O item III está correto, por tratar corretamente o conceito de conector. O IV aborda de forma correta o conceito de componentes.
	A
	
	Apenas I e IV.
	B
	
	Apenas II e III.
	C
	
	Apenas III e IV.
	D
	
	Apenas I e III.
	E
	
	Apenas II.
Questão 9 : O uso de travas em sistemas distribuídos consiste em uma importante abordagem para evitar impasses.
 
Assinale a alternativa que descreve as informações corretas sobre as diferentes abordagens baseadas no travamento.
Resposta Errada! A resposta correta é a opção E
Justificativa:Na segunda fase do travamento de duas fases, as travas são liberadas, diminuindo o número de travas entre as operações. A primeira fase dessa abordagem realmente é denominada de crescimento, mas ela aumenta o número de travas no sistema, e não o seu desempenho. As travas de confirmação do travamento de duas versões possibilitam que o coordenador converta as travas de escrita em travas de confirmação, e não as travas de leitura. As travas de intenção no travamento hierárquico permitem que as travas nos níveis inferiores indiquem a necessidade de usar as configurações das travas de nível superior, e não o inverso. A promoção de travas pode ocorrer quando uma trava menos exclusiva se torna mais exclusiva. Uma trava de leitura é menos exclusiva do que uma trava de escrita. Logo, uma trava de escrita não pode ser promovida a uma trava de leitura.
	A
	
	A primeira fase do travamento de duas fases permite maior desempenho.
	B
	
	As travas de leitura podem ser convertidas em travas de confirmação.
	C
	
	As travas de intenção configuram as travas nos níveis hierárquicos inferiores.
	D
	
	Uma trava exclusiva de escrita pode ser promovida a uma trava de leitura.
	E
	
	A segunda fase do travamento de duas fases libera as travas existentes.
Questão 10 : A comunicação em sistemas distribuídos ocorre por troca de mensagens, em que há alguns mecanismos para que essas mensagens possam ser trocadas.Existem alguns métodos de comunicação entre processos que realizam a troca de mensagens. Sobre esses métodos, marque V para verdadeiro e F para falso.
 
( ) Na comunicação síncrona bloqueante, o seu destino (send) aguarda até que a mensagem chegue ao seu receptor, e a origem (receive) aguarda até que a mensagem fique disponível.
 
( ) Na comunicação assíncrona não bloqueante, as mensagens podem ser enviadas uma após a outra.
 
( ) A comunicação por portas não ocorre por meio de regras padronizadas do modelo OSI e não utiliza protocolos.
 
( ) A comunicação por grupo multicast é um paradigma de comunicação indireta. Todos os processos pertencentes a um determinado grupo recebem mensagens, mas não reconhecem a identidade do destinatário.
 
Feito isso, assinale a alternativa que apresenta a sequência correta.
Acertou! A resposta correta é a opção C
Justificativa:A primeira afirmativa é verdadeira, por abordar o conceito correto de comunicação síncrona, na qual há o destino (send), que espera até a mensagem chegar ao seu receptor, e a origem (receive), que aguarda até a mensagem ficar disponível, ou seja, uma mensagem só chega quando a mensagem anterior foi processada e entregue ao seu destino. Caso contrário, o envio é bloqueado até que a comunicação anterior seja finalizada. Nesse caso, send e receive atuam como operações de bloqueio. A segunda afirmativa é verdadeira, por abordar o conceito correto de comunicação assíncrona, na qual há mensagens sendo enviadas quantas vezes forem necessárias pelo receptor/transmissor, desde que elas sejam entregues. Não existe a necessidade de uma resposta. Sendo assim, as operações send e receive não atuam como operações bloqueantes. A terceira afirmativa é falsa, porque aborda o conceito de comunicação por portas de maneira errada. Esse tipo de comunicação utiliza, sim, protocolos e regras padronizadas do modelo OSI. A quarta afirmativa é verdadeira, por abordar o conceito correto de comunicação por grupo multicast.
	A
	
	F, F, V, V.
	B
	
	F, V, F, V.
	C
	
	V, V, F, V.
	D
	
	V, F, V, F.
	E
	
	F, F, F, V.
Questão 1 : Uma meta importante de sistemas distribuídos é separar as aplicações das plataformas subjacentes, provendo uma camada de software denominada middleware. O middleware é uma camada de software localizada entre as aplicações e as plataformas distribuídas.
 
A proposta de um middleware em sistema distribuído vertical está diretamente relacionado ao desafio de:​​​​​​​
Resposta Errada! A resposta correta é a opção B
Justificativa:A segunda geração dos modelos físicos surgiu em meados de 1990, em resposta ao crescimento significativo da Internet. Assim, incorporou-se a esse modelo uma infraestrutura mais heterogênea, abrangendo diversos e diferentes tipos de componentes de software e de hardware. Como resultado, um elevado nível de heterogeneidade começou a surgir nos sistemas distribuídos adaptados para a Internet. Diante desse novo cenário, apareceram novas tecnologias e estratégias com o objetivo de suprir as lacunas/dificuldades dessa geração, principalmente a heterogeneidade; dentre elas, surgiu o middleware. Os demais desafios pautados não estão diretamente relacionados ao conceito de middleware: a abertura de sistemas se refere a uma necessidade contínua de estender o sistema visando a adaptações; a qualidade de serviço está relacionada a componentes individuais do sistema, com vistas ao fornecimento de níveis de desempenho garantidos; a escalabilidade está diretamente voltada ao aumento do número de recursos versus o aumento de usuários, visando a adaptar a escalabilidade do sistema sem apresentar perda de desempenho; e, por fim, a segurança considera diretamente a integridade dos dados, bem como a disponibilidade e a confiabilidade do sistema.
	A
	
	abertura de sistemas.
	B
	
	heterogeneidade.
	C
	
	qualidade de serviço.
	D
	
	escalabilidade.
	E
	
	segurança.
Questão 2 : A comunicação em sistemas distribuídos é realizada por meio de troca de mensagens devido à carência diretamente relacionada a uma das principais dificuldades enfrentadas por todo e qualquer projetista de um modelo arquitetural de um sistema distribuído. Qual é o nome dessa carência?
Acertou! A resposta correta é a opção E
Justificativa:A comunicação em um sistema distribuído é realizada através de troca de mensagens devido à ausência de memória global compartilhada entre os componentes. A ausência de relógio global não interfere na comunicação entre os componentes em um sistema distribuído. Protocolos devem ser considerados para estabelecimento de conexões entre os componentes. A existência de padrões (ou não) não está dentre as principais dificuldade enfrentadas pelos projetistas, bem como o papel de um middleware.
	A
	
	Ausência de relógio global.
	B
	
	Ausência de protocolos estabelecidos entre os componentes.
	C
	
	Ausência de padrões nas definições dos modelos arquiteturais.
	D
	
	Ausência de um middleware responsável por prover a comunicação entre os componentes.
	E
	
	Ausência de memória global compartilhada entre os componentes.
Questão 3 : Computação em nuvem é um exemplo real de sistemas distribuídos.
 
Qual das seguintes alternativas contempla os modelos de implantação de nuvens computacionais?
Acertou! A resposta correta é a opção A
Justificativa:Os modelos de implantação de nuvem definem como os recursos são compartilhados nesse ambiente. Os modelos de implantação propostos são nuvem privada, nuvem pública, nuvem híbrida e nuvem comunitária. Nuvem heterogênea é uma característica desse sistema distribuído.
	A
	
	Nuvem privada, nuvem pública, nuvem híbrida e nuvem comunitária.
	B
	
	Nuvem heterogênea e nuvem pública.
	C
	
	Nuvem heterogênea, nuvem pública, nuvem híbrida e nuvem comunitária.
	D
	
	Nuvem heterogênea e nuvem híbrida.
	E
	
	Nuvem comunitária, nuvem heterogênea e nuvem privada.
Questão 4 : Sabendo que sistemas distribuídos são constituídos de diferentes hardware e software, um dos propósitos de um middleware é mascarar a heterogeneidade. O modelo peer-to-peer é um dos principais modelos arquiteturais em sistemas distribuídos. Visando à comunicação nesses sistemas, o RPC (Chamada de Procedimento Remota) é dos paradigmas de comunicação. Ademais, a ausência de relógio global é uma das principais dificuldades enfrentas nesse contexto.
 
Sobre modelos arquiteturais, estilos arquitetônicos e paradigmas de comunicação, analise as alternativas abaixo e considere [V] para Verdadeiro e [F] para Falso.
 
[ ] Considerando uma aplicação que fornece o serviço de troca de e-mails, o modelo arquitetural peer-to-peer é sempre mais eficiente que uma arquitetura centralizada quando considerada uma aplicação.
[ ] O paradigma de comunicação RPC (Chamada de Procedimento Remota) é necessariamente síncrono.
[ ] Relógios lógicos também podem ser usados para sincronização de informações.
[ ] Middleware é uma camada de software logicamente localizada entre aplicativos de alto nível, sistema operacional de baixo nível e recursos básicos de comunicação.
 
​​​​​​​Assinale a allternativa correta.
Resposta Errada! A resposta correta é a opção A
Justificativa:Considerando uma aplicação que oferece serviço de troca de e-mail, a primeira alternativa está correta, uma vez que a centralização de recursos não é uma característica condizente com a aplicação em questão. O RPC também pode ser assíncrono, o mecanismo prossegue normalmente ao receber uma chamada de procedimento remota e a chamada é armazenada para que seja possível realizar a sua execução posteriormente. Relógios lógicos ou contadores também podem ser usados para sincronizar informações as quais não estão relacionadas com o tempo real de forma direta. O middleware é uma camada de software que intermedeia aplicações de alto e baixo nível, viabilizando recursos básicos de comunicação.
	A
	
	V – F – V – F.
	B
	
	V – V – F – V.
	C
	
	V – V – V – F.
	D
	
	F – F – V – F.
	E
	
	F – F – F – V.
Questão 5 : A situação de conflito entre transações concorrentes de um sistema distribuído é definida quando osefeitos de duas ou mais operações dependem da ordem em que elas são executadas.
 
Assinale a alternativa que representa os sintomas identificados que geram conflito entre operações:
Resposta Errada! A resposta correta é a opção C
Justificativa:O conflito pode ocorrer quando duas ou mais operações de diferentes transações estão em execução e pelo menos uma delas realiza uma escrita. Logo, o conflito ocorre quando a transação T1 executa uma operação de leitura e T2 executa uma operação de escrita.
 
Se a transação T1 executa uma operação de leitura seguida por outra operação de escrita, têm-se somente operações de uma mesma transação, o que não gera o conflito. Quando há duas transações, T1 e T, ambas executando operações de leitura, não ocorre o conflito, pois esse evento acontece somente quando existe pelo menos uma operação de escrita. Se há transações T2 executando uma operação de escrita e a operação de T1 aguarda para executar uma operação de leitura, não ocorre o conflito, pois existe uma regra sendo seguida pelas operações que determinam a ordem das operações. Em uma situação em que T2 confirmou uma operação de escrita e T1 solicita uma operação de escrita, o conflito não ocorre, pois a confirmação da operação de escrita indica que a escrita já foi efetivada antes de ocorrer a operação de leitura de T1.
	A
	
	A transação T1 executa uma operação de leitura seguida por outra operação de escrita.
	B
	
	A transação T1 executa uma operação de leitura, e a transação T2 executa uma operação de leitura.
	C
	
	A transação T1 executa uma operação de leitura, e a transação T2 executa uma operação de escrita.
	D
	
	A transação T2 executa uma operação de escrita, e a transação T1 aguarda para executar uma operação de leitura.
	E
	
	A transação T2 confirmou uma operação de escrita, e T1 solicita uma operação de escrita.
Questão 6 : Entre as diversas falhas possíveis em um sistema distribuído, as falhas de comunicação são as mais aparentes e podem ocorrer por diversos contextos diferentes. Falhas de comunicação em um sistema distribuído tolerante a falhas podem ser classificadas em basicamente cinco tópicos:
 
I. O cliente não consegue localizar o servidor.
 
II. A mensagem de requisição do cliente para o servidor se perde.
 
III. O servidor cai após receber uma requisição.
 
IV. A mensagem do cliente para o servidor se perde.
 
V. O cliente cai após enviar uma requisição.
 
Algumas dessas falhas podem ser resolvidas facilmente com um mecanismo de contagem de tempo de requisições ou dados que já foram enviados e aguardam resposta. Esses cenários são:
Resposta Errada! A resposta correta é a opção E
Justificativa:Todas as falhas possíveis em troca de mensagens podem, de fato, ser solucionadas com temporizadores, de forma que, se alguma requisição não chegou ao servidor, ou mesmo o cliente caiu, tanto um quanto o outro podem reenviar, ao término da temporização sem uma resposta, uma nova mensagem de resposta ou requisição. A participação do cenário I, em que a comunicação nem mesmo chegou a ser realizada, inviabiliza a opção. Se o serviço ou servidor nem mesmo está disponível por qualquer motivo interno ou externo que seja, não é possível estabelecer uma conexão, fazendo com que o uso de temporizador seja inútil. Compreenda que o uso de temporizadores faz sentido quando há ao menos a possibilidade de estabelecer uma conexão entre cliente e servidor e, caso haja perda de pacotes ou de alguma requisição qualquer, o temporizador pode refazer a mesma solicitação que não foi respondida.
	A
	
	I, III, V.
	B
	
	I, IV, V.
	C
	
	I, II, V.
	D
	
	I, II, III, V.
	E
	
	II, III, IV, V.
Questão 7 : Os dois principais modelos arquiteturais de sistemas distribuídos são: cliente/servidor e peer-to-peer. Uma das principais diferenças entre eles é que o modelo cliente/servidor é o compartilhamento de recursos entre processos clientes e servidores distintos. Por outro lado, o modelo peer-to-peer não considera distinção entre processos servidores e clientes, em que todos os processos envolvidos na execução de uma tarefa desempenham papeis semelhantes.
 
Sobre as vantagens e desvantagens desses modelos arquiteturais, analise as alternativas abaixo e considere [V] para Verdadeiro e [F] para Falso.
 
[ ] Em termos de implementação, a implementação do modelo cliente/sevidor é mais fácil quando comparada com a implementação do modelo peer-to-peer.
[ ] Em termos de custos de implantação, a implantação do modelo cliente/servidor é mais barato que o modelo peer-to-peer.
[ ] Em termos de segurança, o modelo cliente/servidor é considerado mais seguro que o modelo peer-to-peer.
[ ] Em termos de disponibilidade, o modelo cliente/servidor apresenta desvantagens quando comparado ao modelo peer-to-peer.
Resposta Errada! A resposta correta é a opção B
Justificativa:A estratégia do modelo cliente/servidor é simples e direta, portanto a implementação do cliente/servidor é menos complexa. Quanto aos custos de implantação, o modelo cliente/servidor é mais caro que o modelo peer-to-peer, o projeto baseado no modelo cliente/servidor deve arcar, pelo menos, com os custos de inicialização do sistema (equipe especializada, técnicos de redes, entre outros), enquanto no modelo peer-to-peer a configuração inicial é realizada por cada nodo, os quais definem suas próprias configurações e permissões.
 
Com relação à segurança, o modelo peer-to-peer apresenta desvantagens, já que arquivos podem ser acessados indevidamente, pois os usuários tipicamente não precisam realizar login previamente no sistema, enquanto no modelo cliente/servidor há garantia de segurança em diferentes aspectos, por exemplo, o servidor pode controlar melhor o acesso e os recursos compartilhados de modo a garantir que apenas os clientes com as permissões apropriadas possam acessar e alterar dados.
 
Considerando a disponibilidade, o modelo peer-to-peer apresenta vantagens quando comparado ao modelo cliente/servidor, uma vez que no modelo peer-to-peer umas das suas principais características é a descentralização. Logo, se algum nodo falhar nesse modelo arquitetural, não irá comprometer o sistema, pois cada cliente também é um servidor e vice-versa. Ao contrário do modelo cliente/servidor, no qual uma das principais características é a centralização e, dessa forma, se o nodo servidor falhar, por exemplo, o sistema ficará temporariamente inoperante, considerando que os papéis de cliente e servidor nesse modelo são distintos.
	A
	
	V – V – V – V.
	B
	
	V – V – F – V.
	C
	
	V – F – V – V.
	D
	
	V – F – V – F.
	E
	
	V – V – F – F.
Questão 8 : A camada de transporte é responsável por fornecer um transporte de mensagens entre os pares remetente e destino independentemente do tipo de rede empregado. Em outras palavras, nessa camada, as portas representadas por processos permitem a transmissão bidirecional de dados de um processo host de origem a um processo em um nodo de destino específico. A camada de transporte implementa um protocolo que permite o controle de fluxo e a soma de verificação de conteúdo.
 
Qual é o nome desse protocolo?
Resposta Errada! A resposta correta é a opção D
Justificativa:O protocolo que permite o controle de fluxo e a soma de verificação é o TCP. O protocolo UDP não viabiliza uma entrega confiável de mensagens e o fim, o protocolo IP não faz parte da camada de transporte de redes de computadores. Cliente/Servidor e Peer-to-Peer são modelos arquiteturais de Sistemas Distribuídos.
	A
	
	Cliente/servidor.
	B
	
	IP.
	C
	
	UDP.
	D
	
	TCP.
	E
	
	Peer-to-peer.
Questão 9 : Na Universidade do Brasil, o campus tem vários prédios, e para cada prédio existe uma rede sem fio diferente. Os estudantes estão frustrados porque não conseguem manter-se conectados à Internet com seus celulares quando trocam de prédio, embora a infraestrutura de rede esteja projetada com vários roteadores para cobrir todo o campus. O que precisa ser implementado para resolver esse problema do sistema distribuído de Internet da Universidade Brasil?
Resposta Errada! A resposta corretaé a opção D
Justificativa:O sistema distribuído da Universidade poderia ser implementado de maneira mais abstrata ao usuário. Assim que o nível do sinal da rede sem fio baixar, o sistema poderia realocar o usuário para um roteador com sinal melhor sem perder a conexão com a Internet. Balanceamento de carga e comunicação assíncrona são técnicas que auxiliam na implementação de um sistema escalável. A disponibilidade de recursos e a escalabilidade não são um problema nesse caso, pois os recursos estão disponíveis, e nada relativo ao desempenho da Internet foi abordado nesta questão.
	A
	
	Comunicação assíncrona.
	B
	
	Escalabilidade.
	C
	
	Disponibilidade de recursos.
	D
	
	Abstração
	E
	
	Balanceamento de carga.
Questão 10 : A heterogeneidade está presente nas redes, hardwares, sistemas operacionais, linguagens de programação e códigos dos desenvolvedores.
 
Qual das seguintes tecnologias é usada para abstrair a heterogeneidade no hardware em sistemas distribuídos?
Resposta Errada! A resposta correta é a opção B
Justificativa:RMI, CORBA e RPC são middlewares que simplificam a comunicação entre processos em diferentes plataformas. SOAP é um protocolo de comunicação entre diferentes sistemas na Web. JVM é uma máquina virtual que permite interpretar bytecode e executar em diferentes hardwares (ex.: celulares e computadores). Programas escritos em linguagens que geram bytecode podem ser executados na JVM (ex.: Java, Scala e Groovy).
	A
	
	RMI (Remote Method Invocation).
	B
	
	JVM (Java Virtual Machine).
	C
	
	CORBA (Common Object Request Broker Architecture).
	D
	
	RPC (Remote Procedure Call).
	E
	
	SOAP (Simple Object Access Protocol). v
Questão 1 : A arquitetura de um comunicação envolve muitos processos e elementos importantes. É necessário entendê-la porque ela é a estrutura, a base que os processos utilizam dentro um sistema distribuído para realizar uma comunicação. Em uma arquitetura de comunicação, existem particularidades e mecanismos que auxiliam nesse processo. Sobre as particularidades e os elementos que a envolvem, analise as assertivas a seguir.
 
I. Um elemento que serve de mediador da comunicação ou da cooperação entre componentes, realizando as chamadas de procedimentos (remotos), passagem de mensagem ou fluxo de dados é conhecido como componente.
 
II. Síncrona, conhecida como conector, é uma operação que atua como não bloqueante no envio de mensagens.
 
III. O conector media a comunicação entre componentes, realiza chamadas remotas e passagem de mensagem entre processos.
 
IV. Componente faz parte de uma arquitetura de comunicação, atuando com conectores.
 
Quais estão corretas?
Resposta Errada! A resposta correta é a opção C
Justificativa:O item I está incorreto, por tratar do conceito de conector, e não de componente. O item II está incorreto, porque conector não é conhecido como síncrona (uma das formas de comunicação e troca de mensagens). O item III está correto, por tratar corretamente o conceito de conector. O IV aborda de forma correta o conceito de componentes.
	A
	
	Apenas I e IV.
	B
	
	Apenas II e III.
	C
	
	Apenas III e IV.
	D
	
	Apenas I e III.
	E
	
	Apenas II.
Questão 2 : As transações distribuídas possibilitam o acesso de objetos compartilhados por diversos servidores de um sistema distribuído.
 
Sobre as transações distribuídas aninhadas, é correto afirmar:
Acertou! A resposta correta é a opção A
Justificativa:É correto afirmar que as transações aninhadas têm um desempenho superior em relação ás transações planas, pois executam as suas operações em paralelo, enquanto que as transações planas executam de modo sequencial. O coordenador participa do protocolo de confirmação atômica somente em transações planas, não sendo empregado nas transações aninhadas. O início do protocolo de confirmação atômica das transações aninhadas ocorre quando uma transação de nível superior termina, e não quando o cliente solicita a confirmação da transação. O conceito de subtransação ascendente caracteriza uma transação que gerou subtransações. Durante a execução do protocolo de confirmação atômica, uma subtransação pode decidir de maneira independente se passará ao estado confirmada provisoriamente.
	A
	
	Têm um desempenho superior em relação às transações distribuídas aninhadas.
	B
	
	Empregam um coordenador para gerenciar a execução do protocolo de confirmação atômica.
	C
	
	Iniciam o protocolo de comunicação atômica quando o cliente solicita a confirmação da transação.
	D
	
	O conceito subtransação ascendente caracteriza um tipo de transação gerada a partir de uma transação superior.
	E
	
	Quando uma subtransação termina durante o protocolo de confirmação atômica, ela deve avisar à entidade gerenciadora da transação quando passará ao estado confirmada provisoriamente.
Questão 3 : Um cluster é composto por várias máquinas conectadas em uma rede de alta velocidade.
 
Qual é o tipo de sistema distribuído a que ele pertence? ​​​​​​​
Resposta Errada! A resposta correta é a opção D
Justificativa:Os sistemas distribuídos podem ser classificados em três grandes grupos: sistemas de computação, sistemas corporativos e sistemas pervasivos. Os sistemas de computação distribuídos são usados para o processamento intensivo, como cluster e grades computacionais. Sistemas pervasivos distribuídos são equipados de sistemas embarcados e móveis. Os sistemas distribuídos corporativos são compostos de ambientes heterogêneos na comunicação usuário-provedor, bem como construídos no modelo publish-subscribe.
	A
	
	Sistemas pervasivos.
	B
	
	Sistemas corporativos.
	C
	
	Sistemas embarcados.
	D
	
	Sistemas de computação.
	E
	
	Sistemas heterogêneos.
Questão 4 : Graças ao desenvolvimento dos microprocessadores e da evolução do sistema computacional, em que os usuários passaram a usar computadores em rede, nasceram os sistemas distribuídos. Nesses sistemas, é necessário desenvolver técnicas eficientes para a distribuição de todos os processos que envolvem os elementos de processamento.
 
​​​​​​​Qual o nome da atividade que define quais processos poderão ser processados em um sistema distribuído?
Resposta Errada! A resposta correta é a opção B
Justificativa:Semáforo é exemplo de comunicação em sistemas não distribuídos. O escalonamento é uma atividade que define quais processos podem ser realizados, por meio da atuação de uma peça fundamental do sistema operacional (SO): o escalonador. Computadores multiprogramados têm múltiplos processos ou threads (uma ou mais tarefas que determinado programa realiza) competindo pela central process unit (CPU) ao mesmo tempo. Isso ocorre porque dois ou mais processos estão no estado ativo, prontos para uso, concomitantemente. Quando somente uma CPU está no estado pronto, realiza-se uma escolha em relação aos processos. Síncrona, sockete e cliente-servidor são meios de comunicação em um sistema distribuído e não estão relacionados com o processo de escalonamento.
	A
	
	Semáforo.
	B
	
	Escalonamento.
	C
	
	Síncrona.
	D
	
	Sockete
	E
	
	Cliente-servidor.
Questão 5 : A comunicação em sistemas distribuídos é realizada por meio de troca de mensagens devido à carência diretamente relacionada a uma das principais dificuldades enfrentadas por todo e qualquer projetista de um modelo arquitetural de um sistema distribuído. Qual é o nome dessa carência?
Acertou! A resposta correta é a opção E
Justificativa:A comunicação em um sistema distribuído é realizada através de troca de mensagens devido à ausência de memória global compartilhada entre os componentes. A ausência de relógio global não interfere na comunicação entre os componentes em um sistema distribuído. Protocolos devem ser considerados para estabelecimento de conexões entre os componentes. A existência de padrões (ou não) não está dentre as principais dificuldade enfrentadas pelos projetistas, bem como o papel de um middleware.
	A
	
	Ausência de relógio global.
	B
	
	Ausência de protocolos estabelecidos entre os componentes.
	C
	
	Ausência de padrões nas definições dos modelos arquiteturais.D
	
	Ausência de um middleware responsável por prover a comunicação entre os componentes.
	E
	
	Ausência de memória global compartilhada entre os componentes.
Questão 6 : Sabendo que sistemas distribuídos são constituídos de diferentes hardware e software, um dos propósitos de um middleware é mascarar a heterogeneidade. O modelo peer-to-peer é um dos principais modelos arquiteturais em sistemas distribuídos. Visando à comunicação nesses sistemas, o RPC (Chamada de Procedimento Remota) é dos paradigmas de comunicação. Ademais, a ausência de relógio global é uma das principais dificuldades enfrentas nesse contexto.
 
Sobre modelos arquiteturais, estilos arquitetônicos e paradigmas de comunicação, analise as alternativas abaixo e considere [V] para Verdadeiro e [F] para Falso.
 
[ ] Considerando uma aplicação que fornece o serviço de troca de e-mails, o modelo arquitetural peer-to-peer é sempre mais eficiente que uma arquitetura centralizada quando considerada uma aplicação.
[ ] O paradigma de comunicação RPC (Chamada de Procedimento Remota) é necessariamente síncrono.
[ ] Relógios lógicos também podem ser usados para sincronização de informações.
[ ] Middleware é uma camada de software logicamente localizada entre aplicativos de alto nível, sistema operacional de baixo nível e recursos básicos de comunicação.
 
​​​​​​​Assinale a allternativa correta.
Resposta Errada! A resposta correta é a opção A
Justificativa:Considerando uma aplicação que oferece serviço de troca de e-mail, a primeira alternativa está correta, uma vez que a centralização de recursos não é uma característica condizente com a aplicação em questão. O RPC também pode ser assíncrono, o mecanismo prossegue normalmente ao receber uma chamada de procedimento remota e a chamada é armazenada para que seja possível realizar a sua execução posteriormente. Relógios lógicos ou contadores também podem ser usados para sincronizar informações as quais não estão relacionadas com o tempo real de forma direta. O middleware é uma camada de software que intermedeia aplicações de alto e baixo nível, viabilizando recursos básicos de comunicação.
	A
	
	V – F – V – F.
	B
	
	V – V – F – V.
	C
	
	V – V – V – F.
	D
	
	F – F – V – F.
	E
	
	F – F – F – V.
Questão 7 : A heterogeneidade está presente nas redes, hardwares, sistemas operacionais, linguagens de programação e códigos dos desenvolvedores.
 
Qual das seguintes tecnologias é usada para abstrair a heterogeneidade no hardware em sistemas distribuídos?
Resposta Errada! A resposta correta é a opção B
Justificativa:RMI, CORBA e RPC são middlewares que simplificam a comunicação entre processos em diferentes plataformas. SOAP é um protocolo de comunicação entre diferentes sistemas na Web. JVM é uma máquina virtual que permite interpretar bytecode e executar em diferentes hardwares (ex.: celulares e computadores). Programas escritos em linguagens que geram bytecode podem ser executados na JVM (ex.: Java, Scala e Groovy).
	A
	
	RMI (Remote Method Invocation).
	B
	
	JVM (Java Virtual Machine).
	C
	
	CORBA (Common Object Request Broker Architecture).
	D
	
	RPC (Remote Procedure Call).
	E
	
	SOAP (Simple Object Access Protocol). v
Questão 8 : A taxonomia de Flynn é amplamente utilizada para classificar sistemas computacionais e arquiteturas baseando-se no fluxo de instruções e no fluxo de dados. Em qual das seguintes classificações se encontram os supercomputadores?
Acertou! A resposta correta é a opção E
Justificativa:Nesse sistema distribuído, um mesmo programa é executado em múltiplas máquinas, em que também são executadas diferentes instruções sob diferentes dados. Como as quatro classes propostas por Flynn (SISD, MISD, SIMD e MIMD) não preveem o nível de execução de um programa, os supercomputadores são classificados como SPMD (Single Program Multiple Data).
	A
	
	SISD (Single Instruction Single Data).
	B
	
	MISD (Multiple Instructions Single Data).
	C
	
	SIMD (Single Instruction Multiple Data).
	D
	
	MIMD (Multiple Instructions Multiple Data).
	E
	
	SPMD (Single Program Multiple Data).
Questão 9 : Em um sistema distribuído, é necessário desenvolver técnicas eficientes para a distribuição de todos os processos que envolvem os elementos de processamento. Entende-se por distribuição a atividade de escalonamento de processos. A figura a seguir demonstra um método de algoritmo de escalanamento conhecido como prioridade:
 
​​​Além do método por prioridade, no algoritmo de escalonamento de sistemas em lote há quais exemplos?
Resposta Errada! A resposta correta é a opção E
Justificativa:Chaveamento circular (round-robin), prioridades, múltiplas filas, shortest process next, garantido e lottery são exemplos de algoritmos de escalonamento de sistemas interativos. Interativo e tempo real são exemplos de sistemas em que há algoritmos de escalonamento, já garantido é um exemplo de algoritmo de escalonamento de sistemas interativos. Os sistemas em lote têm três exemplos de algoritmo de escalonamento: First-come First-served (FIFO), Shortest job first (SJF) e Shortest remaining time next (SRTN). Cada um deles tem suas particularidades, sendo que o FIFO é o mais utilizado.
	A
	
	Chaveamento circular (round-robin), prioridade e múltiplas filas.
	B
	
	Shortest process next, garantido e lottery.
	C
	
	Interativo, tempo real e garantido.
	D
	
	Chaveamento circular (round-robin), prioridade e garantido.
	E
	
	First-come First-served, Shortest job first e Shortest remaining time next.
Questão 10 : O controle de concorrência otimista parte da hipótese de que o ônus da implantação das medidas de controle é maior do que o ônus gerado pela ocorrência de conflitos.
 
Sobre o controle de concorrência otimista, é correto afirmar:
Resposta Errada! A resposta correta é a opção E
Justificativa:É correto afirmar que as alterações realizadas nas versões de tentativa são tornadas permanentes na fase de atualização, pois essa fase usa essas estruturas para identificar eventuais conflitos. Mesmo usando uma perspectiva otimista, a abordagem considera a ocorrência de conflitos, mas trata-os na fase de validação. As versões de tentativa realmente atuam como uma cópia de determinado objeto; no entanto, elas são criadas na fase de trabalho, e não na fase de atualização. As operações de leitura ocorrem diretamente no objeto durante a fase de trabalho, pois as versões de tentativas são empregadas somente em operações de escrita. Na abordagem de validação para trás, a transação é validada em relação às transações sobrepostas precedentes. As transações sobrepostas precedentes são consideradas na abordagem de validação para frente.
	A
	
	Por assumir uma perspectiva otimista, a abordagem desconsidera a ocorrência de conflitos.
	B
	
	Versões de tentativa atuam como cópia destinada de um objeto e são criadas na fase atualização da abordagem de controle de concorrência otimista.
	C
	
	As operações de leituras ocorrem nas versões de tentativa na fase de trabalho, pois o objeto compartilhado fica inacessível.
	D
	
	Na abordagem de validação para trás, uma transação T é validada em relação às transações sobrepostas precedentes.
	E
	
	As alterações realizadas nas versões de tentativa são tornadas permanentes na fase de atualização.
Questão 1 : Ataques à integridade dos dados quando da execução de códigos móveis e da negação de serviços são ameaças externas relacionadas ao desafio da segurança de um sistema distribuído. Essas ameaças não têm soluções prévias e padronizadas e estão entre as principais dificuldades inerentes ao projeto inicial de um sistema distribuído.
 
Considerando os três modelos físicos para sistemas distribuídos, qual é o modelo que considera essa dificuldade como nula ou irrisória?
Acertou! A resposta correta é a opção A
Justificativa:Considerando que o modelo físico de sistemas distribuídos primitivos foi o primeiro apresentado pela literatura, ao final dos anos 1970 e início dos anos 1980, ele surgiu em resposta ao avanço da tecnologia da época, especialmente das redes locais. Dessa forma, pode-sedizer que essa primeira geração dos modelos físicos não contemplava de forma prioritária determinados desafios que atualmente são emergenciais nos sistemas distribuídos contemporâneos, como a segurança. Nos sistemas distribuídos adaptados para a Internet e nos sistemas distribuídos contemporâneos, o desafio da segurança passa a ser uma meta emergente. Sistemas distribuídos de sistemas não existem. Por fim, sistemas distribuídos ubíquos não são modelos físicos de sistemas distribuídos.
	A
	
	Sistemas distribuídos primitivos.
	B
	
	Sistemas distribuídos adaptados para a Internet.
	C
	
	Sistemas distribuídos contemporâneos.
	D
	
	Sistemas distribuídos ubíquos. v
	E
	
	Sistemas distribuídos de sistemas.
Questão 2 : Quando se fala em sistemas distribuídos, fala-se de agrupamento de recursos computacionais para determinado fim. Nesse contexto, há basicamente dois tipos: grupo simples e grupo hierárquico. Para grupos simples, existe redundância de links de acesso entre os nós participantes, mas, para o agrupamento hierárquico, existe um nó coordenador que define para qual nó operário determinada comunicação deve ser direcionada. Mas quando esse nó falha e não existe uma replicação direta para ele, o que acontece?
Resposta Errada! A resposta correta é a opção C
Justificativa:Como é comum em sistemas distribuídos agrupados de forma hierárquica, os nós participantes conhecem seus vizinhos, e métricas são trocadas para que haja uma eleição entre os nós. Aquele com as melhores métricas assume o papel de coordenador daquele grupo hierárquico.É importante sempre lembrar que o objetivo de um sistema distribuído, sendo ou não tolerante a falhas, é manter a transparência ao usuário. Assim, permitir que o usuário compreenda que houve um erro nunca é o objetivo. Lançar exceções ao usuário só pode ser um contexto aceitável se o cliente conectado estiver utilizando um software que possa tratar essa exceção sem deixar claro para o usuário. Não é concebível a ideia de que um sistema distribuído, tolerante ou não tolerante a falhas, tenha como parte de seu algoritmo tempo de espera e downtime.
	A
	
	Assim que os computadores participantes do grupo de nós percebem que não há um coordenador, o sistema como um todo para, sem enviar sinais de exceção aos clientes, e aguarda que um novo nó com a função de coordenador seja substituído.
	B
	
	Assim que os computadores participantes do grupo de nós percebem que não há um coordenador, é lançada uma exceção entre os servidores operários para que eles aguardem novas instruções de um novo servidor coordenador. Os servidores terminam seu processamento atual, respondem para seus clientes e, por fim, aguardam.
	C
	
	Assim que os computadores participantes do grupo de nós percebem que não há um coordenador, é feita uma eleição de forma específica e com métricas bem determinadas entre os nós operários para que um deles assuma o papel de coordenador.
	D
	
	Assim que os computadores participantes do grupo de nós percebem que não há um coordenador, todas as conexões com os clientes são encerradas por meio de exceção, e um temporizador aleatório para cada nó é acionado até que haja um novo coordenador. Esse processo se repete até que possa haver um nó coordenador.
	E
	
	Assim que os computadores participantes do grupo de nós percebem que não há um coordenador, assumem por tempo indeterminado sua própria gestão até que seja possível a substituição por um novo coordenador, que, ao participar do grupo, avisa para todos os nós de seu papel, assumindo novamente o controle.
Questão 3 : Um problema foi identificado ao integrar o sistema Sempre Investindo com o software desenvolvido para a corretora de seguros Mais Valor. O relatório recebido do suporte técnico informa que a transação distribuída plana do sistema não está conseguindo efetivar as suas operações.
 
Assinale a alternativa que representa os sintomas identificados que geraram essa conclusão:
Resposta Errada! A resposta correta é a opção E
Justificativa:Os sintomas identificados ocorrem se a variável de retorno do método Gravar estiver fixa com o valor falso. O método Gravar é invocado pelo coordenador do protocolo solicitando que o participante confirme a transação. Um erro de programação desse método afeta diretamente a efetivação das operações de uma transação plana. Uma subtransação pertence a uma transação distribuída aninhada do sistema. Logo, esse fato não prejudica a efetivação da transação distribuída plana. Os temporizadores são usados para controlar o atraso da comunicação entre o coordenador e um participante e, sempre que são ultrapassados, o método é automaticamente invocado novamente. Assim, observar atrasos na comunicação entre os métodos pode prejudicar o desempenho do sistema distribuído, mas não compromete a efetivação das operações da transação distribuída plana. A transação de nível superior é responsável por gerenciar a execução do protocolo de confirmação atômica em transações aninhadas. Por tanto, esse fato não prejudicaria a execução do protocolo na transação plana. Sempre que um participante está em situação de incerteza, ele se comunica com o coordenador, por meio do método solicita Decisão, para saber como proceder, logo, essa não é a causa do problema.
	A
	
	A subtransação descendente da transação de nível superior sofreu uma falha.
	B
	
	Os limites dos temporizadores usados para controlar a comunicação entre os métodos foram ultrapassados.
	C
	
	A transação de nível superior voltou informando estar incapaz de confirmar transações.
	D
	
	Um participante da transação se encontra em estado de incerteza.
	E
	
	A variável de retorno do método Gravar está fixa com o valor falso.
Questão 4 : A camada de transporte é responsável por fornecer um transporte de mensagens entre os pares remetente e destino independentemente do tipo de rede empregado. Em outras palavras, nessa camada, as portas representadas por processos permitem a transmissão bidirecional de dados de um processo host de origem a um processo em um nodo de destino específico. A camada de transporte implementa um protocolo que permite o controle de fluxo e a soma de verificação de conteúdo.
 
Qual é o nome desse protocolo?
Resposta Errada! A resposta correta é a opção D
Justificativa:O protocolo que permite o controle de fluxo e a soma de verificação é o TCP. O protocolo UDP não viabiliza uma entrega confiável de mensagens e o fim, o protocolo IP não faz parte da camada de transporte de redes de computadores. Cliente/Servidor e Peer-to-Peer são modelos arquiteturais de Sistemas Distribuídos.
	A
	
	Cliente/servidor.
	B
	
	IP.
	C
	
	UDP.
	D
	
	TCP.
	E
	
	Peer-to-peer.
Questão 5 : O jogo EVE Online foi construído sob um sistema distribuído robusto capaz de suportar milhares de usuários ao mesmo tempo. Foi um dos projetos bem-sucedidos para aquela época. Qual das seguintes opções a seguir apresenta os itens do projeto dessa aplicação distribuída?
Acertou! A resposta correta é a opção B
Justificativa:Este jogo foi construído sob o modelo cliente-servidor. A cópia do estado do jogo fica armazenada em um servidor que é usado para manter os clientes atualizados. O servidor é composto por um agregado de computadores (cluster), onde a carga é particionada. O modelo ponto a ponto vem sendo adotado em jogos on-line mais modernos, como o Call of Duty: Modern Warfare, fazendo uso dos recursos computacionais dos usuários.
	A
	
	Modelo ponto a ponto, particionamento de carga, aglomerado de computadores (cluster) e modelo cliente-servidor.
	B
	
	Modelo cliente-servidor, aglomerado de computadores (cluster), particionamento de carga e monitoramento.
	C
	
	Aglomerado de computadores (cluster), modelo cliente-servidor e modelo ponto a ponto.
	D
	
	Particionamento de carga, modelo ponto a ponto, modelo cliente-servidor.
	E
	
	Monitoramento, modelo ponto a ponto, particionamento de carga e modelo cliente-servidor.
Questão 6 : Um carimbo de tempo, ou timestamp, consiste em um valor inteiro que representa a combinação de um horário de uma dataespecífica capaz de representar o momento de criação de uma operação de uma transação. A abordagem de ordenação por carimbo de tempo emprega esse valor como critério para determinar a prioridade de uma operação. Assuma a existência de cinco transações, T1, T2, T3, T4 e T5, em que a relação entre o valor dos seus carimbos é T1>T2>T3>T4>T5.
 
Com base nesse cenário, é correto afirmar:
Resposta Errada! A resposta correta é a opção E
Justificativa:O correto é afirmar que, se T4 escreve e T1 já estava registrada, então depois da operação a ordem será T4, T1, pois T1 tem o maior valor entre os carimbos de tempo. Pelo mesmo motivo, se T1 escreve e T2 já estava registrada, então depois da operação a ordem será T2, T1. Se T2 escreve e T5 já estava registrada, então depois da operação a ordem será T5, T2, pois T5 tem o menor valor de carimbo de tempo. Essa mesma explicação justifica que, se T5 escreve e T3 já estava registrada, então depois da operação a ordem será T5, T3. Se T3 escreve e T4 já estava registrada, então depois da operação a ordem será T4, T3, pois T3 é maior do que T4.
	A
	
	Se T1 escreve e T2 já estava registrada, então depois da operação a ordem será T1, T2.
	B
	
	Se T2 escreve e T5 já estava registrada, então depois da operação a ordem será T2, T5.
	C
	
	Se T3 escreve e T4 já estava registrada, então depois da operação a ordem será T3, T4.
	D
	
	Se T5 escreve e T3 já estava registrada, então depois da operação a ordem será T3, T5.
	E
	
	Se T4 escreve e T1 já estava registrada, então depois da operação a ordem será T4, T1.
Questão 7 : Sabendo que sistemas distribuídos são constituídos de diferentes hardware e software, um dos propósitos de um middleware é mascarar a heterogeneidade. O modelo peer-to-peer é um dos principais modelos arquiteturais em sistemas distribuídos. Visando à comunicação nesses sistemas, o RPC (Chamada de Procedimento Remota) é dos paradigmas de comunicação. Ademais, a ausência de relógio global é uma das principais dificuldades enfrentas nesse contexto.
 
Sobre modelos arquiteturais, estilos arquitetônicos e paradigmas de comunicação, analise as alternativas abaixo e considere [V] para Verdadeiro e [F] para Falso.
 
[ ] Considerando uma aplicação que fornece o serviço de troca de e-mails, o modelo arquitetural peer-to-peer é sempre mais eficiente que uma arquitetura centralizada quando considerada uma aplicação.
[ ] O paradigma de comunicação RPC (Chamada de Procedimento Remota) é necessariamente síncrono.
[ ] Relógios lógicos também podem ser usados para sincronização de informações.
[ ] Middleware é uma camada de software logicamente localizada entre aplicativos de alto nível, sistema operacional de baixo nível e recursos básicos de comunicação.
 
​​​​​​​Assinale a allternativa correta.
Resposta Errada! A resposta correta é a opção A
Justificativa:Considerando uma aplicação que oferece serviço de troca de e-mail, a primeira alternativa está correta, uma vez que a centralização de recursos não é uma característica condizente com a aplicação em questão. O RPC também pode ser assíncrono, o mecanismo prossegue normalmente ao receber uma chamada de procedimento remota e a chamada é armazenada para que seja possível realizar a sua execução posteriormente. Relógios lógicos ou contadores também podem ser usados para sincronizar informações as quais não estão relacionadas com o tempo real de forma direta. O middleware é uma camada de software que intermedeia aplicações de alto e baixo nível, viabilizando recursos básicos de comunicação.
	A
	
	V – F – V – F.
	B
	
	V – V – F – V.
	C
	
	V – V – V – F.
	D
	
	F – F – V – F.
	E
	
	F – F – F – V.
Questão 8 : Uma equipe de engenheiros de software está criando um aplicativo para monitorar os sinais vitais de uma pessoa, usando uma rede de sensores.
 
Qual das seguintes opções são preocupações que fazem parte desse projeto de sistema distribuído?
Resposta Errada! A resposta correta é a opção C
Justificativa:Um sistema distribuído pervasivo que deseja monitorar os sinais vitais de uma pessoa deve se preocupar primordialmente em lidar com os desafios de perda dos dados, segurança, privacidade, envio de alertas, robustez no monitoramento e diagnóstico online. O médico precisa saber a localização do paciente e dos dispositivos, a fim de não comprometer uma vida com o diagnóstico para uma pessoa errada.
	A
	
	Perda de dados e transparência.
	B
	
	Segurança, transparência e privacidade.
	C
	
	Privacidade, perda de dados, segurança e envio de alertas.
	D
	
	Envio de alertas, transparência e perda de dados.
	E
	
	Transparência, envio de alertas e privacidade.
Questão 9 : Na Universidade do Brasil, o campus tem vários prédios, e para cada prédio existe uma rede sem fio diferente. Os estudantes estão frustrados porque não conseguem manter-se conectados à Internet com seus celulares quando trocam de prédio, embora a infraestrutura de rede esteja projetada com vários roteadores para cobrir todo o campus. O que precisa ser implementado para resolver esse problema do sistema distribuído de Internet da Universidade Brasil?
Resposta Errada! A resposta correta é a opção D
Justificativa:O sistema distribuído da Universidade poderia ser implementado de maneira mais abstrata ao usuário. Assim que o nível do sinal da rede sem fio baixar, o sistema poderia realocar o usuário para um roteador com sinal melhor sem perder a conexão com a Internet. Balanceamento de carga e comunicação assíncrona são técnicas que auxiliam na implementação de um sistema escalável. A disponibilidade de recursos e a escalabilidade não são um problema nesse caso, pois os recursos estão disponíveis, e nada relativo ao desempenho da Internet foi abordado nesta questão.
	A
	
	Comunicação assíncrona.
	B
	
	Escalabilidade.
	C
	
	Disponibilidade de recursos.
	D
	
	Abstração
	E
	
	Balanceamento de carga.
Questão 10 : Um sistema distribuído é composto de vários computadores em rede compartilhando recursos. Qual das seguintes opções apresenta somente os objetivos de um sistema distribuído?
Resposta Errada! A resposta correta é a opção C
Justificativa:Um sistema distribuído tem como objetivos: abstrair os detalhes de hardware e software para dar a impressão de um sistema único ao usuário; oferecer disponibilidade dos recursos com acesso amplo e fácil aos usuários; permitir a escalabilidade de recursos computacionais, usuários e domínios administrativos; e tornar o sistema aberto para que os componentes de software possam ser extensíveis. A distribuição de carga é uma técnica usada na implementação do objetivo de escalabilidade. O paralelismo é uma característica de sistemas distribuídos.
	A
	
	Abstração, paralelismo, escalabilidade e sistema aberto.
	B
	
	Distribuição de trabalho, abstração, escalabilidade e sistema aberto.
	C
	
	Disponibilidade de recursos, abstração, escalabilidade e sistema aberto.
	D
	
	Escalabilidade, disponibilidade de recursos, paralelismo e sistema aberto.
	E
	
	Sistema aberto, paralelismo, distribuição de carga e abstração.
Questão 1 : Durante o seu ciclo de vida, uma transação assume diferentes estados em um sistema distribuído.
 
Assinale a alternativa correta sobre os estados de uma transação distribuída:
Acertou! A resposta correta é a opção E
Justificativa:O correto é afirmar que a transação é criada no estado ativo e permanece nele durante a sua execução. Uma transação está falha quando existe um desvio do funcionamento correto das suas operações, mas o cancelamento propriamente dito ocorre quando a transação se encontra no estado abortado. O estado de efetivação provisória não registra os resultados de suas operações em um meio de armazenamento permanente, não podendo garantir que uma subtransação será confirmada. Esse registro ocorre somente quando a transação se encontra no estado preparado para confirmar.
	A
	
	Uma transação falha está cancelada.
	B
	
	O estado abortado ocorre devido ao desvio do funcionamento correto de uma transação.
	C
	
	O estado de efetivação provisória garante que uma subtransação poderá serconfirmada.
	D
	
	Uma transação preparada para confirmar registra o resultado de suas operações em um meio de armazenamento temporário.
	E
	
	A transação é criada no estado ativo e permanece nele durante a execução de suas operações.
Questão 2 : Um sistema distribuído é composto de vários computadores em rede compartilhando recursos. Qual das seguintes opções apresenta somente os objetivos de um sistema distribuído?
Resposta Errada! A resposta correta é a opção C
Justificativa:Um sistema distribuído tem como objetivos: abstrair os detalhes de hardware e software para dar a impressão de um sistema único ao usuário; oferecer disponibilidade dos recursos com acesso amplo e fácil aos usuários; permitir a escalabilidade de recursos computacionais, usuários e domínios administrativos; e tornar o sistema aberto para que os componentes de software possam ser extensíveis. A distribuição de carga é uma técnica usada na implementação do objetivo de escalabilidade. O paralelismo é uma característica de sistemas distribuídos.
	A
	
	Abstração, paralelismo, escalabilidade e sistema aberto.
	B
	
	Distribuição de trabalho, abstração, escalabilidade e sistema aberto.
	C
	
	Disponibilidade de recursos, abstração, escalabilidade e sistema aberto.
	D
	
	Escalabilidade, disponibilidade de recursos, paralelismo e sistema aberto.
	E
	
	Sistema aberto, paralelismo, distribuição de carga e abstração.
Questão 3 : A comunicação em sistemas distribuídos é realizada por meio de troca de mensagens devido à carência diretamente relacionada a uma das principais dificuldades enfrentadas por todo e qualquer projetista de um modelo arquitetural de um sistema distribuído. Qual é o nome dessa carência?
Resposta Errada! A resposta correta é a opção E
Justificativa:A comunicação em um sistema distribuído é realizada através de troca de mensagens devido à ausência de memória global compartilhada entre os componentes. A ausência de relógio global não interfere na comunicação entre os componentes em um sistema distribuído. Protocolos devem ser considerados para estabelecimento de conexões entre os componentes. A existência de padrões (ou não) não está dentre as principais dificuldade enfrentadas pelos projetistas, bem como o papel de um middleware.
	A
	
	Ausência de relógio global.
	B
	
	Ausência de protocolos estabelecidos entre os componentes.
	C
	
	Ausência de padrões nas definições dos modelos arquiteturais.
	D
	
	Ausência de um middleware responsável por prover a comunicação entre os componentes.
	E
	
	Ausência de memória global compartilhada entre os componentes.
Questão 4 : Graças ao desenvolvimento dos microprocessadores e da evolução do sistema computacional, em que os usuários passaram a usar computadores em rede, nasceram os sistemas distribuídos. Nesses sistemas, é necessário desenvolver técnicas eficientes para a distribuição de todos os processos que envolvem os elementos de processamento.
 
​​​​​​​Qual o nome da atividade que define quais processos poderão ser processados em um sistema distribuído?
Resposta Errada! A resposta correta é a opção B
Justificativa:Semáforo é exemplo de comunicação em sistemas não distribuídos. O escalonamento é uma atividade que define quais processos podem ser realizados, por meio da atuação de uma peça fundamental do sistema operacional (SO): o escalonador. Computadores multiprogramados têm múltiplos processos ou threads (uma ou mais tarefas que determinado programa realiza) competindo pela central process unit (CPU) ao mesmo tempo. Isso ocorre porque dois ou mais processos estão no estado ativo, prontos para uso, concomitantemente. Quando somente uma CPU está no estado pronto, realiza-se uma escolha em relação aos processos. Síncrona, sockete e cliente-servidor são meios de comunicação em um sistema distribuído e não estão relacionados com o processo de escalonamento.
	A
	
	Semáforo.
	B
	
	Escalonamento.
	C
	
	Síncrona.
	D
	
	Sockete
	E
	
	Cliente-servidor.
Questão 5 : Uma equipe de engenheiros de software está criando um aplicativo para monitorar os sinais vitais de uma pessoa, usando uma rede de sensores.
 
Qual das seguintes opções são preocupações que fazem parte desse projeto de sistema distribuído?
Resposta Errada! A resposta correta é a opção C
Justificativa:Um sistema distribuído pervasivo que deseja monitorar os sinais vitais de uma pessoa deve se preocupar primordialmente em lidar com os desafios de perda dos dados, segurança, privacidade, envio de alertas, robustez no monitoramento e diagnóstico online. O médico precisa saber a localização do paciente e dos dispositivos, a fim de não comprometer uma vida com o diagnóstico para uma pessoa errada.
	A
	
	Perda de dados e transparência.
	B
	
	Segurança, transparência e privacidade.
	C
	
	Privacidade, perda de dados, segurança e envio de alertas.
	D
	
	Envio de alertas, transparência e perda de dados.
	E
	
	Transparência, envio de alertas e privacidade.
Questão 6 : A arquitetura de um comunicação envolve muitos processos e elementos importantes. É necessário entendê-la porque ela é a estrutura, a base que os processos utilizam dentro um sistema distribuído para realizar uma comunicação. Em uma arquitetura de comunicação, existem particularidades e mecanismos que auxiliam nesse processo. Sobre as particularidades e os elementos que a envolvem, analise as assertivas a seguir.
 
I. Um elemento que serve de mediador da comunicação ou da cooperação entre componentes, realizando as chamadas de procedimentos (remotos), passagem de mensagem ou fluxo de dados é conhecido como componente.
 
II. Síncrona, conhecida como conector, é uma operação que atua como não bloqueante no envio de mensagens.
 
III. O conector media a comunicação entre componentes, realiza chamadas remotas e passagem de mensagem entre processos.
 
IV. Componente faz parte de uma arquitetura de comunicação, atuando com conectores.
 
Quais estão corretas?
Acertou! A resposta correta é a opção C
Justificativa:O item I está incorreto, por tratar do conceito de conector, e não de componente. O item II está incorreto, porque conector não é conhecido como síncrona (uma das formas de comunicação e troca de mensagens). O item III está correto, por tratar corretamente o conceito de conector. O IV aborda de forma correta o conceito de componentes.
	A
	
	Apenas I e IV.
	B
	
	Apenas II e III.
	C
	
	Apenas III e IV.
	D
	
	Apenas I e III.
	E
	
	Apenas II.
Questão 7 : RPC (Chamada de Procedimento Remota) e RMI (Invocação de Método Remota) são os mecanismos que permitem ao cliente invocar um procedimento ou método do servidor remotamente por meio do estabelecimento de comunicação entre cliente e servidor. Sobre as diferenças entre eles, assinale a alternativa correta.
Resposta Errada! A resposta correta é a opção D
Justificativa:A grande diferença entre os dois é que o RPC suporta apenas programação procedural, enquanto o RMI suporta programação orientada a objetos. Nesse sentido, a programação estruturada não faz parte do mecanismo RPC. Além disso, os parâmetros passados via RPC consideram estruturas de dados comuns, os procedimentos não diretamente relacionados com a passagem de parâmetros. Por outro lado, o RMI para passagem de parâmetros, transita por meio dos objetos e não com a invocação remota de métodos. Por fim, o RPC é baseado na linguagem de programação C e não C#, enquanto o RMI considera a linguagem de programação Java.
	A
	
	A diferença comum entre RPC e RMI é que no RPC os parâmetros passados para o método remoto consistem em procedimentos, enquanto no RMI os parâmetros passados consistem em estruturas de dados comuns.
	B
	
	A diferença comum entre RPC e RMI é que no RPC os parâmetros passados para o método remoto consistem em estruturas de dados comuns, enquanto no RMI os parâmetros passados consistem na invocação dos métodos.
	C
	
	A diferença comum entre RPC e RMI é que o RPC suporta apenas programação estruturada, enquanto o RMI suporta programação orientada a objetos.
	D
	
	A diferença comum entre RPC e RMI é que o RPC suporta apenasprogramação procedural, enquanto o RMI suporta programação orientada a objetos.
	E
	
	A diferença comum entre RPC e RMI é que no RPC suporta apenas programação procedural, portanto, é baseado em C#, enquanto no RMI suporta programação orientada objetos e é baseado em Java.
Questão 8 : O jogo EVE Online foi construído sob um sistema distribuído robusto capaz de suportar milhares de usuários ao mesmo tempo. Foi um dos projetos bem-sucedidos para aquela época. Qual das seguintes opções a seguir apresenta os itens do projeto dessa aplicação distribuída?
Resposta Errada! A resposta correta é a opção B
Justificativa:Este jogo foi construído sob o modelo cliente-servidor. A cópia do estado do jogo fica armazenada em um servidor que é usado para manter os clientes atualizados. O servidor é composto por um agregado de computadores (cluster), onde a carga é particionada. O modelo ponto a ponto vem sendo adotado em jogos on-line mais modernos, como o Call of Duty: Modern Warfare, fazendo uso dos recursos computacionais dos usuários.
	A
	
	Modelo ponto a ponto, particionamento de carga, aglomerado de computadores (cluster) e modelo cliente-servidor.
	B
	
	Modelo cliente-servidor, aglomerado de computadores (cluster), particionamento de carga e monitoramento.
	C
	
	Aglomerado de computadores (cluster), modelo cliente-servidor e modelo ponto a ponto.
	D
	
	Particionamento de carga, modelo ponto a ponto, modelo cliente-servidor.
	E
	
	Monitoramento, modelo ponto a ponto, particionamento de carga e modelo cliente-servidor.
Questão 9 : A ordenação por carimbo de tempo consiste em um importante método de controle de concorrência de transações de sistemas distribuídos, sendo empregada, por exemplo, no sistema Dynamo de armazenamento da Amazon.
 
Assinale a alternativa correta sobre o funcionamento dessa abordagem:
Resposta Errada! A resposta correta é a opção B
Justificativa:O correto é afirmar que a versão múltipla de ordenação por carimbo de tempo elimina a ocorrência de conflitos em operações de escrita de diferentes transações, pois cada transação escreve sua própria versão confirmada nos objetos que acessa. As versões de tentativa têm um conjunto de carimbos de leitura. As operações de escrita são registradas nas versões de tentativa dos objetos, o que torna as alterações invisíveis para outras transações. A versão múltipla de ordenação por carimbo de tempo evita operações de leituras atrasadas, pois as leituras são sempre permitidas. Quando ocorre uma operação de leitura, a operação é direcionada para a versão de tentativa com o maior valor de carimbo de escrita e leitura. Além de armazenar a referência das versões de tentativa para cada objeto, a versão múltipla de ordenação guarda as versões confirmadas antigas para usar em situações de leituras tardias.
	A
	
	As versões de tentativa têm somente um conjunto de carimbos de escrita, pois os carimbos de leitura são desnecessários.
	B
	
	A versão múltipla de ordenação por carimbo de tempo elimina a ocorrência de conflitos em operações de escrita de diferentes transações.
	C
	
	Uma limitação da versão múltipla de ordenação por carimbo de tempo consiste na ocorrência de leituras atrasadas.
	D
	
	Ao executar uma operação de leitura, a operação é direcionada para a versão de tentativa de menor valor.
	E
	
	A abordagem de versão múltipla de ordenação mantém uma lista apenas com as versões de tentativa para cada objeto.
Questão 10 : A taxonomia de Flynn é amplamente utilizada para classificar sistemas computacionais e arquiteturas baseando-se no fluxo de instruções e no fluxo de dados. Em qual das seguintes classificações se encontram os supercomputadores?
Resposta Errada! A resposta correta é a opção E
Justificativa:Nesse sistema distribuído, um mesmo programa é executado em múltiplas máquinas, em que também são executadas diferentes instruções sob diferentes dados. Como as quatro classes propostas por Flynn (SISD, MISD, SIMD e MIMD) não preveem o nível de execução de um programa, os supercomputadores são classificados como SPMD (Single Program Multiple Data).
	A
	
	SISD (Single Instruction Single Data).
	B
	
	MISD (Multiple Instructions Single Data).
	C
	
	SIMD (Single Instruction Multiple Data).
	D
	
	MIMD (Multiple Instructions Multiple Data).
	E
	
	SPMD (Single Program Multiple Data).
Questão 1 : A ordenação por carimbo de tempo consiste em um importante método de controle de concorrência de transações de sistemas distribuídos, sendo empregada, por exemplo, no sistema Dynamo de armazenamento da Amazon.
 
Assinale a alternativa correta sobre o funcionamento dessa abordagem:
Resposta Errada! A resposta correta é a opção B
Justificativa:O correto é afirmar que a versão múltipla de ordenação por carimbo de tempo elimina a ocorrência de conflitos em operações de escrita de diferentes transações, pois cada transação escreve sua própria versão confirmada nos objetos que acessa. As versões de tentativa têm um conjunto de carimbos de leitura. As operações de escrita são registradas nas versões de tentativa dos objetos, o que torna as alterações invisíveis para outras transações. A versão múltipla de ordenação por carimbo de tempo evita operações de leituras atrasadas, pois as leituras são sempre permitidas. Quando ocorre uma operação de leitura, a operação é direcionada para a versão de tentativa com o maior valor de carimbo de escrita e leitura. Além de armazenar a referência das versões de tentativa para cada objeto, a versão múltipla de ordenação guarda as versões confirmadas antigas para usar em situações de leituras tardias.
	A
	
	As versões de tentativa têm somente um conjunto de carimbos de escrita, pois os carimbos de leitura são desnecessários.
	B
	
	A versão múltipla de ordenação por carimbo de tempo elimina a ocorrência de conflitos em operações de escrita de diferentes transações.
	C
	
	Uma limitação da versão múltipla de ordenação por carimbo de tempo consiste na ocorrência de leituras atrasadas.
	D
	
	Ao executar uma operação de leitura, a operação é direcionada para a versão de tentativa de menor valor.
	E
	
	A abordagem de versão múltipla de ordenação mantém uma lista apenas com as versões de tentativa para cada objeto.
Questão 2 : Existem diferentes formas de classificar um problema em um sistema distribuído; cada tipo remete a uma ideia específica de tratamento de erros. Se um sistema distribuído deixa de responder abruptamente, e o cliente, mesmo com tentativas repetidas de reconexão, não consegue concluir, pode-se afirmar que esse sistema distribuído teve uma: ​​​​​​​​​​​​​​
Acertou! A resposta correta é a opção E
Justificativa:O ponto central é a compreensão de que o servidor estava ativo e, sem motivo aparente, parou de responder. Diferentemente da falha por omissão, resposta ou temporização, em que o servidor ainda está de fato ativo, na falha por queda o servidor simplesmente para de responder. Qualquer alternativa em que, no contexto de falha, o servidor ainda está ativo, respondendo requisições (mesmo que erradas), é uma resposta incorreta. O servidor simplesmente para, o que faz perceber que qualquer alternativa que envolva alguma comunicação não pode ser considerada. Para ser considerada uma falha arbitrária, o sistema deve, de alguma forma, produzir respostas que não foram requisitadas. Visto que nesse contexto não temos comunicação, a falha arbitrária não pode ser considerada de qualquer forma, já que necessita desse canal até para poder produzir seus erros arbitrários.
	A
	
	falha arbitrária.
	B
	
	falha por omissão.
	C
	
	falha por temporização.
	D
	
	falha de resposta.
	E
	
	falha por queda.
Questão 3 : Um carimbo de tempo, ou timestamp, consiste em um valor inteiro que representa a combinação de um horário de uma data específica capaz de representar o momento de criação de uma operação de uma transação. A abordagem de ordenação por carimbo de tempo emprega esse valor como critério para determinar a prioridade de uma operação. Assuma a existência de cinco transações, T1, T2, T3, T4 e T5, em que a

Outros materiais