Prévia do material em texto
UNIVERSIDADE FEDERAL DE RORAIMA DEPARTAMENTE DE CIÊNCIA DA COMPUTAÇÃO FICHA DE DISCIPLINA DISCIPLINA: Sistemas Distribuídos ( X ) SEMESTRAL ( ) ANUAL CÓDIGO: DCC 602 PERÍODO: Sexto CARGA HORÁRIA: 60 horas-aula / semestre (3 horas-aula / semana – aulas teóricas e 1 hora-aula / semana – aulas prática) ( X ) OBRIGATÓRIA ( ) OPTATIVA PRÉ-REQUISITOS: Sistemas Operacionais (DCC 403) Redes de Computadores II (DCC 507) CÓ-REQUISITOS: Nenhum CURSOS: CIÊNCIA DA COMPUTAÇÃO OBJETIVOS GERAIS DA DISCIPLINA Capacitar o aluno a reconhecer as características de um sistema distribuído; realizar a análise de problemas, modelagem e implementação de soluções em sistemas distribuídos; compreender os Modelos de Sistemas Distribuídos e sua Arquitetura, podendo assim, realizar a análise de problemas, modelagem e implementação de soluções em sistemas distribuídos. EMENTA RESUMIDA Caracterização de sistemas distribuídos; Modelos de sistema; Processos em sistemas distribuídos; Objetos distribuídos; Serviços de nomes e serviços de diretórios; Segurança em sistemas distribuídos; Novos modelos de sistemas distribuídos; Algoritmos distribuídos; Replicação e tolerância a falhas. EMENTA DETALHADA CARACTERIZAÇÃO DE SISTEMAS DISTRIBUÍDOS 1 2 Compartilhamento de recursos Transparências de distribuição serviços Principais problemas e desafios Exemplos de sistemas distribuídos Aplicações distribuídas MODELOS DE SISTEMA Arquitetura geral de sistemas distribuídos (middleware, cliente-servidor, peer-to-peer, agentes móveis) Requisitos de projeto (desempenho, qualidade de serviço confiabilidade, transparência) Modelos de interação Modelos de falha Modelos de segurança PROCESSOS EM SISTEMAS DISTRIBUÍDOS Comunicação interprocessos (API de sockets, representação de dados) Processos clientes e processos servidores Uso de threads Código móvel e agentes OBJETOS DISTRIBUÍDOS Chamada de procedimentos remotos (RPC) Modelo de objetos distribuídos (interfaces, referência de objeto, operações, exceções, chamada de métodos remotos) Uso e implementação de RMI Plataformas de middleware e processamento distribuído aberto Java RMI CORBA Eventos e notificações SERVIÇOS DE NOMES E SERVIÇOS DE DIRETÓRIOS publicação e descoberta de serviços, principais tecnologias disponíveis. SEGURANÇA EM SISTEMAS DISTRIBUÍDOS Principais aspectos de segurança (confidencialidade, integridade, autenticação, não-repúdio) Uso de criptografia Assinaturas e certificados digitais NOVOS MODELOS DE SISTEMAS DISTRIBUÍDOS Sistemas peer-to-peer Web services Computação em grade Computação móvel e ubíqua Multimídia distribuída ALGORITMOS DISTRIBUÍDOS Conceitos relacionados ao tempo em sistemas distribuídos Relógios lógicos Sincronização de relógios físicos Estado global Exclusão mútua distribuída Eleições, comunicação de grupo Consenso Tansações distribuídas REPLICAÇÃO E TOLERÂNCIA A FALHAS Comunicação confiável; Replicação e manutenção de consistência entre réplicas Transações distribuídas Comunicação de grupo BIBLIOGRAFIA Básica: COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas distribuídos: Conceitos e projeto. 4º Edição. Editora: Bookman. 2007. TANENBAUM, Andrew S.; STEEN, Maartan Van Sistemas Distribuídos: Princípios e Paradigmas. 2º Edição. Editora: Pearson Education. 2008. TANENBAUM, Andrew S. Redes de Computadores. 4º Edição. Editora: Campus. 2003. Complementar: KUROSE, James F.; Ross, Keith W. Redes de Computadores e a Internet. 3° Edição, Editora: Pearson. 2006. 3 Aprovado em reunião do Colegiado do Curso de Ciência da Computação. Em ___/____/______ _____________________________________ Coordenador do curso APROVAÇÃO