CURSO : SISTEMAS DISTRIBUIDOS TRADUCCION : DISTRIBUTED SYSTEMS SIGLA : IIC2523 CRÉDITOS : 10 MÓDULOS : 03 CARÁCTER : MINIMO DISCIPLINA : INGENIERIA I.DESCRIPCION Este curso ense?a los modelos, tecnicas, algoritmos para dise?ar, implementar y evaluar sistemas distribuidos, tomando en cuenta tanto los aspectos de hardware como los de software y comunicaciones. II.OBJETIVOS Al finalizar el curso el alumno sera capaz de: 1. Explicar y ejemplificar los fundamentos teoricos y practicos de los sistemas distribuidos. 2. Identificar y explicar los aspectos de hardware y software involucrados en el dise?o de un sistema operativo, incluyendo topologias de red y arquitectura del sistema. 3. Identificar y explicar los modelos de comunicacion a partir de los cuales se puede dise?ar y construir un sistema distribuido. 4. Explicar y aplicar los algoritmos para resolver problemas de sincronizacion, consenso, eleccion de lideres y deteccion de deadlocks en un sistema distribuido. 5. Identificar y explicar los aspectos involucrados en los sistemas distribuidos de tiempo real y en los sistemas distribuidos de archivos. 6. Dise?ar e implementar un sistema distribuido basado en procesos/threads distribuidos comunicados de acuerdo a un modelo apropiado para el problema abordado, tomando en consideracion soluciones para todas las problematicas inherentes a este tipo de sistemas. III.CONTENIDOS 1. Fundamentos: Caracterizacion, ventajas, aspectos de hardware, aspectos de software, dise?o. 2. Comunicacion: Topologias de red, protocolos de comunicacion, modelos de comunicacion (RPC - RMI, cliente-servidor, paso de mensajes). 3. Sincronizacion: Relojes, exclusion mutua, algoritmos de eleccion y consenso, transacciones atomicas, deadlocks. 4. Procesos y procesadores: Modelos de sistemas, asignacion de procesadores, scheduling, tolerancia a fallas, sistemas de tiempo real. 5. Sistemas distribuidos de archivos: Dise?o, implementacion, tendencias. 6. Memoria compartida distribuida: Conceptos, consistencia, causalidad, sistemas basados en paginas, sistemas basados en variables compartidas, sistemas basados en objetos. IV.METODOLOGIA Modulos semanales: - Catedras: 2 - Ayudantias: 1 El curso se realiza utilizando metodologias de ense?anza centradas en el alumno que permitan a los estudiantes desarrollar las competencias definidas en los objetivos del curso. Este curso esta dise?ado de forma tal que el alumno dedique al estudio personal un promedio de 6 hrs. a la semana. V.EVALUACION Las evaluaciones pueden ser por medio de pruebas, proyectos y/o tareas. VI.BIBLIOGRAFIA Textos Minimos Tanenbaum, Andrew. Distributed Systems: Principles and Paradimes, 3rd ed. New York, Prentice Hall, 2006. PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE FACULTAD DE INGENIERIA / MAYO 2009