Sobre esta disciplina
Período: 9º Período · Núcleo: Específica · Carga Horária: 60h Tópicos: Conceitos de Sistemas Distribuídos; Arquitetura de Sistemas Distribuídos; Sincronização em Sistemas Distribuídos; Modelo de Falha e Segurança;
| Campo | Valor |
|---|---|
| Código | CSECBJI.71 |
| Núcleo | Específica |
| Carga Horária | 60 |
| Período | 9º Período |
| Pré-requisitos | CSECBJI.55 - Redes de Computadores I, CSECBJI.56 - Sistemas Operacionais I |
📋 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
📖 Conteúdo Programático
- 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
- Motivação para o Desenvolvimento de Aplicações Distribuídas
- Exemplos de Sistemas Distribuídos
- Aspectos de Heterogeneidade, abertura, segurança, escalabilidade, tolerância a falhas, concorrência e transparência em sistemas distribuídos
- Arquitetura de Sistemas Distribuídos
- Cliente-Servidor
- Peer-to-Peer
- Sincronização em Sistemas Distribuídos
- Modelo de Interação
- i. Síncrono
- Assincrono
- Características da comunicação entre processos
- Primitivas de comunicação
- Sincronização interna e externa de relógios físicos
- 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
- 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
- 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
- Controle de concorrência
- Impasses
📕 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.