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
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 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.
|