Plano de Ensino

Ciência da Computação

Página do Curso

Plano de Ensino | URI Câmpus de Erechim

PLANO DE ENSINO

DEPARTAMENTO DE ENGENHARIAS E CIÊNCIA DA COMPUTAÇÃO

Disciplina: Sistemas Distribuídos

Código: 30-471

Carga Horária: 80h (60h Prática + 20h Teórica)

Nº de Créditos: 04

 

EMENTA

Definição, objetivos, tipos e arquiteturas de Sistemas Distribuídos; Modelos de Comunicação; Nomeação; Sincronização; Consistência e Replicação; Sistemas distribuídos baseados em objetos, na web e em coordenação; Sistemas de Arquivos Distribuídos; Conceitos, mecanismos e tecnologias de Sistemas Operacionais Distribuídos.

 

OBJETIVO GERAL

Fornecer conhecimentos teóricos sobre princípios e conceitos de Sistemas Distribuídos e enfoque prático visando capacitação para o projeto e desenvolvimento de sistemas.

 

CONTEÚDOS CURRICULARES

Introdução

Definição de um sistema distribuído

Tipos de sistemas distribuídos

Estilos arquiteturais em Sistemas Distribuídos

Comunicação no contexto de Sistemas Distribuídos

Fundamentos

Comunicação orientada a mensagem e orientada a fluxo

Modelo Cliente-Servidor no contexto de Sistemas Distribuídos

Nomeação

Sincronização

Algoritmos de eleição

Consistência e replicação

Modelos de consistência centrados em dados e no cliente

Protocolos de consistência

Aspectos de tolerância a falha em Sistemas Distribuídos

Sistemas distribuídos baseados em objetos, na web e em coordenação

Arquitetura

Processos

Comunicação

Sincronização

Sistemas de arquivo distribuídos

Conceituação

Estrutura

Projeto e implementação

Compartilhamento

Distribuição

Acesso remoto

Replicação

Sistemas Operacionais Distribuídos

Conceitos

Comparativo entre Sistemas Centralizados, Sistemas Operacionais de Rede e Sistemas Operacionais Distribuídos

Aspectos de projeto: transparência, confiabilidade e segurança

 

METODOLOGIA

Os alunos desenvolverão Trabalhos Discente Efetivos (TDE) no total de 20h, de acordo com o planejamento do professor: estudos de caso, pesquisas bibliográficas, resolução de problemas e lista de exercícios.

O desenvolvimento dos conteúdos será feito através de aulas expositivas verbais e diálogo entre alunos e professor (com utilização de recursos audiovisuais e técnicas como exibição de slides, exposição oral, demonstrações práticas e teóricas), enquanto são discutidos os itens de cunho teórico; evoluindo em tópicos específicos para exercícios práticos e demonstrações (com técnicas como atividades práticas individuais, em grupos, demais atividades direcionadas ao conteúdo e discussões) visando a fixação dos conteúdos, e contextualização baseada em publicações atualizadas.

Uso de atividades em laboratório com o objetivo de demonstrar os conceitos estudados. Também serão realizados estudos de caso, debates, resolução de exercícios práticos, com execução de atividades que possibilitem a aplicação do conteúdo visto em aula de forma dinâmica e interativa.

No decorrer do semestre, serão utilizadas metodologias ativas com o objetivo de potencializar o processo de ensino-aprendizagem.

 

AVALIAÇÃO

Para esta disciplina a avaliação semestral deve considerar a média ponderada entre as notas, que serão definidas através das seguintes avaliações:

Parte da avaliação da disciplina, com peso 20%, será referente às atividades desenvolvidas nas TDEs, conforme previsto pelas regras da graduação Ativa da URI;

O restante das notas consistirá em provas e trabalhos (teóricos e/ou práticos), com assuntos específicos da disciplina.

A atribuição de notas para a avaliação do desempenho do acadêmico, segue o prescreve o Regimento Geral da Universidade, Art. 88 a 92.

 

BIBLIOGRAFIA

BIBLIOGRAFIA BÁSICA

COULOURIS, G.; DOLLIMORE, J.; KINDBERG, T. Sistemas Distribuídos: Conceitos e Projeto. 5 ed. Rio de Janeiro, Bookman, 2013. VitalBook file.

DANTAS, M. Computação Distribuída de Alto Desempenho: Redes, Clusters e Grids Computacionais. Rio de Janeiro: Axcel Books do Brasil, 2005.

TANENBAUM. A. S.; STEEN. M. Van. Sistemas Distribuídos: Princípios e Paradigmas. 2 ed. São Paulo: Prentice Hall, 2008.

 

BIBLIOGRAFIA COMPLEMENTAR

BOOKMAN, C. Agrupamentos de Computadores em Linux: Aprenda a Construir e Manter Grupos de Computadores com Linux. Rio de Janeiro: Ciência Moderna, 2003.

JALOTE, P. Fault Tolerance in Distributed Systems. New Jersey: Prentice Hall, 1997.

SILBERSCHATZ, Abraham; GALVIN, Peter Baer. Operating system concepts. 8. ed. Reading: Addison - Wesley, 2008.

RIBEIRO, U. Sistemas Distribuídos: Desenvolvendo Aplicações de Alta Performance em Linux. Rio de Janeiro: Axcel Books do Brasil, 2005.

TANENBAUM. A. S., WOODHULL, A. Sistemas Operacionais: Projeto e Implementação. 3 ed. Porto Alegre: Bookman, 2008.