Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 1/11 Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS4DA_2203-2203-695392 2203-SISTEMAS DISTRIBUÍDOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário ROBSON APARECIDO RAMOS Curso 2203-SISTEMAS DISTRIBUÍDOS Teste Clique aqui para iniciar o Quiz Iniciado 24/11/22 20:38 Enviado 24/11/22 20:53 Data de vencimento 07/12/22 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 15 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: d. Respostas: a. b. c. Os bancos de dados transacionais têm papel fundamental em sistemas distribuídos, pois são responsáveis pelo controle de operações corporativas e no gerenciamento de informações. Escolha a alternativa que define corretamente um banco de dados transacional. Um banco de dados transacional trabalha com um tempo de resposta rápido, garantindo a integridade, o isolamento, a durabilidade dos dados por transação e, ainda, que a operação em sua totalidade seja realizada com sucesso. Um banco de dados transacional não atende aos requisitos de atomicidade, consistência, isolamento e durabilidade. Um banco de dados transacional trabalha com tempo de resposta lento para poder garantir a integridade, isolamento e durabilidade dos dados. Sala de Aula Tutoriais 1 em 1 pontos ROBSON APARECIDO RAMOS https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_197312_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_197312_1&content_id=_8833917_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 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 2/11 d. e. Comentário da resposta: Um banco de dados transacional trabalha com o uso de coordenador para decidir de quem é a vez de fazer o acesso ao recurso compartilhado. Um banco de dados transacional trabalha com um tempo de resposta rápido, garantindo a integridade, o isolamento, a durabilidade dos dados por transação e, ainda, que a operação em sua totalidade seja realizada com sucesso. Um banco de dados transacional é uma teoria abstrata de tratamento de dados, porém, na prática, não é aplicável. A resposta correta é a alternativa D. Os bancos de dados transacionais são projetados para serem executados em sistemas de produção que requerem tempo de resposta rápido, na ordem de milissegundos, e devem contemplar as propriedades ACID. 1) Atomicidade: garantir que toda as operações em uma transação sejam efetuadas ou que nenhuma delas sejam efetuadas. 2) Consistência: garantir a integridade do dado durante e após a transação. 3) Isolamento: garantir o controle sobre os dados para que uma transação não impacte outra transação. 4) Durabilidade: controle de persistência, garantindo que após o sucesso da transação o dado esteja íntegro e disponível. Pergunta 2 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() 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 3/11 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: 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)) 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 3 Tendo como parâmetro a execução dos comandos abaixo: SQL> SELECT * FROM CARROS; SQL> SAVEPOINT SP1; SQL> DELETE FROM CARROS WHERE ANO=2017; SQL> ROLLBACK TO SP1; Pode-se concluir que: 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 4/11 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Embora tenha ocorrido uma remoção de carros igual a 2017, esta não foi efetivada, pois foi realizada uma reversão. Todos os carros com ano igual a 2017 foram removidos. As sintaxes do comando SAVEPOINT e ROLLBACK estão erradas e, dessa forma, nada acontecerá. Embora tenha ocorrido uma remoção de carros igual a 2017, esta não foi efetivada, pois foi realizada uma reversão. Não se deve utilizar SAVEPOINT e ROLLBACK na mesma estrutura de dados. Ocorreu a remoção de carros igual a 2017, o que, posteriormente, foi confirmado através do comando ROLLBACK. A resposta correta é a alternativa C. O comando ROLLBACK é utilizado para desfazer transações que ainda não foram salvas no banco de dados. SAVEPOINT é um ponteiro utilizado para reverter a transação a um determinado ponto, sem reverter toda a transação. Pergunta 4 Em sistemas distribuídos, o monitor de transação é um elemento responsável pela coordenação e execução de transações, permitindo o acesso a vários servidores e serviços. A figura a seguir demonstra a sua utilização em sistemas distribuídos. Fonte: Tanenbaum e Steen (2008, p. 14). A necessidade de comunicação entre aplicações originou modelos diferentes de comunicação, entre as quais destacam-se: Remote Procedure Calls (RPC), Remote Method Invocations (RMI) e Message-Oriented Middleware (MOM). Em relação ao RPC, escolha a alternativa correta. 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 5/11 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: RPC é um protocolo para a criação de programas distribuídos no qual os usuários utilizam procedimentos remotos como se fossem chamadas locais sem se preocuparem com o servidor de destino. RPC é uma interface de programação para a criação de programas distribuídos, permitindo que objetos de uma máquina possam interagir com objetos de outras máquinas. RPC é um método de comunicação entre componentes de software orientado a mensagens. RPC é um conceito que envolve a passagem de dados entre aplicativos usando um canal de comunicação que transporta unidades autônomas de informação (mensagens). RPC é um protocolo para a criação de programas distribuídos no qual os usuários utilizam procedimentos remotos como se fossem chamadas locais sem se preocuparem com o servidor de destino.RPC é uma API que fornece um mecanismo para criar aplicativos distribuídos, permitindo que um objeto invoque métodos em um objeto em execução em outra máquina. A resposta correta é a alternativa D. O RPC (Remote Procedure Calls – chamadas de procedimento remoto) está relacionado ao envio de uma requisição a um outro componente, executando uma chamada de procedimento local. Pergunta 5 Resposta Selecionada: b. Respostas: a. Os sistemas distribuídos são computadores interligados em rede que se comunicam e coordenam suas ações através de mensagens. Com base nessa afirmação, escolha a alternativa que melhor define os sistemas distribuídos. Os sistemas distribuídos têm como principal função o compartilhamento de recursos, sendo que os seus componentes não necessariamente precisam estar na mesma localização geográfica. Os sistemas distribuídos são focados na centralização do processamento, oferecendo, portanto, maior rapidez nas respostas às solicitações. 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 6/11 b. c. d. e. Comentário da resposta: Os sistemas distribuídos têm como principal função o compartilhamento de recursos, sendo que os seus componentes não necessariamente precisam estar na mesma localização geográfica. As redes são elementos opcionais em sistemas distribuídos devido ao fato de o objetivo principal ser o processamento. Sistemas distribuídos são uma variação do termo mainframe e tratam-se de terminais de acesso, pelo fato de utilizar a internet como meio de comunicação. Sistemas distribuídos são uma ideia teórica, não tendo uma aplicabilidade prática e nem exemplos reais de sua utilização. A resposta correta é a alternativa B. O compartilhamento de recursos é um dos objetivos principais para a existência dos sistemas distribuídos e a distância não é um impeditivo para a interligação dos componentes, podendo estar separados por qualquer distância (estar em diferentes continentes, regiões e prédios), ou até mesmo na mesma sala. Pergunta 6 Resposta Selecionada: a. Respostas: a. b. c. d. Os sistemas distribuídos baseados na web tornaram as aplicações de rede populares entre usuários finais através da utilização de documentos. Em relação aos serviços web, escolha a alternativa correta em relação ao protocolo SOAP (Simple Object Access Protocol). O SOAP tem como objetivo fornecer um meio simples de comunicação distribuída, permitindo que partes distintas consigam trocar mensagens baseadas em XML. O SOAP tem como objetivo fornecer um meio simples de comunicação distribuída, permitindo que partes distintas consigam trocar mensagens baseadas em XML. O SOAP é uma linguagem de definição baseada em XML usada para descrever a funcionalidade de um serviço web. O SOAP é um protocolo que permite que os dados sejam transmitidos por meio de uma conexão criptografada. 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 7/11 e. Comentário da resposta: O SOAP é o protocolo padrão da internet para gerenciamento de dispositivos em redes IP. O SOAP é um protocolo de segurança projetado para fornecer segurança nas comunicações sobre uma rede de computadores. A resposta correta é a alternativa A. O protocolo SOAP tem como objetivo fornecer um meio simples de comunicação, permitindo que diferentes partes, que se conheçam muito pouco, consigam trocar mensagens. As mensagens SOAP são baseadas em XML (Extensible Markup Language). O XML é uma linguagem de metamarcação que inclui a definição dos elementos que são usados para descrever o documento. Pergunta 7 Resposta Selecionada: c. Respostas: a. b. c. d. A figura a seguir demonstra a comunicação entre um cliente com o servidor web através do SOAP. Assinale a alternativa correta em relação ao WSDL. O WSDL, além do descritivo do serviço, contém a forma de acesso e quais são as operações disponíveis para utilização. O WSDL é uma linguagem de marcação que pode, adicionalmente, trabalhar como uma linguagem de definição. O WSDL é uma arquitetura para estabelecer e simplificar a troca de dados entre diferentes sistemas. O WSDL, além do descritivo do serviço, contém a forma de acesso e quais são as operações disponíveis para utilização. 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 8/11 e. Comentário da resposta: O WSDL é uma interface de programação que permite a execução de procedimentos remotos em aplicações desenvolvidas em Java. O WSDL é um componente do servidor web, sendo necessário em qualquer comunicação SOAP, XML ou HTTP. A resposta correta é a alternativa C. O WSDL (Web Service Description Language) é uma linguagem de definição baseada em XML, sendo usada para descrever a funcionalidade de um serviço web baseado em SOAP, ou seja, além do descritivo do serviço, contém a forma de acesso e quais são as operações disponíveis para utilização (BASHAM; SIERRA; BATES, 2005). Pergunta 8 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Sincronização significa fazer a mesma coisa ao mesmo tempo, e esse processo é um dos maiores problemas em sistemas distribuídos. Com base nessa afirmação, escolha a alternativa correta em relação à sincronização em sistemas distribuídos. A sincronização é realizada através de troca de mensagens, considerando o tempo que se leva para enviar e receber as mensagens. A sincronização é realizada através de troca de mensagens, considerando o tempo que se leva para enviar e receber as mensagens. A sincronização é realizada através de troca de mensagens, independentemente do tempo que se leva para enviar e receber as mensagens. A sincronização é realizada a partir do primeiro servidor que recebe a mensagem, e, portanto, todos os outros devem respeitar o seu relógio para realizar a transação. A sincronização não é considerada importante, pois em sistemas distribuídos não ocorre a execução de processos em diferentes máquinas. A sincronização pode ser facilmente substituída pelo uso de banco de dados transacionais. A resposta correta é a alternativa A. Há vários modos de sincronizar relógios em um sistema distribuído, mas, em essência, todos os métodos são baseados em troca de valores de relógio, 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_88339… 9/11 considerando simultaneamente o tempo que se leva para enviar e receber mensagens. Variações em atrasos de comunicação e o modo como essas variações são tratadas determinam, em grande parte, a precisão de algoritmos de sincronização de relógios (TANENBAUM; STEEN, 2008, p. 163). Pergunta 9 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Na comparação do uso de um data center local em relação à computação em nuvem, podem-se identificar diversas vantagens na implementação da computação em nuvem. Escolha a alternativa correta em relação às vantagens do uso da computação em nuvem. Capacidade de expansão (vertical ou horizontal) e preço baseado na utilização com pagamento conforme o uso. Risco de paralisação próximo de zero e data center único. Infraestrutura exige altos investimentos e capacidade de expansão (vertical ou horizontal). Capacidade de expansão (vertical ou horizontal) e preço baseado na utilização com pagamento conforme o uso. Hardware personalizável, sistemas desenvolvidos para propósito específico e risco de paralisação quase zero. Data centerúnico e hardware personalizável, sistemas desenvolvidos para propósito específico. A resposta correta é a alternativa C. A capacidade de expansão vertical ou horizontal não é possível de ser realizada em um data center local, bem como o preço baseado na utilização. Ambas são possíveis somente na computação em nuvem. Isso acontece pelo fato de a escalabilidade ser um dos pontos fundamentais na computação em nuvem, podendo ser vertical ou horizontal. A expansão vertical é uma arquitetura dimensionada para possibilitar de maneira econômica e simples a adição de recursos do sistema nele próprio. Ou seja, adicionar mais recursos conforme a demanda de uso. Já a expansão horizontal está relacionada com a capacidade de adicionar mais processamento ou máquinas físicas ao seu ambiente. Ambas são muito utilizadas na computação em nuvem. De forma que o preço baseado em uso é quando a precificação pode variar levando em consideração diversos aspectos, tais como: 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_8833… 10/11 uso de processador, memória, quantidade de equipamentos, velocidade do link, etc. Pergunta 10 Resposta Selecionada: c. Respostas: a. b. c. d. e. 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. 1 em 1 pontos 24/11/2022 20:54 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28034522_1&course_id=_197312_1&content_id=_8833… 11/11 Quinta-feira, 24 de Novembro de 2022 20h54min00s BRT Comentário da resposta: É 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, os serviços são atendidos de forma transparente, e para o objeto distribuído, todas as solicitações se comportam da mesma forma. ← OK
Compartilhar