Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:987078) Peso da Avaliação 2,00 Prova 91145630 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 Em programação concorrente, o uso de threads é uma prática comum para melhorar o desempenho e a eficiência dos sistemas. As threads permitem que diferentes partes de um programa sejam executadas simultaneamente, explorando melhor os recursos do processador. Essa técnica é especialmente útil em aplicações que exigem a execução de várias tarefas ao mesmo tempo, como em sistemas de tempo real, servidores web e aplicações gráficas. No entanto, é fundamental entender os benefícios e desafios associados ao uso de threads para aproveitar ao máximo suas vantagens. Quais são os principais benefícios das threads em programação concorrente? A Redução do desempenho do sistema devido ao aumento da sobrecarga de comunicação entre threads. B Facilidade de programação, uma vez que as threads não precisam compartilhar recursos e podem operar de forma independente. C Impedimento de escalabilidade em sistemas com múltiplos processadores. D Maior consumo de memória, tornando os sistemas mais lentos e menos eficientes. E Melhoria do desempenho através da exploração do paralelismo, permitindo que tarefas sejam executadas de forma concorrente e mais eficiente. Como vimos, uma das principais características dos sistemas distribuídos é o atendimento a um grande grupo de usuários dispersos ou não geograficamente, e especialmente com eficiência e segurança. Dito isso, a escalabilidade é um dos principais objetivos para os projetistas e desenvolvedores de sistemas distribuídos. Nesse contexto, considerando os desafios relacionados à escalabilidade em sistemas distribuídos, analise as afirmativas a seguir: I. Devem ser aceitáveis os custos dos recursos físicos para o atendimento das novas solicitações. II. Algoritmos descentralizados devem ser utilizados para não acontecerem gargalos de desempenho no sistema. III. As necessidades do sistema não necessitam de previsão porque os recursos de software não se esgotam. É correto o que se afirma em: A I e II, apenas. B I e III, apenas. C II e III, apenas. D II, apenas. VOLTAR A+ Alterar modo de visualização 1 2 11/11/2024, 20:09 Avaliação II - Individual about:blank 1/5 E I, apenas. Sistemas distribuídos são projetados para fornecer alta disponibilidade, escalabilidade e resiliência. No entanto, a distribuição de componentes em vários nós de uma rede aumenta a probabilidade de falhas, como a indisponibilidade de um nó ou a perda de conexão. Para garantir que o sistema continue funcionando de forma correta e consistente, mesmo diante de falhas, são adotadas diversas técnicas. Dentre elas, algumas estratégias comuns envolvem a duplicação de dados e a execução de processos redundantes em diferentes máquinas, de modo que, se um nó falhar, outro possa assumir suas funções sem interrupção perceptível ao usuário. Entender essas técnicas é essencial para a implementação eficaz de sistemas distribuídos tolerantes a falhas. Quais das seguintes técnicas são frequentemente usadas em sistemas distribuídos para garantir a tolerância a falhas? A Desativação de mecanismos de detecção de falhas para melhorar o desempenho. B Redundância de dados e processamento em vários nós do sistema. C Distribuição dos dados em nós independentes sem qualquer replicação. D Uso de uma única máquina para evitar a complexidade de comunicação. E Centralização de todos os dados em um servidor para facilitar o backup. O modelo de arquitetura de um sistema distribuído visa estabelecer a forma pela qual os componentes dos sistemas interagem e a maneira pela qual eles são mapeados em uma rede de computadores. Objetiva garantir que sua estrutura atenda às demandas atuais e provavelmente futuras. Com relação aos sistemas distribuídos, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A arquitetura distribuída baseada em código móvel possibilita que um código seja enviado de um computador para outro e seja executado no destino. ( ) Os agentes móveis possuem a mesma funcionalidade do código móvel, mas com a vantagem de não oferecer riscos à segurança do sistema. ( ) A arquitetura, ou padrão, chamada cliente magro utiliza um dispositivo conhecido como thin client, o qual se conecta a um servidor de aplicações que realiza as tarefas mais relevantes. Assinale a alternativa que apresenta a sequência correta: A V - V - F. B V - F - V. C F - F - V. D F - V - F. E V - V - V. 3 4 11/11/2024, 20:09 Avaliação II - Individual about:blank 2/5 Na programação concorrente, as threads desempenham um papel fundamental na execução de tarefas simultâneas dentro de um programa. Ao contrário dos processos, que possuem seu próprio espaço de memória, threads são mais leves e compartilham o mesmo espaço de memória, permitindo comunicação e compartilhamento de dados de forma mais eficiente. Essa característica torna as threads uma escolha ideal para aplicações que requerem alta performance e comunicação intensa entre tarefas, como sistemas de tempo real e servidores. Contudo, é importante compreender a natureza das threads e suas implicações na execução e sincronização de tarefas. Sobre threads em programação concorrente, assinale a alternativa correta: A Threads são unidades independentes de execução que compartilham o mesmo espaço de memória. B Threads são processos completamente isolados uns dos outros e não podem compartilhar recursos. C Threads não podem ser utilizadas em sistemas operacionais modernos devido à complexidade. D Threads nunca podem ser mais eficientes do que o uso de processos em paralelo. E Threads são apenas usados em ambientes de programação síncrona, não sendo aplicáveis em programação assíncrona. Os sistemas distribuídos têm por objetivo a descentralização e o processamento paralelo das informações, podendo ser implementados por dois ou mais computadores interligados por meio de uma rede. Considerando a evolução nos sistemas distribuídos ocorrida a partir da década de 1980, com o advento das redes de computadores, analise as afirmativas a seguir: I. Até a década 1980, os usuários acessavam as informação em um computador central (mainframe), e os terminais dos usuários não tinham capacidade de processamento. II. Até a década de 1980, os sistemas centralizados de grande porte eram responsáveis pelo processamento de todas as informações existentes nas empresas. III. Os sistemas computacionais que fazem parte de uma rede de computadores são chamados de servidores de rede centralizados. IV. Um sistema distribuído permite que os usuários acessem recursos em outras máquinas, mas não possibilita a transparência destes recursos para os usuários. Assinale a alternativa que apresenta a sentenças correta: A I, II e III, apenas. B I e II, apenas. C III e IV, apenas. D I, apenas. E I, II, III e IV. 5 6 11/11/2024, 20:09 Avaliação II - Individual about:blank 3/5 Essencialmente, a computação está no centro da revolução tecnológica que impulsiona avanços em diversas indústrias, desde saúde e finanças até entretenimento e transporte. Ela não se limita apenas ao uso de computadores, mas também envolve a criação de algoritmos, desenvolvimento de software, gerenciamento de bases de dados e a implementação de sistemas que permitem a comunicação e o processamento de dados em grande escala. O que é um cluster em computação? A Um dispositivo de armazenamento de alta velocidade. B Um software de edição de imagens. C Uma tecnologia de rede sem fio usada para conectar dispositivos móveis. D Um tipo de algoritmo de criptografia. E Um grupo de computadores interconectados que trabalham juntos como se fossem um único sistema. Considerando sistemas operacionais de computação, existem os sistemas fortemente acoplados e os sistemas fracamente acoplados. Quando a meta principal ou propósito de um sistema for facilitar o acesso a recursos remotos e compartilhá-los deforma controlada e eficiente, tanto para os usuários quanto para as aplicações, estamos nos referindo a qual tipo de sistema? A Sistema monousuário. B Sistema de tempo real. C Sistema de grande porte. D Sistema embarcado. E Sistema distribuído. A maneira como os componentes de um sistema distribuído interage e a forma pela qual eles são mapeados numa rede de computadores são estabelecidas pelo modelo de arquitetura desse sistema distribuído. Um dos principais objetivos é garantir que sua estrutura atenda às demandas atuais e futuras. Com base nos sistemas distribuídos, analise as afirmativas a seguir: I. A mesma funcionalidade do código móvel é proporcionada pelos agentes móveis, mas com a vantagem de não oferecer riscos à segurança do sistema. II. O "thin client" é um dispositivo utilizado na arquitetura, ou padrão, chamado cliente magro, o qual se conecta a um servidor de aplicações que realiza as tarefas mais relevantes. III. O envio de código de um computador para outro e a execução desse código no destino é viabilizada pela arquitetura distribuída baseada em código móvel. É correto o que se afirma em: 7 8 9 11/11/2024, 20:09 Avaliação II - Individual about:blank 4/5 A III, apenas. B I, II e III. C II e III, apenas. D I e III, apenas. E I e II, apenas. Uma das principais características dos sistemas distribuídos é o atendimento a um grande grupo de usuários dispersos ou não geograficamente, e especialmente com eficiência e segurança. A escalabilidade é um dos principais objetivos para os projetistas e desenvolvedores de sistemas distribuídos. Nesse contexto, considerando os desafios relacionados à escalabilidade, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Devem ser aceitáveis os custos dos recursos físicos para o atendimento das novas solicitações. ( ) Algoritmos descentralizados devem ser utilizados para não acontecerem gargalos de desempenho no sistema. ( ) As necessidades do sistema não necessitam de previsão porque os recursos de software não se esgotam. Assinale a alternativa que apresenta a sequência correta: A V - V - V. B V - F - F. C F - F - V. D F - V - V. E V - V - F. 10 Imprimir 11/11/2024, 20:09 Avaliação II - Individual about:blank 5/5