GoConqr has a new look! Let us know what you think.

Mind map

Conteúdo P1

ANDRE LUIZ PEREIRA DE OLIVEIRA Portuguese

Map content

Conteúdo P1

  1. SISTEMA DISTRIBUÍDO

    • O QUE É UM SISTEMA DISTRIBUÍDO?
      • Um sistema distribuído é aquele onde os componentes de hardware e software, localizados em computadores conectados por uma rede, se comunicam e coordenam suas ações por meio da troca de mensagens
    • SISTEMA DISTRIBUÍDO HETEROGÊNEO
      • Significa que o sistema distribuído pode possuir dispositivos ou sistemas que não são necessariamente idênticos, ou seja os componentes que os compõem podem ser diferentes em termos de hardware, SO, arquitetura, entre outros aspectos.
      • MIDDLEWARE
        • É uma camada de software que fornece uma abstração de programação de nível mais alto para o desenvolvimento de sistemas distribuídos e, por meio de camadas lógicas, abstrair a heterogeneidade da infraestrutura subjacente para promover a interoperabilidade e a portabilidade.
    • SISTEMA DISTRIBUÍDO ESCALÁVEL
      • Significa que o sistema permanecerá funcionando de forma eficiente quando se há um aumento ou diminuição tanto no número de recursos quanto no número de usuários.
    • SISTEMA DISTRIBUÍDO TRANSPARENTE
      • Significa que para o usuário final e o programador de aplicativos é oculta a separação dos componentes do sistema distribuído, de modo que o sistema seja percebido como um todo, em vez de uma coleção de componentes independentes
    • SISTEMA DISTRIBUÍDO RESILIENTE À FALHAS
      • Significa dizer que mesmo que os componentes de um sistema distribuído falhem os outros podem continuar em funcionamento.
    • SISTEMA DISTRIBUÍDO ABERTO
      • A principal motivação é pela capacidade de personalização do sistema a partir das especificações originais, com implementações que atendem requisitos específicos ou alteram o sistema em partes que ele poderia ser melhorado.
  2. ARQUITETURAS E MODELOS

    • MODELO FÍSICO
      • MODELO MÍNIMO
        • O modelo mínimo de um sistema distribuído é um conjunto extensível de nós de computador interconectados por uma rede de computadores para a troca de mensagens.
      • O modelo físico é considerado a maneira mais explícita de descrever um sistemas; eles capturam a composição do hardware de um sistema, em termos dos computadores e suas redes de interconexão.
    • MODELO DE ARQUITETURA
      • O modelo de arquitetura descrevem um sistema em termos das tarefas computacionais e de comunicação realizadas por seus elementos computacionais - os computadores individuais ou seus agregados (clusters) suportados pelas interconexões de rede apropriadas.
    • MODELO FUNDAMENTAL
      • O modelo fundamental adota uma perspectiva abstrata ao examinar os aspectos individuais de um sistema distribuído.
    • MODELOS DE ARQUITETURA
      • COMUNICAÇÃO ENTRE PROCESSOS
        • Se refere ao suporte de nível relativamente baixo para comunicação entre processos nos sistemas distribuídos, incluindo primitivas de passagem de mensagens, acesso direto à API oferecida pelos protocolos Internet (programação de soquete) e também o suporte para comunicação em grupo (multicast).
      • A INOVAÇÃO REMOTA
        • Representa o paradigma de comunicação mais comum nos sistemas distribuídos, cobrindo uma variedade de técnicas baseadas na troca bilateral entre as entidades que se comunicam em um sistema distribuído e resultando na chamada de uma operação, um procedimento ou método remoto.
      • COMUNICAÇÃO EM GRUPO
        • Está relacionada à entrega de mensagens para um conjunto de destinatários e, assim, é um paradigma de comunicação de várias partes, suportando comunicação de um para muitos.
      • MODELO CLIENTE-SERVIDOR
        • No modelo cliente-servidor, um cliente realiza solicitações ao servidor, esperando respostas deste. Ao mesmo tempo, um servidor fica aguardando solicitações de clientes. Quando chega uma solicitação, ele realiza cálculos ou consultas, agrupa tudo em uma única mensagem e responde a uma solicitação de cliente.
        • MODELO CLIENTE-SERVIDOR 3 CAMADAS
          • INTERFACE DO USUÁRIO (CLIENTE)
            • Essa camada é responsável por apresentar a interface gráfica do usuário (GUI) e por gerenciar a interação do usuário com o sistema. Ela é executada no cliente e pode ser desenvolvida em várias plataformas, como desktop, web ou dispositivos móveis.
          • CAMADA DE NEGÓCIOS (SERVIDOR)
            • Essa camada é responsável por gerenciar as regras de negócios e as lógicas de processamento do sistema. Ela é executada no servidor e comunica-se com a camada de interface do usuário para receber solicitações e enviar respostas.
          • CAMADA DE DADOS (SERVIDOR)
            • Essa camada é responsável por gerenciar o acesso e a manipulação dos dados do sistema, como banco de dados, arquivos ou outras fontes de dados. Ela é executada no servidor e comunica-se com a camada de negócios para fornecer e receber informações.
      • MODELO PEER-TO-PEER
        • Nessa arquitetura, todos os processos envolvidos em uma tarefa ou atividade desempenham funções semelhantes, interagindo cooperativamente como pares (peers), sem distinção entre processos clientes e servidores, nem entre os computadores em que são executados.
      • ARQUITETURAS EM CAMADAS
        • CAMADAS LÓGICAS
          • Um sistema pode ser particionado em várias camadas; Cada camada utiliza os serviços de uma camada inferior; Cada camada deve fornecer uma abstração de software, sem que as camadas superiores conheçam os detalhes de implementação;
        • CAMADAS FÍSICAS
          • As arquiteturas de camadas físicas são complementares às camadas lógicas; Representam uma técnica para organizar a funcionalidade de determinada camada lógica e colocar essa funcionalidade nos nós apropriados; Está associada à organização de aplicativos e serviços.
    • SISTEMAS DE COMUNICAÇÃO
      • COMUNICAÇÃO SÍNCRONA
        • A comunicação síncrona é um tipo de comunicação bloqueante, onde o processo emissor fica bloqueado até que a mensagem seja recebida pelo processo receptor, além disso, os processo que estão envolvidos na comunicação devem sincronizar a troca de mensagens.
      • COMUNICAÇÃO ASSÍNCRONA
        • A comunicação assíncrona é um tipo de comunicação não-bloqueante, onde os processos envolvidos não precisam sincronizar a troca de mensagens. Após executar uma operação de envio, o processo emissor não fica bloqueado esperando a comunicação ser concluída.
    • MODELO DE FALHAS
      • O modelo de falhas define como uma falha pode se manifestar em um sistema, de forma a proporcionar um entendimento dos seus efeitos e consequências.
      • FALHAS DE OMISSÃO
        • Se refere a casos quando um processo ou canal de comunicação falha em executar ações que deveria. No caso dos processos, ocorre quando um processo é parado e não irá executar os passos restantes que deveria. Já as falhas de comunicação ocorrem porque não há espaço suficiente no buffer do destinatário, há um gateway interrompido, ou por erro de transmissão dos dados na rede.
      • FALHAS ARBITRÁRIAS
        • Ocorrem quando etapas de processamento são arbitrariamente omitidas ou etapas não requisitadas são executadas. Canais de comunicação podem sofrer de falhas arbitrárias quando o conteúdo de uma mensagem é corrompido, mensagens não existentes são entregues ou mensagens válidas são entregues mais de uma vez.
    • TAXONOMIA DE FLYNN
      • SISD
        • Computador convencional de Von Neumann, com uma simples CPU e uma simples unidade de memória, conectados por barramento. Executa uma instrução por vez e busca ou armazena um item dado por vez.
      • SIMD
        • Método de operação de computadores com várias unidades operacionais em computação paralela. Amplamente utilizado em processadores vetoriais e unidades de processamento gráfico.
      • MISD
        • Múltiplas operações, em paralelo, sobre os mesmos dados. Não existem implementações, dado que se trata apenas de um modelo conceitual.
      • MIND
        • Vários processadores executam diferentes códigos em diferentes dados, com tipicamente uma coleção de cores independentes, com UC e ALU próprios.
    • SISTEMA DE MEMÓRIA
      • MEMÓRIA COMPARTILHADA
        • Estamos considerando em sistema com de dois ou mais elementos de processamento compartilhado uma mesma memória, ou seja, a memória é única entre os processadores (ou cores. Exemplo são os sistemas UMA e os sistemas NUMA.
      • MEMÓRIA DISTRIBUÍDA
        • Estamos considerando um sistemas composto por vários pares de processador-memoria, conectados por uma rede de comunicação e engajados para resolver uma tarefa única. Neste caso, os pares processador-memoria devem trocar mensagens entre eles utilizando um mecanismo de troca de mensagens.
    • CLUSTERS
      • Um cluster é um conjunto de computadores interconectados, operando alinhados, buscando prover performance de alto desempenho de maneira singular e integrada. A maioria dos clusters consiste em PCs executando uma versão, geralmente simplificada, de um sistema Linux, conectados por uma rede LAN.
  3. COMUNICAÇÃO ENTRE PROCESSOS

    • TIPOS DE COMUNICAÇÃO
      • COMUNICAÇÃO SÍNCRONA
        • OPERAÇÕES BLOQUEANTES SEM BUFFER
          • Operação de envio não retorna até achar um recebimento que case no processo receptor
        • OPERAÇÕES BLOQUEANTES COM BUFFER
          • Ao encontrar uma operação envio, o emissor copia o dado para dentro de um buffer e retorna depois que a cópia é completada. Com isso, o emissor pode continuar a executar seu programa sem preocupação. Quando o processo receptor encontra uma operação de recebimento, ele verifica se existe uma mensagem no seu buffer e então, o dado é copiado para a variável em questão.
        • Na forma síncrona de comunicação, os processos origem e destino são sincronizados a cada mensagem. Nesse caso, send e receive são operações que causam bloqueio. Quando um envio (send) é feito, o processo origem é bloqueado até que a recepção (receive) correspondente seja realizada. Quando uma recepção é executada, o processo é bloqueado enquanto a mensagem não chegar.
      • COMUNICAÇÃO ASSÍNCRONA
        • Operação send() é não-bloqueante, ou seja, processo emissor pode prosseguir assim que a mensagem seja copiada para um bufferde saída (local); A transmissão da mensagem ocorre em paralelo com o processo remetente; A operação receive() pode se: com ou sem bloqueio;
          • Não-bloqueante: processo destino prossegue sua execução após ter realizado a operação receive(), que contém um buffer para ser preenchido em background. Quando mensagem chega, ele trata
          • Bloqueante: da mesma forma que na comunicação síncrona, a operação bloqueia enquanto a mensagem não chegar.
        • OPERAÇÕES NÃO-BLOQUEANTES SEM BUFFER
          • Não bloqueia: processo que quer enviar o dado simplesmente executa send/receive e retorna para a execução. O processo pode continuar a realizar outras operações. Quando o send/receive é encontrado, a comunicação é iniciada, em qualquer momento, o processo verifica se a operação send/receive foi completada, se necessário, espera completar a transferência (operação wait). Quando a operação é completada, programa pode usar a operação de verificação de status.
        • OPERAÇÕES NÃO-BLOQUEANTES COM BUFFER
          • Emissor inicia uma operação de ACESSO DIRETO A MEMÓRIA e retorna. O dado torna-se seguro quando a operação é completada. A operação receive inicia a transferência do buffer do emissor para a variável alvo. Ideia é reduzir o tempo em que o dado fica inseguro.
      • Na comunicação com buffer, é definida uma região da memória para armazenar mensagens enviadas/recebidas. Isto proporciona a capacidade ao computador remetente executar outras instruções, sem ter que se ocupar com o recebimento da mensagem por parte do destinatário.
      • Em uma comunicação sem buffer, a operação send precisa confirmar o receive do destinatário. Caso contrário, o sistema fica aguardando indeterminadamente.
      • COMUNICAÇÃO PERSISTENTE
        • Na comunicação persistente a mensagem transmitida é armazenada pelo sistema de comunicação até que seja entregue ao receptor e não é necessário que o emissor continue executando após transmitir a mensagem e o receptor não precisa estar executando, por exemplo o e-mail.
      • COMUNICAÇÃO TRANSIENTE
        • Já na comunicação transiente a mensagem é armazenada pelo sistema de comunicação somente enquanto o emissor e receptor estão executando, por exemplo: serviços de comunicação no nível da camada de transporte.
    • COMUNICAÇÃO NA CAMADA DE TRANSPORTE
      • TCP
        • TCP é um protocolo de rede confiável, com controle de tráfego e congestionamento de enlace. Em termos simples, garante que as mensagens sejam entregues, controla a taxa de envio e recebimento de pacotes. É amplamente empregado em conexões na web, dada sua alta confiabilidade em estabelecer comunicações.
      • UDP
        • UDP é um protocolo que segue o exato oposto, sendo aplicado, principalmente, em situações onde a velocidade de envio é crucial para a aplicação.

Information

Description
Mind Map on Conteúdo P1, created by ANDRE LUIZ PEREIRA DE OLIVEIRA on 09/10/2024.
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?