Objetivo Geral: Compreender, analisar e desenvolver aplicações distribuídas por meio de técnicas como programação concorrente, paralela e distribuída, sincronização e comunicação entre processos, comunicação online por meio de sockets TCP/IP e outras tecnologias para computação distribuída e de alto desempenho.
- Conceitos básicos: histórico, terminologia, sistemas centralizados, concorrentes, paralelos e distribuídos.
- Threads e Processos.
- Sincronização de Threads.
- Comunicação entre Processos.
- Comunicação via Sockets TCP/IP.
- Desenvolvimento de Aplicações Distribuídas.
- Aplicações para Sistemas Distribuídos.
- Fundamentos de Computação de Alto Desempenho.
- Laboratórios e Atividades Práticas - 50 Pontos
- Avaliação Individual - 30 Pontos
- Projeto Final - 20 Pontos
- TANENBAUM, Andrew; STEEN, Maarten Van. Sistemas Distribuídos: Princípios e Paradigmas. 2a Edição.
- COULOURIS, George et al. Sistemas Distribuídos: Conceitos e Projeto. 5a Edição.
- FOROUZAN, Behrouz A. Comunicação de Dados e Redes de Computadores. 4a Edição.