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;

CampoValor
CódigoCSECBJI.71
NúcleoEspecífica
Carga Horária60
Período9º Período
Pré-requisitosCSECBJI.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

  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
  1. Motivação para o Desenvolvimento de Aplicações Distribuídas
  2. Exemplos de Sistemas Distribuídos
  3. Aspectos de Heterogeneidade, abertura, segurança, escalabilidade, tolerância a falhas, concorrência e transparência em sistemas distribuídos
  4. Arquitetura de Sistemas Distribuídos
  • Cliente-Servidor
  • Peer-to-Peer
  1. Sincronização em Sistemas Distribuídos
  • Modelo de Interação
  • i. Síncrono
  • Assincrono
  1. Características da comunicação entre processos
  2. Primitivas de comunicação
  3. Sincronização interna e externa de relógios físicos
  4. 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
  1. 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
  1. 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
  1. Controle de concorrência
  2. Impasses

📕 Bibliografia Básica

  1. COLOURIS, G., DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos: Conceitos e Projeto. 4ª Edição.
  2. Porto Alegre: Bookman, 2007.
  3. STEVENS, W. R., FENNER, B., RUDOFF, A. M. Programação de Rede Unix: API para Soquetes de Rede. Porto Alegre: Booknan, 2005.
  4. TANENBAUM, A. S., VAN STEEN, M. Sistemas Distribuídos: Princípios e Paradigmas. 2ª Edição. São Paulo: Pearson, 2007.

📗 Bibliografia Complementar

  1. DEITEL, H., DEITEL, P., CHOFNES, K. S. Sistemas Operacionais. 3ª Edição. São Paulo: Pearson, 2005.
  2. KUROSE, J., ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 6ª Edição.
  3. Pearson, 2013.
  4. RHODES, B.
  5. 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.
  6. TANENBAUM, A. S. Sistemas Operacionais Modernos. 4ª Edição. Pearson, 2015.
  7. TANENBAUM, A. S., WOODHULL, A. S. Sistemas Operacionais: Projeto e Implementação. 3ª Edição.
  8. Porto Alegre: Bookman, 2018.