📌 Informações Gerais da Disciplina
- Código:
CSECBJI.71- Período: 9º Período | Núcleo: Específica | Carga Horária: 60
- Docente Responsável: Docente IFF (contato@iff.edu.br)
- Livro / Material Didático Principal: Elementos de Eletrônica Digital (Capuano & Idoeta)
📋 Ementa e Objetivos Pedagógicos
📋 Ementa
Conceitos de Sistemas Distribuídos; Arquitetura de Sistemas Distribuídos; Sincronização em Sistemas Distribuídos; Modelo de Falha e Segurança; Middewares para Aplicações Distribuídas; Transações Distribuídas e Controle de Concorrência.
🎯 Objetivos
- Conhecer e aplicar conceitos e tecnologias de Sistemas Distribuídos
🔒 Pré-requisitos e Dependências Curriculares (Trancas)
📋 Pré-requisitos Exigidos:
🔓 Disciplinas Trancadas (Liberadas após conclusão):
- Esta disciplina não tranca nenhuma outra disciplina posterior.
📖 Conteúdo Programático
- 1. Conceito de Sistemas Distribuídos
- Definição e Principais Características de Sistemas Distribuídos
- Motivação para o Desenvolvimento de Aplicações Distribuídas
- 2. Motivação para o Desenvolvimento de Aplicações Distribuídas
- 3. Exemplos de Sistemas Distribuídos
- 4. Aspectos de Heterogeneidade, abertura, segurança, escalabilidade, tolerância a falhas, concorrência e transparência em sistemas distribuídos
- 5. Arquitetura de Sistemas Distribuídos
- Cliente-Servidor
- Peer-to-Peer
- 6. Sincronização em Sistemas Distribuídos
- Modelo de Interação
- i. Síncrono
- Assincrono
- 7. Características da comunicação entre processos
- 8. Primitivas de comunicação
- 9. Sincronização interna e externa de relógios físicos
- 10. Modelo de Falha e Segurança
- Modelo de Falhas
- i. Falhas em Processos e em Canais de comunicação
- Modelo de Segurança
- i. Ameaças
- Métodos de ataque
- Mecanismo de segurança
- 11. Middleware para Aplicações Distribuídas
- Comunicação entre Objetos Distribuídos
- Referência de Objetos Remotos
- Serviço de Nomes
- Arquitetura de Eventos e Notificações
- Middleware para Aplicações Distribuídas
- 12. Transações Distribuídas e Controle de Concorrência
- Propriedades ACID de uma Transação
- Estados de uma Transação
- Protocolos de efetivação de uma transação
- Transações planas e aninhadas
- Leituras sujas, cancelamento em cascata, escritas prematuras
- 13. Controle de concorrência
- 14. Impasses
📚 Bibliografia Básica e Complementar (ABNT)
📕 Bibliografia Básica
- COLOURIS, G., DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos: Conceitos e Projeto. 4ª Edição.
- Porto Alegre: Bookman, 2007.
- STEVENS, W. R., FENNER, B., RUDOFF, A. M. Programação de Rede Unix: API para Soquetes de Rede. Porto Alegre: Booknan, 2005.
- TANENBAUM, A. S., VAN STEEN, M. Sistemas Distribuídos: Princípios e Paradigmas. 2ª Edição. São Paulo: Pearson, 2007.
📗 Bibliografia Complementar
- DEITEL, H., DEITEL, P., CHOFNES, K. S. Sistemas Operacionais. 3ª Edição. São Paulo: Pearson, 2005.
- KUROSE, J., ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 6ª Edição.
- Pearson, 2013.
- RHODES, B.
- GOERZEN, J. Programação de Redes com Python: Guia Abrangente de Programação e Gerenciamento de Redes com Python 3. São Paulo: Novatec, 2015.
- TANENBAUM, A. S. Sistemas Operacionais Modernos. 4ª Edição. Pearson, 2015.
- TANENBAUM, A. S., WOODHULL, A. S. Sistemas Operacionais: Projeto e Implementação. 3ª Edição.
- Porto Alegre: Bookman, 2018.