Font size
WorksheetsAvaliação Parcial de 1º Bimestre de Sistemas Distribuídos
Total questions: 50
Worksheet time: 39mins
O Teorema CAP estabelece que em um sistema distribuído, durante partições de rede, é necessário optar entre Consistência e Disponibilidade. Por exemplo, a Netflix prioriza a disponibilidade, aceitando inconsistências eventuais, enquanto bancos priorizam a consistência. Com base nessas informações, analise as seguintes asserções e a relação proposta entre elas: I. Um sistema distribuído que opta por sacrificar a consistência pode alcançar alta disponibilidade mesmo em caso de falhas de rede. PORQUE II. A decisão entre consistência e disponibilidade é crucial quando o sistema precisa garantir tolerância à partição. Sobre essas asserções, assinale a opção correta:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As asserções I e II são proposições falsas.
Algoritmos de consenso, como Paxos e Raft, são fundamentais para garantir que múltiplos nós em um sistema distribuído concordem sobre um valor, mesmo na presença de falhas. O Raft, em particular, introduz uma divisão clara de responsabilidades, incluindo a eleição de líder, replicação de logs e garantia de segurança. Considerando essas informações, assinale a opção que melhor descreve a funcionalidade desses algoritmos:
Paxos e Raft são algoritmos de consenso que não lidam com falhas.
Raft não introduz divisões de responsabilidades.
Paxos e Raft garantem consenso mesmo com falhas.
Raft é responsável apenas pela segurança de logs.
Paxos é responsável apenas pela eleição de líder.
Considerando as informações apresentadas, avalie as assertões a seguir e a relação proposta entre elas: I. O algoritmo Raft é mais compreensível e modular que o Paxos, facilitando sua implementação, devido à sua estrutura clara e divisão de responsabilidades. PORQUE II. Raft divide o problema de consenso em subproblemas como eleição de líder, replicação e segurança de logs, permitindo uma abordagem mais sistemática e organizada. A respeito dessas assertões, assinale a opção correta:
As assertões I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
As assertões I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
A asserção I é uma proposição verdadeira, e a II uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As assertões I e II são proposições falsas.
A sincronização de tempo é um aspecto crítico em sistemas distribuídos devido à necessidade de ordenação consistente de eventos. O Google Spanner, por exemplo, utiliza a API TrueTime, que integra relógios atômicos e sincronização por GPS para minimizar a incerteza temporal. Considere as seguintes assertões: I. A falta de um relógio global confiável torna a ordenação de eventos um desafio significativo em sistemas distribuídos. PORQUE II. Soluções como a API TrueTime são projetadas para reduzir a incerteza temporal, utilizando tecnologias avançadas de sincronização. Com base nessas assertões, selecione a opção correta:
As assertões I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
As assertões I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
A asserção I é uma proposição verdadeira, e a II uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As assertões I e II são proposições falsas.
O algoritmo de consenso Raft é amplamente utilizado em sistemas distribuídos como etcd e Consul. Ele assegura que todos os nós que não falham concordem com a mesma sequência de entradas de log, mesmo na presença de falhas de líderes. Considere as seguintes afirmações: I. Raft utiliza a replicação de logs como seu principal mecanismo de consenso. II. O tempo de eleição de líderes no Raft pode ser ajustado através de timeouts aleatórios, permitindo flexibilidade e resiliência. III. Em Raft, uma maioria simples (n/2 + 1) é suficiente para validar operações, garantindo eficiência no consenso. IV. A segurança e integridade do log são asseguradas pelo mecanismo de Matching Index, que sincroniza os logs entre os nós.
I, II e III, apenas.
I e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
I e III, apenas.
Em sistemas distribuídos, o modelo BASE prioriza a disponibilidade sobre a consistência imediata. O conceito de estado suave (soft state) e consistência eventual permite que sistemas distribuídos alcancem alta performance através de replicação assíncrona. Considerando essas características, assinale a alternativa que melhor descreve o comportamento do modelo BASE:
O modelo BASE ignora completamente a consistência, focando apenas na disponibilidade.
BASE garante consistência forte através de replicação síncrona, o que pode impactar a disponibilidade.
A consistência eventual no modelo BASE permite que todas as réplicas alcancem o mesmo estado após um período de tempo, mesmo que não imediatamente.
O conceito de 'soft state' em sistemas distribuídos implica que os dados podem ser temporariamente inconsistentes, mas não são necessariamente apagados quando inconsistentes. Isso permite que o sistema se recupere e alcance a consistência eventualmente.
Verdadeiro
Falso
Em arquiteturas de software, especialmente aquelas baseadas em objetos, é comum a utilização de modelos cliente-servidor. Nesses modelos, os objetos podem ser componentes de programas que residem localmente ou em servidores remotos. No contexto de um ambiente cliente/servidor, qual é o nome do processo que permite a invocação ou ligação de um objeto, possibilitando a comunicação entre diferentes componentes do sistema?
Chamada de Procedimento Remoto;
Chamada de Componentes por Camada;
Propagação de Eventos de Dados;
Conexão com Repositórios de Dados;
Sockets são amplamente utilizados em aplicações distribuídas, especialmente em arquiteturas cliente/servidor. Quando utilizamos sockets, em qual(is) camada(s) do modelo OSI estamos operando e quais são os protocolos envolvidos?
Camada de rede - protocolos TCP/IP;
Camada de transporte - protocolos TCP/UDP;
Camada de rede - protocolos UDP/TCP;
Camada de Apresentação e Transporte – protocolos Socket, TCP/UDP;
A heterogeneidade de hardware, sistemas operacionais, questões de rede e de plataformas de programação pode ser gerenciada de forma eficaz e transparente através do uso de qual tecnologia?
Middleware;
Troca de mensagens entre hosts;
Uso de protocolo UDP;
Uso de protocolo TCP.
Em qual camada do Modelo de Referência OSI as plataformas de middleware são geralmente desenvolvidas, considerando sua função de facilitar a comunicação entre diferentes aplicações?
Sessão;
Rede;
Transporte;
Apresentação;
O aspecto de CONCORRÊNCIA em sistemas computacionais pode ser corretamente definido por qual das alternativas abaixo, considerando a capacidade de múltiplos processos ou threads executarem simultaneamente e interagirem entre si?
Compartilhamento de memória, barramento e clock pelos processadores, permitindo a execução simultânea de múltiplos processos;
Processadores acessando o mesmo espaço de memória de forma coordenada para evitar conflitos e garantir a integridade dos dados;
Distribuição da computação entre vários processadores físicos, otimizando o desempenho e a eficiência do sistema;
Situação em que o processador espera por um recurso que nunca ocorrerá, resultando em um impasse conhecido como deadlock.
Qual é a principal diferença entre sistemas em rede e sistemas distribuídos no contexto de endereçamento e comunicação entre hosts?
Em um sistema em rede, deve existir a presença de um servidor centralizado para atender às requisições dos clientes. Em um sistema distribuído, a presença de um servidor é irrelevante;
Em um sistema em rede, o método usado para disponibilizar arquivos é o backup. Em um sistema distribuído, é a replicação;
Em um sistema em rede, os hosts "conhecem" o endereço de cada participante individualmente. Em um sistema distribuído, é conhecido apenas o endereço do grupo de hosts que executa o sistema, facilitando a comunicação em grupo;
Em um sistema em rede, o hardware utilizado é bem simples, entretanto, nos sistemas distribuídos, a complexidade de hardware é imensa.
Threads e processos são estruturalmente distintos. Qual é a principal diferença entre eles em termos de gerenciamento de recursos e contexto de execução?
Threads possuem um contexto de execução mais simplificado e compartilham recursos do processo pai;
Processos executam mais rapidamente devido à sua independência;
Processos apenas podem ocorrer em sistemas de grande porte devido à sua complexidade;
Threads apenas podem ocorrer em processadores multicore devido à necessidade de paralelismo;
Dois exemplos fundamentais de sistemas operacionais (S.Os) são os sistemas de tempo real e os sistemas de tempo compartilhado (time sharing). A principal diferença entre eles reside em uma das seguintes premissas:
Um sistema de tempo real é observado apenas em ambientes de multiprogramação, enquanto que um sistema de tempo compartilhado ocorre em ambientes de monoprogramação;
No sistema de tempo real, um programa de um operador ocupa o processador pelo tempo necessário ou até que surja outro com maior prioridade. Já no sistema de tempo compartilhado, o tempo de execução da CPU é dividido entre as tarefas, minimizando a ociosidade durante os períodos em que outros operadores não estão utilizando seus terminais;
Um sistema de tempo real permanece na memória aguardando processamento, enquanto que um sistema de tempo compartilhado é executado com prioridade;
Um sistema de tempo real executa processos de forma concorrente, enquanto um sistema de tempo compartilhado executa um processo sem interrupções até sua conclusão;
SISTEMAS PARALELOS podem ser corretamente definidos por:
É um sistema operacional que permitia um acesso às rotinas e programas a partir da identificação de usuário e senha;
É um sistema em que o tempo de execução da CPU é compartilhado entre duas ou mais tarefas, reduzindo-se a ociosidade do processador em determinados momentos;
É um modelo computacional que consiste em um número N de processadores independentes, que compartilham a memória RAM e se comunicam através de um barramento comum;
É caracterizado pelo modelo cliente/servidor.
O que é Middleware em um sistema distribuído e qual é sua principal função?
Middleware é o software distribuído que coordena o sistema distribuído enquanto fornece transparência de heterogeneidade, permitindo que diferentes componentes interajam de forma coesa.
Middleware é o software distribuído que não coordena o sistema distribuído enquanto fornece transparência de heterogeneidade, permitindo que diferentes componentes interajam de forma coesa.
Middleware é o software distribuído que coordena o sistema distribuído enquanto não fornece transparência de heterogeneidade, permitindo que diferentes componentes interajam de forma coesa.
Quais são as metas fundamentais ao projetar um Sistema Distribuído (SD)?
Recursos acessíveis - Garantir que os recursos do sistema sejam facilmente acessíveis a todos os usuários autorizados.
Transparência - Assegurar que o sistema opere de maneira transparente, ocultando a complexidade dos processos dos usuários finais.
Ser aberto - Permitir a integração e interoperabilidade com outros sistemas e tecnologias, promovendo um ambiente de desenvolvimento colaborativo.
Escalabilidade - Projetar o sistema de forma que ele possa crescer e se adaptar a um aumento na carga de trabalho sem perda de desempenho.
Concorrência - Habilitar o sistema para lidar com múltiplas operações simultâneas de forma eficiente, sem conflitos ou perda de integridade.
Sockets são componentes fundamentais em aplicações distribuídas, especialmente em arquiteturas cliente/servidor. Quando utilizamos sockets, em qual(is) camada(s) do modelo OSI estamos operando e quais são os protocolos envolvidos?
Camada de rede - protocolos TCP/IP;
Camada de transporte - protocolos TCP/UDP;
Camada de rede - protocolos UDP/TCP;
Camada de apresentação e transporte – protocolos Socket, TCP/UDP;
A heterogeneidade de hardware, sistemas operacionais, questões de rede e de plataformas de programação se torna transparente por meio do uso de uma camada de software que atua como intermediária, facilitando a comunicação e a gestão de dados entre diferentes sistemas. Qual é o nome dessa camada de software?
Middleware;
Troca de mensagens entre hosts;
Uso de protocolo UDP;
Uso de protocolo TCP.
Em qual camada do Modelo de Referência OSI as plataformas de middleware são geralmente desenvolvidas, considerando sua função de facilitar a comunicação entre diferentes aplicações?
Sessão;
Rede;
Transporte;
Apresentação;
Qual é a principal diferença entre sistemas em rede e sistemas distribuídos no contexto de endereçamento e comunicação entre hosts?
Em um sistema em rede, deve existir a presença de um servidor centralizado para atender às requisições dos clientes. Em um sistema distribuído, a presença de um servidor é irrelevante;
Em um sistema em rede, o método usado para disponibilizar arquivos é o backup. Em um sistema distribuído, é a replicação;
Em um sistema em rede, os hosts "conhecem" o endereço de cada participante individualmente. Em um sistema distribuído, é conhecido apenas o endereço do grupo de hosts que executa o sistema, facilitando a comunicação em grupo;
Em um sistema em rede, o hardware utilizado é bem simples, entretanto, nos sistemas distribuídos, a complexidade de hardware é imensa.
O que é middleware em um sistema distribuído e qual é sua principal função?
Middleware é o software distribuído que coordena o sistema distribuído enquanto fornece transparência de heterogeneidade, permitindo que diferentes componentes do sistema se comuniquem e funcionem juntos de maneira coesa.
Middleware é o software distribuído que não coordena o sistema distribuído enquanto fornece transparência de heterogeneidade, mas não facilita a comunicação entre diferentes componentes do sistema.
Middleware é o software distribuído que coordena o sistema distribuído enquanto não fornece transparência de heterogeneidade, o que dificulta a integração de componentes diversos.
Selecione a definição mais precisa de Sistemas Distribuídos:
Um sistema em que componentes de hardware e software
localizados em computadores em rede se comunicam e
coordenam suas ações por passagem de arquivos.
Coleção de softwares independentes que se apresentam aos seus usuários como um único sistema coerente.
Um sistema composto por múltiplas entidades de processamento e diversos
dispositivos de armazenamento, interconectados por uma
rede de comunicação, que trabalham em conjunto para alcançar um objetivo comum.
Conjunto de dispositivos móveis autônomos conectados por uma rede, cada um deles equipado com um software de Sistema Distribuído.
O que é escalonamento de processos no contexto de sistemas operacionais?
É a seleção de processos que devem ser executados na memória principal para otimizar o uso dos recursos do sistema
É a seleção de processos que devem ser exibidos no monitor para o usuário
É a seleção de processos que devem ser executados na CPU, determinando a ordem e o tempo de execução para maximizar a eficiência
É a seleção de processos que devem ser armazenados no HD para garantir a persistência dos dados
Quais são os dois principais tipos de processos em um sistema operacional, considerando suas funções e características?
CPU e I/O
CPU e UCP
I/O e disco
CPU e disco
Escalonar processos no contexto de sistemas operacionais significa...
Excluir processos que não são mais necessários
Duplicar processos para aumentar a eficiência
Definir qual processo será executado pelo processador em um dado momento
Criar novos processos para atender a demandas específicas
Durante a execução de um processo em um sistema operacional, ele pode transitar entre diferentes estados. Qual dos seguintes NÃO é um estado válido de um processo em execução?
Espera
Pronto
Execução
Finalizado
Considere os seguintes cenários em um sistema computacional:
I- Um documento é enviado para a fila de impressão, aguardando para ser impresso.
II- Um usuário inicia um software aplicativo de e-mail, que está pronto para ser utilizado.
III- Um sistema está em execução, mas aguarda pela confirmação do usuário para finalizar o processo.
Em quais estados os cenários descritos nas assertivas se encontram, respectivamente?
Pronto; execução; espera.
Espera; pronto; execução.
Execução; pronto; espera.
Identifique a alternativa que descreve corretamente as características essenciais de um Sistema Distribuído, considerando aspectos como concorrência, sincronização e tolerância a falhas.
Concorrência, inexistência de um relógio global e falhas independentes.
Concorrência, sistemas abertos e transparência.
Heterogeneidade, escalabilidade e falhas independentes.
Inexistência de um relógio global, falhas independentes e heterogeneidade.
[POSCOMP 2015] Um dos objetivos principais no projeto de um sistema distribuído é garantir a transparência, ocultando dos usuários os aspectos complexos e distribuídos do sistema. Dentro dos diversos tipos de transparência que podem ser oferecidos por sistemas distribuídos, a capacidade de ocultar a existência de múltiplas cópias de um recurso no sistema é conhecida como:
transparência de acesso.
transparência de rede.
transparência de localização.
transparência de replicação.
Selecione a alternativa que define corretamente o conceito de transparência em sistemas distribuídos.
A transparência é o processo de mascarar falhas em um sistema distribuído, de modo que o usuário final não perceba quando ocorrem problemas no sistema.
Um sistema é considerado transparente se ele mantém sua eficiência mesmo com um aumento significativo no número de recursos e usuários.
A transparência refere-se à capacidade de ocultar, do usuário final ou do programador de aplicativos, a separação dos componentes em um sistema distribuído.
Um sistema é dito transparente quando pode ser estendido e reimplementado de várias maneiras, com suas principais interfaces publicadas.
Analise as alternativas e marque a correta em relação à classificação dos elementos fundamentais de um sistema distribuído dentro do modelo arquitetônico. Considere aspectos como paradigmas de comunicação, entidades envolvidas e suas funções.
Paradigmas de comunicação; Posicionamento; Funções assumidas; Segurança.
Paradigmas de comunicação; Entidades em comunicação; Funções assumidas; Posicionamento.
Entidades em comunicação; Escala do sistema; Posicionamento; Falhas.
Entidades em comunicação; Paradigmas de comunicação; Escala do Sistema; Posicionamento.
Analise as afirmativas a seguir, a respeito de sistemas distribuídos, considerando suas características e comportamentos.
I - Uma das principais diferenças entre um sistema distribuído e um sistema em rede é que, do ponto de vista do usuário, o sistema distribuído se comporta como uma única máquina coesa e integrada, enquanto que o sistema em rede expõe ao usuário as diversas máquinas de forma separada e independente.
II - Um sistema é descrito como escalável se ele mantém sua eficiência e desempenho mesmo quando há um aumento significativo tanto no número de recursos disponíveis quanto no número de usuários que o utilizam.
III - Os nós de um sistema distribuído possuem a capacidade de executar diferentes sistemas operacionais, permitindo uma maior flexibilidade e diversidade na sua implementação.
Está(ão) correta(s) a(s) afirmativa(s):
I, apenas.
III, apenas.
I e II, apenas.
II e III, apenas.
I, II e III.
Com base no material estudado, podemos classificar os modelos físicos em diferentes categorias. Quais são essas categorias?
Modelo físico básico; Sistema Distribuído primitivo; Sistema Distribuído contemporâneo.
Sistema Distribuído baseado na internet; Sistema Distribuído contemporâneo; Sistema distribuídos de sistemas.
Modelo físico básico; Sistema Distribuído primitivo; Sistema Distribuído baseado na internet; Sistema Distribuído contemporâneo; Sistema Distribuído de sistemas.
Modelo físico básico; Sistema Distribuído de sistemas; Sistemas baseados na internet.
Identifique a alternativa que descreve corretamente os principais desafios enfrentados por sistemas distribuídos modernos.
Heterogeneidade, concorrência, sistemas abertos, falhas independentes.
Heterogeneidade, inexistência de relógio global, transparência, sistemas abertos, segurança, falhas independentes e concorrência.
Heterogeneidade, escalabilidade, transparência, sistemas abertos, segurança, tratamento de falhas e concorrência.
Heterogeneidade, segurança, sistemas abertos, inexistência de relógio global, transparência.
Qual das seguintes alternativas não está alinhada com os objetivos de construir um Sistema Distribuído (SD)?
Tornar os recursos acessíveis para todos os usuários
Garantir transparência nas operações
Manter o sistema fechado e restrito
Assegurar escalabilidade para suportar crescimento
Permitir concorrência entre processos
Marque a definição mais precisa de Sistemas Distribuídos, considerando suas características principais:
Um sistema em que componentes de hardware e software localizados em computadores em rede se comunicam e coordenam suas ações por passagem de arquivos.
Coleção de softwares independentes que se apresentam aos seus usuários como um único sistema coerente.
Sistema com várias entidades de processamento e vários dispositivos de armazenamento, conectados entre si por uma rede, permitindo a comunicação e coordenação entre eles.
Conjunto de dispositivos móveis autônomos conectados por uma rede, cada um deles equipado com um software de Sistema Distribuído.
Identifique quais das seguintes opções representam exemplos de aplicações em sistemas distribuídos, considerando suas características e funcionalidades:
Internet
Computação móvel e ubíqua
Computação em lote (batch)
Computação nas nuvens
Quais são os principais domínios de aplicação que se beneficiam do uso de Sistemas Distribuídos, considerando suas características de escalabilidade, resiliência e eficiência?
Finanças e Comércio, onde a escalabilidade e a segurança são cruciais para transações em tempo real.
Engenhos de busca e informação na web, que exigem processamento distribuído para lidar com grandes volumes de dados.
Indústrias Criativas e Entretenimento, que utilizam sistemas distribuídos para streaming e renderização de conteúdo multimídia.
Medicina, onde a análise de grandes conjuntos de dados e a telemedicina se beneficiam de sistemas distribuídos.
Qual das seguintes razões para a distribuição de sistemas está incorreta?
Distribuição inerente, que provém do domínio da aplicação, como em sistemas de controle de tráfego aéreo
Distribuição para balanceamento de carga entre servidores
Razões econômicas: supercomputadores são mais poderosos, mas significativamente mais caros
Distribuição funcional: os recursos estão naturalmente distribuídos
Quais são as principais consequências da distribuição em sistemas computacionais?
Concorrência entre processos
Inexistência de um relógio global
Falhas independentes dos componentes
Limitações na escalabilidade
Qual dos seguintes desafios não está tipicamente associado ao desenvolvimento de sistemas distribuídos robustos?
Heterogeneidade e abertura
Segurança e escalabilidade
Tratamento de falhas e programação orientada a objetos
Concorrência e transparência
Considere a seguinte afirmação: "Um sistema é considerado escalável se ele consegue manter sua eficiência operacional mesmo quando há um aumento substancial no número de recursos e usuários que ele precisa gerenciar." Avalie a veracidade dessa afirmação.
Verdadeiro
Falso
Considere a seguinte afirmação: "A abertura é uma característica dos sistemas de informação que garante o nível de confidencialidade necessário para os usuários." Avalie se essa afirmação é verdadeira ou falsa.
Verdadeiro
Falso
Julgue o item a seguir: "Nos sistemas distribuídos, uma característica fundamental é a capacidade de esconder dos usuários a natureza distribuída dos recursos utilizados para realizar tarefas, o que é conhecido como transparência. Essa afirmação está correta?"
Verdadeiro
Falso
A capacidade de um sistema de se adaptar eficientemente ao aumento da carga de serviço, mantendo o desempenho e a funcionalidade, é chamada de ___________
capacidade
tolerância
escalabilidade
nenhuma das mencionadas
No paradigma de computação denominado _________, todos os recursos são compartilhados e integrados em um único sistema operacional, permitindo uma gestão centralizada e eficiente dos recursos computacionais.
Computação distribuída
Computação paralela
Computação em nuvem
Computação centralizada
Sockets são amplamente utilizados em aplicações distribuídas, especialmente em arquiteturas cliente/servidor. Quando utilizamos sockets, em qual(is) camada(s) do modelo OSI estamos operando e quais são os protocolos envolvidos?
Camada de rede - protocolos TCP/IP;
Camada de transporte - protocolos TCP/UDP;
Camada de rede - protocolos UDP/TCP;
Camada de apresentação e transporte – protocolos Socket, TCP/UDP;
Selecione a alternativa que define corretamente o conceito de transparência em sistemas distribuídos.
A transparência é caracterizada pelo mascaramento das falhas em um sistema distribuído, de modo que o usuário final não perceba a ocorrência de falhas no sistema.
Um sistema é considerado transparente se mantém sua eficiência mesmo com um aumento significativo no número de recursos e usuários.
A transparência refere-se à ocultação, para um usuário final ou programador de aplicativos, da separação dos componentes em um sistema distribuído.
Um sistema é dito transparente quando pode ser estendido e reimplementado de várias maneiras, com suas principais interfaces publicadas.
