Skip to content

Sistemas Distribuídos

Fundamentos, arquiteturas e desafios dos sistemas distribuídos modernos

Esta seção reúne o material de apoio da disciplina de Sistemas Distribuídos, cobrindo desde a computação ubíqua e a nuvem até os modelos de arquitetura, falhas, concorrência, bancos de dados distribuídos e IoT.

01: Introdução: Ubiquitous Computing, Clouds, IoT e Smart Environments

Computação ubíqua, computação em nuvem, IoT e ambientes inteligentes: os quatro pilares que motivam o estudo de sistemas distribuídos modernos.

Ver conteúdo →

02: Evolução e Definição de Sistemas Distribuídos

Da computação centralizada aos sistemas abertos, definições de Tanenbaum e Coulouris, e os principais desafios (concorrência, escalabilidade, segurança, transparência).

Ver conteúdo →

03: Modelos Físicos

Sistemas distribuídos primitivos, adaptados para a Internet, contemporâneos e de sistemas (SoS): computação móvel, pervasiva, ubíqua, clusters e grids.

Ver conteúdo →

04: Modelos de Arquitetura

Entidades em comunicação, paradigmas de comunicação, cliente-servidor, peer-to-peer, localização de recursos, camadas lógicas/físicas e middleware.

Ver conteúdo →

05: Modelos Fundamentais: Interação e Tempo

Desempenho de rede, relógios físicos e drift, sincronização de relógios (Cristian, Berkeley, NTP), sistemas síncronos/assíncronos e o algoritmo de Lamport.

Ver conteúdo →

06: Dependabilidade e Modelos de Falha

Confiabilidade, disponibilidade e segurança; falhas de omissão, temporização e bizantinas; o problema dos dois generais e dos generais bizantinos.

Ver conteúdo →

07: Comunicação em Sistemas Distribuídos

Comunicação direta × indireta, sockets (TCP/UDP em Python), representação externa de dados, threads e message brokers (AMQP, Pub/Sub, RabbitMQ).

Ver conteúdo →

08: Concorrência em Sistemas Distribuídos

Condições de corrida, deadlock (o problema dos filósofos), starvation e falhas parciais: causas, exemplos e estratégias de mitigação.

Ver conteúdo →

09: Bancos de Dados Distribuídos e Transações

Replicação, fragmentação, ACID, controle de concorrência (locking, OCC, timestamp ordering, MVCC, quorum) e commit atômico (2PC/3PC).

Ver conteúdo →

10: Cloud Computing

Definição do NIST, características essenciais, modelos de serviço (SaaS/PaaS/IaaS), modelos de implantação, grid/utility computing, fog e edge computing.

Ver conteúdo →

11: Internet das Coisas (IoT)

História e definições, arquitetura em camadas (3 e 5 camadas), modelos de comunicação (RFC 7452) e aplicações práticas de IoT.

Ver conteúdo →