Você está na página 1de 3

Samira de Assis Rosa

1- Sistemas confiáveis são importantes para fornecer um alto grau de segurança porque
eles são projetados e implementados com medidas de segurança rigorosas em todas as
suas camadas, desde a infraestrutura de rede até as aplicações que processam e
armazenam informações sensíveis. Essas medidas de segurança visam garantir que os
dados confidenciais sejam protegidos contra acessos não autorizados, roubo, modificação
ou destruição.

Quando um sistema não é confiável, ele se torna vulnerável a ataques e explorações


maliciosas que podem comprometer a segurança das informações. Isso pode resultar em
perda de dados, danos à reputação da empresa, perda financeira e violações de
privacidade. Além disso, os sistemas confiáveis são importantes para cumprir requisitos
regulatórios e normativos relacionados à segurança da informação, garantindo a
conformidade com leis e regulamentos que protegem as informações sensíveis.

2- Sim, retornar uma página em cache desatualizada em vez de uma mais recente que foi
atualizada no servidor é considerado uma falha no sistema de cache do navegador da Web.
Essa falha é conhecida como "stale cache" ou "cache desatualizado", que ocorre quando o
navegador usa uma versão em cache de uma página da web que foi armazenada
anteriormente, em vez de solicitar uma nova versão atualizada do servidor.

Essa falha pode ser prejudicial em vários casos, como quando as informações da página
atualizada são importantes, como transações financeiras ou atualizações críticas de
segurança. Isso pode levar a resultados inesperados ou até mesmo a violações de
segurança se informações sensíveis forem acessadas a partir de uma versão desatualizada
da página. Para evitar essas falhas de cache, os desenvolvedores devem configurar
adequadamente os cabeçalhos HTTP para controlar a forma como as páginas são
armazenadas em cache e definir tempos limite adequados para expirar as versões em
cache.

3- (a) Para leitura e gravação de arquivos de um servidor de arquivos, geralmente a


semântica "pelo menos uma vez" é a melhor opção. Isso significa que os dados são lidos ou
gravados no servidor pelo menos uma vez e, em seguida, armazenados em cache no
cliente para leituras subsequentes. Essa abordagem reduz o tempo de espera para acessar
os arquivos, já que as leituras subsequentes são feitas diretamente do cache local. No
entanto, isso pode levar a inconsistências de dados se houver várias instâncias do
aplicativo gravando no mesmo arquivo simultaneamente.

(b) Para compilar um programa, a semântica "no máximo uma vez" é a melhor opção. Isso
significa que o compilador deve analisar o código fonte e gerar o código binário do
programa apenas uma vez. Isso garante a consistência do código gerado e reduz o tempo
de compilação.

(c) Para serviços bancários remotos, a semântica "pelo menos uma vez" é geralmente a
melhor opção. Isso permite que os dados sejam lidos ou gravados no servidor pelo menos
uma vez e armazenados em cache no cliente para leituras subsequentes. Isso reduz o
tempo de espera para acessar os dados e melhora a experiência do usuário. No entanto, a
consistência dos dados é extremamente importante neste caso, e medidas de segurança
adicionais devem ser tomadas para garantir a integridade dos dados.

4- Um exemplo em que a comunicação em grupo não requer mensagem ordenando é um


sistema de votação em grupo. Nesse sistema, um grupo de pessoas pode votar em uma
questão, como a escolha de um restaurante para um jantar em grupo. Cada membro do
grupo pode enviar seu voto individualmente para um servidor que recebe e contabiliza os
votos.

Nesse caso, a ordem em que os votos são recebidos pelo servidor não é importante, pois
cada voto é independente um do outro. Não há necessidade de uma mensagem ordenada,
pois a ordem de recebimento não afeta o resultado final da votação. O importante é que
todos os votos sejam contabilizados e que o resultado final seja apresentado ao grupo.

Esse tipo de sistema de votação em grupo pode ser usado em diferentes contextos, como
em decisões em empresas, organizações ou mesmo em escolhas pessoais entre amigos ou
familiares.

5- A escalabilidade do multicast atômico é extremamente importante em sistemas


distribuídos em que é necessário enviar uma mensagem para um grande número de
destinatários simultaneamente, garantindo que todos recebam a mesma mensagem.

O multicast atômico é uma operação que garante que a mesma mensagem seja entregue
de forma atômica para todos os destinatários. Isso significa que a mensagem é entregue
inteiramente ou não é entregue a nenhum dos destinatários, evitando inconsistências ou
divergências de estado entre os destinatários.

Em sistemas com grande número de destinatários, como em aplicações de transmissão de


vídeo ou em redes de sensores sem fio, a escalabilidade do multicast atômico é
fundamental para garantir que a mensagem seja entregue a todos os destinatários em
tempo hábil e com o mínimo de sobrecarga de rede. Se a escalabilidade não for levada em
consideração, pode haver atrasos significativos na entrega da mensagem ou até mesmo
falhas na entrega para alguns destinatários.

Por isso, é importante que os algoritmos de multicast atômico sejam projetados para serem
escaláveis, capazes de lidar com grandes grupos de destinatários, sem sobrecarregar a
rede ou os recursos do sistema. Além disso, devem ser capazes de lidar com as possíveis
falhas na rede, como perda de pacotes, falhas em nós intermediários ou outros eventos
inesperados que possam afetar a entrega da mensagem.

6- O modelo de redundância modular tripla é projetado para fornecer alta disponibilidade e


tolerância a falhas em sistemas críticos, incluindo falhas transientes e falhas permanentes
de componentes individuais.
Embora o modelo de redundância modular tripla possa mitigar muitos tipos de falhas, ele
não é projetado para lidar com falhas bizantinas. As falhas bizantinas são aquelas em que
um componente pode se comportar de maneira maliciosa ou arbitrária, ou seja, um
componente pode enviar informações falsas ou manipuladas para outros componentes.

O modelo de redundância modular tripla é projetado para lidar com falhas em componentes
individuais, mas não é capaz de detectar ou corrigir falhas em um componente malicioso.
Em outras palavras, se um dos componentes estiver agindo de forma maliciosa, os outros
componentes podem não ser capazes de detectar ou corrigir a falha.

Portanto, para lidar com falhas bizantinas, é necessário utilizar técnicas de detecção e
correção de falhas específicas, como a criptografia, técnicas de assinatura digital, ou outros
mecanismos de segurança para garantir a integridade e autenticidade das informações
transmitidas.

Você também pode gostar