SISTEMAS OPERATIVOS Titulación/es: Ingeniería Técnica en Informática de Sistemas. Ingeniería Técnica en Informática de Gestión. Ingeniería en Informática. Créditos: 9 Carácter: Obligatoria. Curso: 2º Plan: 1998 Temporalidad: Anual Departamento: Informática Curso: 2002/03 Profesor/es: Eduardo Domínguez Parra (Coordinador) Carlos Villarrubia Jiménez Miguel A. Redondo Duque Julián Ruiz Fernández Ramón Manjavacas Ortiz Ana I. Molina Díaz Objetivos: Los objetivos a cubrir por la asignatura se dividen en dos grandes apartados: (1) Dotar al alumno de una formación teórica sólida en los sistemas operativos modernos. (2) Dotar al alumno de una experiencia práctica en el uso de un sistema operativo multiusuario que le facilite su posterior integración en el mundo profesional. Docencia: La asignatura se imparte en dos sesiones de una hora de teoría/problemas a la semana y una sesión de una hora en un aula de computadores cada semana (o dos cada dos semanas dependiendo de la programación horaria general). Evaluación: Examen final con 3 partes: teoría, problemas y laboratorio. La nota final es la media aritmética entre las 3 partes siempre que se obtenga un mínimo de 3 puntos sobre 10 en cada parte. Evaluaciones complementarias voluntarias: La realización satisfactoria de las prácticas de laboratorio tendrá una calificación entre 0,5 y 1,5 puntos que se sumarán a la nota del examen final siempre que se obtenga en él un mínimo de 3 puntos en la parte del laboratorio. Prerrequisitos (recomendaciones): Es aconsejable que los alumnos hayan cursado y aprobado las siguientes asignaturas: Metodología y tecnología de la Programación. Tecnología de Computadores. (Sistemas Digitales). Estructura de Computadores (Estructura y Tecnología de Computadores). Correquisitos (recomendaciones): Es aconsejable que los alumnos cursen como complemento las siguientes asignaturas: Organización de Computadores I. Estructura de Datos y de la Información. Ampliación de Programación. TEMARIO DE LA ASIGNATURA TEMA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. (8 horas). 1. Definición de sistema operativo. 2. Perspectiva histórica. 3. Los servicios del sistema operativo. TEMA 2. LENGUAJES DE PROGRAMACIÓN DE SISTEMAS: C. (10 horas). 1. Introducción. 2. Ciclo de desarrollo: edición, compilación, enlace y depuración. 3. Lenguaje C: 3.1. Tipos, operadores y expresiones. 3.2. Control de flujo. 3.3. Funciones y estructura de un programa. 3.4. El preprocesador. 3.5. La biblioteca estándar. TEMA 3. SISTEMAS DE ARCHIVOS. (10 horas). 1. Concepto de archivo. 2. Métodos de acceso. 3. Estructura de directorio. 4. Protección. 5. Caso de estudio: UNIX. TEMA 4. GESTIÓN DE PROCESOS. (12 horas). 1. El concepto de proceso. 2. Gestión de procesos. 3. Planificación del procesador. 4. Comunicación entre procesos. 5. Caso de estudio: UNIX. TEMA 5. GESTIÓN DE LA MEMORIA PRINCIPAL. (6 horas). 1. Reubicación y carga de un programa para su ejecución. 2. Técnicas de gestión de memoria. 2.1. Monitor residente. 2.2. Particiones múltiples. 2.3. Paginación y segmentación. 2.4. Memoria virtual. 3. Caso de estudio: UNIX. TEMA 6. GESTIÓN DE LA ENTRADA/SALIDA. (4 horas). 1. El problema de la entrada/salida. 2. La programación de entrada/salida. 3. Caso de estudio: UNIX. BIBLIOGRAFÍA BÁSICA. Sistemas operativos. Conceptos fundamentales. 5ª edición. A. Silberschatz, P. Galvin. Edit. Addison-Wesley, 1999. BIBLIOGRAFÍA COMPLEMENTARIA. Sistemas operativos. 2ª edición. H.M. Deitel. Ed. Addison-Wesley, 1993. Sistemas operativos. 4ª edición. W. Stallings. Ed. Prentice Hall, 2001. Sistemas operativos. Diseño e implementación. 2ª edición. A.S. Tanenbaum, A.S. Woodhull. Ed. Prentice Hall, 1998. ÍNDICE DE LAS PRÁCTICAS DE LABORATORIO. El alumno debe realizar las siguientes prácticas según las condiciones establecidas en el guión de la práctica. 1. 2. 3. 4. 5. Entorno de trabajo UNIX. Lenguaje de programación C - I. Lenguaje de programación C - II. Gestión de archivos en UNIX. Gestión de procesos en UNIX. BIBLIOGRAFÍA. El lenguaje de programación C. 2ª edición. B.W. Kernighan, D.M. Ritchie. Ed. Prentice Hall, 1991. El entorno de programación UNIX. B.W. Kernighan, R. Pike. Ed. Prentice Hall, 1987. Advanced Unix Programming. M.J. Rochkind. Ed. Prentice Hall, 1985.