Trabalha comunicação entre processos, serialização, filas, chamadas remotas e tolerância a falhas parciais. Exercícios mostram por que sistemas distribuídos exigem decisões diferentes das aplicações locais.