Academia de Software de Sistemas (última actualización: JULIO 2004) 1 UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES DATOS GENERALES CLAVE DE LA MATERIA : CC319 NOMBRE DE LA MATERIA : SISTEMAS OPERATIVOS AVANZADOS TIPO : CURSO CARÁCTER DEL CURSO : OBLIGATORIO ÁREA DE FORMACION : ESPECIALIZANTE SELECTIVA PRERREQUISITOS : CC300 DEPTO. DE ADSCRIPCIÓN : CIENCIAS COMPUTACIONALES ACADEMA . CARGA HORARIA GLOBAL : 80 HORAS CARGA HORARIA SEMANAL : 4 HORAS VALOR EN CRÉDITOS : 11 CRÉDITOS SOFTWARE DE SISTEMAS Calendario de Aplicación: 2006-A : ENTENDER LOS MECANISMOS EMPLEADOS EN EL DISEÑO Y CONSTRUCCIÓN DE LOS SISTEMAS DISTRIBUIDOS DE PROPÓSITO GENERAL Y SUS APLICACIONES, COMPRENDIENDO LA IMPORTANCIA DE LOS SERVICIOS “ABIERTOS” SOBRE LOS QUE SE CONSTRUYEN LOS SISTEMAS DISTRIBUIDOS. ANALIZAR CASOS DE ESTUDIO CON EL FIN DE VALORAR LOS PRINCIPIOS DE DISEÑO. OBJETIVO GENERAL OBJETIVOS ESPECÍFICOS : EN CADA MÓDULO DEL CONTENIDO TEMÁTICO PRINCIPAL Conocimientos y habilidades requeridos para el curso: El alumno deberá tener conocimientos de programación, redes de computadoras y de arquitectura de computadoras así como estar familiarizado con conceptos básicos de Sistemas Operativos. Academia de Software de Sistemas (última actualización: JULIO 2004) 2 UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES SISTEMAS OPERATIVOS AVANZADOS CONTENIDO TEMÁTICO PRINCIPAL Aplicar en el Calendario: 2006-A Módulo 1 Antecedentes Básicos de los Sistemas Distribuidos. Objetivo: Conocer las características de los sistemas distribuidos y entender la forma en que están constituidos . (16 horas, 13 horas clase y 3 de investigación) 1.1 Introducción. (2 horas clase) Objetivo: Reconocerá las características generales de los Sistemas Distribuidos, identificando los existentes. 1.2 Aspectos Básicos de las Redes. Objetivo: Describirá las principales propiedades de las redes de computadoras, evaluando su operatividad. 1.2.1 Análisis. (1 hora clase + 1 de investigación) Objetivo: Identificará ventajas y desventajas sobre las redes, analizando su comportamiento. 1.2.2 Topologías. (1 hora clase + 1 de investigación) Objetivo: Comparará las topologías de red, resaltando sus beneficios y debilidades. 1.3 Conceptos Objetivo: Reconocerá los conceptos básicos relacionados con los Sistemas Distribuidos. 1.3.1 Conceptos de Hardware. (4 horas clase) Objetivo: Analizará las clasificaciones para las distintas organizaciones de procesadores con y sin red. 1.3.2 Conceptos de Software. (2 horas clase + 1 de investigación) Objetivo: Conceptualizar las clasificaciones de software en relación al acoplamiento en hardware. 1.4 Aspectos de Diseño. (2 horas clase) Objetivo: Determinará los elementos esenciales para el diseño de un Sistema Distribuido. Evaluación Parcial (Escrita, correspondiente al módulo 1) (1 hora) Módulo 2 Técnicas de Comunicación. Objetivo: Analizar y comprender los beneficios y debilidades de los diferentes esquemas de comunicación en Sistemas Distribuidos. (16 horas, 14 horas clase y 2 de investigación) 2.1 El modelo OSI (Interconexión de Sistemas Abiertos). (1 hora clase) Objetivo: Enunciará las cualidades de cada una de las capas que componen el modelo OSI, identificando sus propiedades. 2.2 El modelo de ATM (Modo de Transferencia Asíncrona). (1 hora clase) Objetivo: Explicará las razones para implementar un Sistema Distribuido mediante una red ATM, analizando fortalezas y debilidades. 2.3 El modelo Cliente Servidor. (6 horas clase + 1 de investigación) Objetivo: Determinará y conceptualizará los beneficios del modelo Cliente/Servidor comparando su desempeño con los modelos anteriores. 2.4 Llamadas a Procedimientos Remotos (RPC). (4 horas clase + 1 de Investigación) Objetivo: Analizará las ventajas y complicaciones de ocultar la E/S del modelo Cliente/Servidor ante el programador de alto nivel. 2.5 Comunicación en Grupo. (1 hora clase) Objetivo: Examinará la aplicación del modelo Cliente/Servidor y las RPCs para los procesos cooperativos. Evaluación Parcial (Escrita, correspondiente al módulo 2) (1 hora) Módulo 3. Sincronización. Academia de Software de Sistemas (última actualización: JULIO 2004) 3 Objetivo: Estudiar los mecanismos empleados para la sincronización de procesos en sistemas distribuidos (10 horas, 7 horas clase y 3 de investigación) 3.1 Análisis del tiempo. Objetivo: Reconocerá la importancia de un mecanismo para sincronizar eventos ejemplificando su labor. 3.1.1 Introducción. (1 hora clase) Objetivo: Describirá los componentes básicos de un cronómetro, identificando su función específica. 3.1.2 Relojes Lógicos y Físicos. (2 horas clase + 1 de investigación) Objetivo: Comparará las diferencias existentes entre los relojes lógicos y físicos, determinando la aplicación de cada uno de ellos. 3.2 Estudio de Algoritmos de Sincronización. (2 horas clase + 1 de investigación) Objetivo: Reconocerá las particularidades de los algoritmos de sincronización, comparando sus propiedades. 3.3 Exclusión Mutua en un Sistema Distribuido. (2 horas clase + 1 de investigación) Objetivo: Determinará las estrategias para hacer cumplir la exclusión mutua en un Sistema Distribuido, criticando las debilidades de los algoritmos más comunes. Módulo 4 Administración y Planificación de Procesos. Objetivo: Analizar los mecanismos y políticas de abstracción encontrados en el diseño de un Sistema Operativo Distribuido, así como los conceptos de protección de recursos. (12 horas, 11 horas clase y 1 de investigación) 4.1 Núcleo del sistema (Kernel). (1 hora clase) Objetivo: Definirá los elementos que componen el núcleo del sistema, identificando la función de cada uno de ellos. 4.2 Procesos e Hilos. (5 horas clase + 1 de investigación) Objetivo: Discutirá las diferencias existentes entre procesos e hilos, enunciando sus características y organizaciones. 4.3 Planificación en Sistemas Distribuidos. (1 hora clase) Objetivo: Definirá los conceptos para la planificación de procesos en los Sistemas Distribuidos, analizando su comportamiento general. 4.4 Tolerancia a Fallas. (2 horas clase) Objetivo: Distinguirá los principales tipos de fallas en un sistema distribuido, describiendo sus características. Evaluación Departamental (Escrita; abarca módulos: 1,2 y 3 opcionalmente) (2 horas) Módulo 5. Sistemas de Archivos. Objetivo: Estudiar los requerimientos, estrategias de diseño básico y soluciones para uno de los aspectos más importantes de todo Sistema Distribuido: el servidor de archivos (10 horas, 10 horas clase) 5.1 Aspectos de Diseño. (4 horas clase) Objetivo: Identificará las diferencias en cuanto al diseño de un sistema de archivos tradicional y los elementos esenciales de un sistema de archivos distribuido. 5.2 Casos de Sistemas de Archivos. (5 horas clase) Objetivo: Definirá las principales características de los sistemas de archivos NFS y AFS, analizando su operabilidad. Evaluación Parcial (Escrita; abarca módulos: 3 y 4) (1 hora) Módulo 6. Manejo de Memoria. Academia de Software de Sistemas (última actualización: JULIO 2004) 4 Objetivo: Asimilar las estrategias de gestión, asignación y reemplazo de la memoria compartida convencional y distribuida. (8 horas, 8 horas clase) 6.1 Memoria Compartida. (4 horas clase) Objetivo: Describirá los componentes básicos que conforman la memoria compartida, reconociendo su funcionamiento. 6.2 Memoria Compartida Distribuida. (4 horas clase) Objetivo: Reconocerá las particularidades de la memoria distribuida, conceptualizando las diferencias existentes con la memoria centralizada. Módulo 7. Casos de Estudio. Objetivo: Analizar y comparar las características del diseño de algunos Sistemas Operativos Distribuidos. (8 horas, 5 horas clase y 3 de investigación) 7.1 Mach. (1 hora clase + 1 de investigación) Objetivo: Analizará los elementos que componen al sistema operativo Mach, explicándolo y comparándolo con los conceptos vistos en clase en los módulos anteriores. 7.2 Chorus. (1 hora clase + 1 de investigación) Objetivo: Analizará los elementos que componen al sistema operativo Chorus, explicándolo y comparándolo con los conceptos vistos en clase en los módulos anteriores. 7.3 Amoeba. (1 hora clase + 1 de investigación) Objetivo: Analizará los elementos que componen al sistema operativo Amoeba, explicándolo y comparándolo con los conceptos vistos en clase en los módulos anteriores. 7.4 Aplicaciones Distribuidas. (2 horas clase) Objetivo: Enunciará las cualidades existentes de algunas aplicaciones distribuidas, analizando y comparando con los conceptos vistos en clase en los módulos anteriores. BIBLIOGRAFÍA BÁSICA - Tanenbaum, Andrew, Sistemas Operativos Distribuidos, Prentice-Hall Hisp., 1994. ISBN 968-880-627-7 (Este libro a pesar de no ser reciente, contiene conceptos que son considerados básicos para el entendimiento de los sistemas distribuidos, además de contar con la ventaja que los pocos algoritmos citados, en el libro, están en lenguaje C, que sigue siendo un lenguaje muy usado de programación) - Colouris, George, Sistemas Distribuidos, conceptos y diseño, Addison-Wesley, 2001 ISBN 84-7829-049-4 - Silbershatz, George, Sistemas Operativos, Sexta edición, Limusa Wiley, 2002 ISBN 968-444-310-2 BIBLIOGRAFÍA COMPLEMENTARIA - Stallings, William, Sistemas Operativos, Cuarta edición, Prentice Hall, 2001 ISBN 84-205-3177-4 - Flynn, Ida, Sistemas Operativos, Tercera edición, Thomson, 2001 ISBN 970-686-062-2 MATERIAL DIDÁCTICO DE APOYO Academia de Software de Sistemas (última actualización: JULIO 2004) - 5 Notas sobre el curso Proyector y acetatos CRITERIOS DE EVALUACION Se evaluará el curso con: Porcentaje Tareas y participaciones. Trabajo de investigación. 3 Exámenes parciales. 2 Exámenes Departamentales. Total: 20% 10% 30% 40% 100% Nota: Las horas dedicadas a investigación se encuentran contempladas como parte de las “tareas y participaciones”. CRITERIOS DE ACREDITACIÓN - Contar con un mínimo de asistencia a clase del 80%. Obtener un promedio global mínimo de 60 de un máximo de 100 en el curso. Asistencia: La asistencia será sujeta a los estándares establecidos por la normatividad de la Universidad de Guadalajara, no será tomada como patrón de evaluación, pero podrá afectar si no se cumple con el mínimo requerido. RECOMENDACIONES PARA LAS ACTIVIDADES DE APRENDIZAJE - Lecturas constantes por parte del alumno previa o posteriormente a la cobertura de cada uno de los temas de la clase. - Participar en clase constantemente, respecto al tema o tópicos relacionados a este, además de siempre que se presenten dudas, con el fin de que todo lo visto en clase quede bien entendido. - Debido a que el examen departamental principalmente se enfoca al razonamiento en base al conocimiento, se recomienda la solución de dudas durante el curso, con la asesoría del profesor.