Prévia do material em texto
01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 1/12 Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS4DA_2204-2204-695392 2204-SISTEMAS DISTRIBUÍDOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário PAULO SERGIO DE MACEDO BARRADAS JUNIOR Curso 2204-SISTEMAS DISTRIBUÍDOS Teste Clique aqui para iniciar o Quiz Iniciado 01/03/23 14:12 Enviado 01/03/23 14:30 Data de vencimento 29/03/23 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 17 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Analisando a linha de código a seguir, podemos observar a utilização de threads e semáforos. from threading import * import time s=Semaphore(2) def example(nome,idade): for i in range(3): s.acquire() print("Olá",nome, idade) time.sleep(2) s.release() threadA=Thread(target=example, args=("João",15)) threadB=Thread(target=example, args=("José",20)) threadC=Thread(target=example, args=("Maria",26)) threadD=Thread(target=example, args=("Ana",29)) Sala de Aula Tutoriais 1 em 1 pontos PAULO SERGIO DE MACEDO BARRADAS JUNIOR 75 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_205174_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_205174_1&content_id=_9203495_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 2/12 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: threadA.start() threadB.start() threadC.start() threadD.start() Considerando a execução de semáforos com 6 CPUS do programa apresentado, assinale a alternativa correta. 6 CPUs – Threads 1, 2, 3, 4, 5 e 6 executadas 2 vezes. 6 CPUs – Threads 1, 2 e 3 executadas 4 vezes. 6 CPUs – Threads 1 a 12 executadas uma única vez. 6 CPUs – Threads 1, 2, 3, 4, 5 e 6 executadas 2 vezes. 6 CPUs – Threads 1, 2, 3, 4, 5 e 6 executadas 4 vezes. 6 CPUs – Threads 1 e 2 executadas 3 vezes. A resposta correta é a alternativa C. Como temos 12 saídas (4 nomes executados 3 vezes), teremos 12 interações. Com 6 processadores conseguimos executar 6 threads 2 vezes, e, portanto, alcançando o número de 12 interações. Pergunta 2 Resposta Selecionada: d. Nuvem privada Nuvem comunitária Nuvem pública Nuvem híbrida Segundo o NIST (2011), na computação em nuvem existem quatros modelos de implementação, que são: Em relação à nuvem pública, escolha a alternativa correta. A infraestrutura da nuvem é provisionada para uso aberto e para um público geral. 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 3/12 Respostas: a. b. c. d. e. Comentário da resposta: A infraestrutura da nuvem é provisionada para uso exclusivo de uma única organização, compreendendo vários consumidores. A infraestrutura da nuvem é composta de duas ou mais infraestruturas de nuvem que permanecem entidades únicas, mas estão vinculadas em conformidade com a padronização. A infraestrutura da nuvem é provisionada para uso fechado e para um público específico. A infraestrutura da nuvem é provisionada para uso aberto e para um público geral. A infraestrutura da nuvem é provisionada para uso comunitário e específico de certos usuários que possuem interesses compartilhados. Nuvem privada: a infraestrutura da nuvem é provisionada para uso exclusivo de uma única organização, compreendendo vários consumidores. Nuvem comunitária: a infraestrutura da nuvem é provisionada para uso comunitário e específico de certos usuários que possuem interesses compartilhados. Nuvem pública: a infraestrutura da nuvem é provisionada para uso aberto e para um público geral. Nuvem híbrida: a infraestrutura da nuvem é composta de duas ou mais infraestruturas de nuvem (exemplos: privada, pública ou comunitária), que permanecem entidades únicas, mas estão vinculadas em conformidade com a padronização. A resposta correta é a alternativa D. Pergunta 3 As aplicações têm papel fundamental em sistemas distribuídos e dentro do protocolo TCP/IP são representadas como a camada superior (camada de aplicação), pelo fato de estar mais próxima dos usuários. A camada de aplicação tornou-se um repositório para todas as aplicações que não se ajustam às camadas inferiores, um dos exemplos clássicos são o correio eletrônico e a transferência de arquivos. Assinale a alternativa que contextualiza a camada de aplicação em relação as camadas inferiores do modelo TCP/IP. 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 4/12 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: As camadas inferiores transmitem os dados enviados pela camada de aplicação, garantindo a transmissão com sucesso, enquanto a camada de aplicação fornece os serviços. As camadas inferiores fornecem os serviços, enquanto a camada de aplicação é responsável pela transmissão dos dados, garantindo a transmissão com sucesso. As camadas inferiores e de aplicação são consideradas uma abstração teórica e na prática não oferecem nenhuma relação, pois o objetivo é a transmissão dos dados com sucesso. A camada de aplicação refere-se à padronização de interfaces elétricas, mecânica e de sinalização. Enquanto as camadas inferiores são responsáveis pela semântica, compressão/descompressão, criptografia, tradução dos dados, além de realizar a interface com o usuário. As camadas inferiores transmitem os dados enviados pela camada de aplicação, garantindo a transmissão com sucesso, enquanto a camada de aplicação fornece os serviços. A camada de aplicação está relacionada com a arquitetura cliente/servidor, enquanto as camadas inferiores estão associadas a objetos em sistemas distribuídos. A resposta correta é a alternativa D. Os protocolos de aplicação gerenciam o diálogo entre as portas lógicas e mantêm a separação dos dados de diferentes aplicações. Trata da semântica, compressão/descompressão, criptografia, tradução dos dados, além de realizar a interface com o usuário.No modelo TCP/IP, o protocolo de camada física refere-se à padronização das interfaces elétricas, mecânica e de sinalização. O protocolo de camada de rede, IP (Internet Protocol), define e gerencia o endereçamento lógico da rede. O protocolo de transporte provê a comunicação confiável (Transmission Control Protocol – TCP), ou não confiável (User Datagram Protocol – UDP), e executa a checagem de erros antes da transmissão. Pergunta 4 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 5/12 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Analise o script a seguir: import SOAPpy def hello(): return "Hello World" server = SOAPpy.SOAPServer(("localhost", 8080)) server.registerFunction(hello) server.serve_forever() Escolha a alternativa correta que define o script. Foi empregada uma biblioteca chamada SoAPpy para utilizar os recursosdo SOAP para Python no lado servidor e ativando a porta 8080 para comunicação com o cliente. Foi empregada uma biblioteca chamada SoAPpy para utilizar os recursos do SOAP para Python no lado servidor e ativando a porta 8080 para comunicação com o cliente. Trata-se de uma função SoAPpy para utilizar os recursos do SOAP para Python no lado servidor e ativando a porta 8080 para comunicação com o cliente. Foi empregada uma biblioteca chamada SoAPpy para utilizar os recursos do SOAP para Python no lado cliente e ativando a porta 8080 para comunicação com o servidor. Trata-se de uma função SoAPpy para utilizar os recursos do SOAP para Python no lado cliente e ativando a porta 8080 para comunicação com o servidor. Trata-se de um script em Python para a utilização de um Remote Procedure Call (RPC) para comunicação na porta 8080 entre o cliente e o servidor. A resposta correta é a alternativa A. A biblioteca SOAPpy foi empregada para utilizar os recursos do SOAP para Python. Essa biblioteca fornece um recurso simples com interação dinâmica entre clientes e servidores. O exemplo escolhido é o programa disponível no site oficial do SOAPpy, que mostra a mensagem “Hello World” na tela do cliente.Para isto é necessário criar o script no lado do servidor: import SOAPpy 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 6/12 def hello(): return "Hello World" server = SOAPpy.SOAPServer(("localhost", 8080)) server.registerFunction(hello) server.serve_forever() Pergunta 5 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: A nota fiscal eletrônica é um documento necessário para qualquer transação de serviços, sendo o XML o responsável por sua versão digital. Nesse contexto, como se encaixa o XML? O XML é o formato digital escolhido para gerar a linguagem de marcação, criando uma estrutura única para diversas linguagens. O XML é o formato digital escolhido para gerar a linguagem de marcação, criando uma estrutura unificada para uma única linguagem de programação. O XML é uma tecnologia de comunicação entre processos que permite que um programa faça uma chamada em um outro espaço de endereçamento, possibilitando assim a emissão da nota fiscal eletrônica. O XML não tem relação com a nota fiscal eletrônica devido a questões teóricas que não podem ser aplicadas na prática. O XML é o formato digital escolhido para gerar a linguagem de marcação, criando uma estrutura única para diversas linguagens. O XML é um protocolo proprietário escolhido para gerar as notas fiscais eletrônicas, sendo esta exclusivamente feita em linguagem de programação Python. A resposta correta é a alternativa D. O XML fornece uma interface de serviço que permite aos clientes interagirem com servidores de uma maneira mais abrangente do que acontece com os navegadores web. Os clientes acessam as operações na interface de um serviço web por meio de requisições e respostas formatadas em XML e, normalmente, transmitidas por HTTP. 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 7/12 Pergunta 6 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: A programação em sistemas distribuídos é um item importante, portanto, conhecê- la e utilizá-la de forma apropriada é fundamental. Existem diversas linguagens de programação, como o Python, por exemplo, e todas elas possuem suas próprias características, mas baseiam-se em uma definição única. Entre as opções, escolha a correta definição de linguagem de programação. Trata-se de um método padronizado e estruturado, com regras claras de implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. Trata-se de um método padronizado e estruturado, com regras claras de implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. Trata-se de um método não estruturado, com regras definidas pelo utilizador e variando de programador para programador, para a criação de um código-fonte que pode ser compilado e transformado em um programa de computador. Trata-se de uma série de instruções que permitem que o programador escreva um conjunto limitado de instruções para a criação de um programa. Trata-se de um método não padronizado para expressar instruções para um computador na implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. Trata-se de método não estruturado e não padronizado para a implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. A resposta correta é a alternativa A. Uma linguagem de programação é uma forma padronizada, e com regras bem definidas, que tem como objetivo principal enviar instruções aos computadores. O seu estágio inicial é a elaboração de um código-fonte, que após compilado é transformado em um programa. Pergunta 7 1 em 1 pontos 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 8/12 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: CORBA é um padrão para fornecer interoperabilidade entre objetos distribuídos e baseia-se no princípio de que o cliente faz a chamada para interface IDL (Interface Definition Language) e esta encaminha para o ORB (Object Request Broker), que por sua vez encaminha para a interface IDL do destinatário, o qual após a execução retorna para o solicitante, seguindo os mesmos passos definidos anteriormente. Tendo a descrição como referência, escolha a alternativa que define o CORBA. É essencialmente uma especificação de design para um Object Request Broker (ORB), no qual um ORB fornece o mecanismo necessário para objetos distribuídos se comunicarem entre si, seja localmente ou em dispositivos remotos. É um mecanismo de comunicação utilizada através de um buffer, que é compartilhado entre os processos para as operações de escrita e leitura. Na operação de escrita, o processo grava dados no buffer somente quando este estiver vazio. Já na operação de leitura, um processo lê dados no buffer quando existe algo. É um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente. É essencialmente uma especificação de design para um Object Request Broker (ORB), no qual um ORB fornece o mecanismo necessário para objetos distribuídos se comunicarem entre si, seja localmente ou em dispositivos remotos. É o envio de uma requisição a um outro componente por meio de uma chamada de procedimento local, funcionando com objeto em vez de aplicações. É o envio de mensagens (publicar/subscrever) para pontos lógicos de contato. A resposta correta é a alternativa C. A arquitetura CORBA define como objetos devem interoperar em um ambiente distribuído. Possui também uma linguagem para definição de interface (Interface Definition Language – IDL), cuja principal função é especificar as interfaces dos objetos distribuídos de maneira que possam solicitar serviços a eles. Toda a chamada entre os objetos deve ser feita pelo Object Request Broker (ORB), que é responsável pela comunicação, de modo que, para o solicitante, 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_92035… 9/12 os serviços são atendidos de forma transparente, e para o objeto distribuído, todas as solicitações se comportam da mesma forma. Pergunta 8 Resposta Selecionada: e. Respostas: a. b. c. d. Considerandoa afirmação de Tanenbaum e Steen (2008): “As aplicações concorrentes podem usar diversos métodos de comunicação. Um dos exemplos é o uso de memória compartilhada entre os processos ou através da troca de mensagens entre processos em execução”. Com base nessa contextualização, escolha a alternativa que define corretamente memória compartilhada e sincronização. No compartilhamento de memória, uma parte da memória é mapeada no espaço de endereço de um ou mais processos. Nenhum método de coordenação de acesso é fornecido automaticamente, então, nada impede que dois processos gravem na memória compartilhada ao mesmo tempo e no mesmo lugar. Portanto, para evitar esse problema, são utilizados semáforos ou outros mecanismos para sincronizar processos. No compartilhamento de memória, o controle é automático para que nenhum processo grave ocorre na memória compartilhada. O sincronismo somente é necessário para que o processador saiba quem está em execução. Memória compartilha e sincronização estão relacionadas com a gravação em disco dos dados em memória. No compartilhamento de memória, toda a parte da memória é mapeada no espaço de endereço de um ou mais processos. Um método de coordenação de acesso é fornecido automaticamente, impedindo que dois processos gravem na memória compartilhada ao mesmo tempo e no mesmo lugar. A memória compartilhada é o mecanismo de comunicação mais lento entre processos. O sistema operacional mapeia um segmento de memória no espaço de endereço de vários processos, de modo que vários processos possam ler e gravar naquele segmento de memória. No entanto, precisamos de algum tipo de sincronização entre os processos que leem e gravam na memória compartilhada. 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_9203… 10/12 e. Comentário da resposta: No compartilhamento de memória, uma parte da memória é mapeada no espaço de endereço de um ou mais processos. Nenhum método de coordenação de acesso é fornecido automaticamente, então, nada impede que dois processos gravem na memória compartilhada ao mesmo tempo e no mesmo lugar. Portanto, para evitar esse problema, são utilizados semáforos ou outros mecanismos para sincronizar processos. A resposta correta é a alternativa E. A memória compartilhada é um mecanismo de comunicação utilizada através de um buffer, que é compartilhado entre os processos para as operações de escrita e leitura. A sincronização é o mecanismo que coloca os processos para aguardar a sua execução, evitando conflitos. Pergunta 9 Resposta Selecionada: c. Respostas: a. A figura a seguir ilustra a comunicação entre processos. A máquina cliente, por meio do RPC, utilizará serviços no servidor remoto, seguindo uma série de passos. Fonte: Tanenbaum e Steen (2008). Escolha a alternativa que descreve a comunicação entre os processos. Para a utilização do serviço no servidor, é necessário que a máquina cliente estabeleça uma conexão através do protocolo TCP/IP, e, depois, o RPC fornecerá um canal de comunicação para a utilização do serviço. Para a utilização do serviço no servidor, é necessário que a máquina cliente estabeleça através do RPC um canal de comunicação para que, posteriormente, o protocolo TCP/IP possa disponibilizar a conexão. 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_9203… 11/12 b. c. d. e. Comentário da resposta: Embora exista a chamada de utilização do serviço no servidor, metade das instruções são realizadas no cliente e a outra metade no servidor. Para a utilização do serviço no servidor, é necessário que a máquina cliente estabeleça uma conexão através do protocolo TCP/IP, e, depois, o RPC fornecerá um canal de comunicação para a utilização do serviço. A comunicação entre o cliente e o servidor ocorre somente através do RPC, devido ao fato de o protocolo TCP/IP somente ser responsável pela rede de comunicação. A comunicação entre processos não é regida por nenhum protocolo, pois o importante é garantir a rapidez da conexão para o usuário, de forma que o RPC e o TCP/IP forneçam uma carga extra para o cliente e para o servidor. A resposta correta é a alternativa C. O cliente utilizará serviços no servidor remoto. Para isso, é estabelecida uma conexão com o servidor utilizando o protocolo TCP/IP e realizando o three-way handshake. Depois, o RPC fornece um canal de comunicação e o cliente pode iniciar a utilização do serviço. Pergunta 10 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: Uma solução tradicional de TI baseada em data center foi migrada para uma solução em nuvem. Ao término da migração, a empresa de computação em nuvem ficou responsável por: armazenamento, servidores, rede, banco de dados, segurança e integração, além das aplicações. Escolha o modelo de computação em nuvem adotado pela empresa. Software como serviço – SaaS. Infraestrutura como serviço – IaaS. Plataforma com serviço – PaaS. Modelo de TI tradicional. Data center centralizado. Software como serviço – SaaS. A resposta correta é a alternativa E. Acompanhe este exemplo: um pequeno empresário está com sérios problemas, e pela primeira vez pensando em fechar o seu site de vendas pela internet. Após 1 em 1 pontos 01/03/2023, 14:30 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29472740_1&course_id=_205174_1&content_id=_9203… 12/12 Quarta-feira, 1 de Março de 2023 14h30min11s BRT avaliar diversas propostas, entre elas a troca de servidores por uma solução mais atual, e também realizar o aumento de capacidade de recursos, verificou que em um curto período teria o mesmo problema, e, portanto, buscou uma outra alternativa. Essa alternativa seria a migração do sistema para a computação em nuvem. O empresário achou acessível e acabou optando por realizar a migração para uma provedora de serviço de computação em nuvem, assim, ele não teria mais preocupação operacional, sendo possível focar no seu negócio. A migração foi simples e sem impacto, realizada através de uma interface web, na qual é possível acompanhar a saúde do ambiente em qualquer lugar. Após a migração, a operadora de serviço ficou responsável por armazenamento, servidores, rede, banco de dados, segurança e integração, além das aplicações, se encaixando no modelo de software como serviço (SaaS). ← OK