GRADUADO EN INGENIERÍA DE COMPUTADORES Guía de Aprendizaje DATOS DESCRIPTIVOS Información al estudiante ASIGNATURA: Nombre en inglés: MATERIA: Diseño de Sistemas Operativos Operating System Design Sistemas Operativos CARÁCTER: TITULACIÓN: Optativa Graduado en ingeniería de Computadores CURSO/SEMESTRE: 1º ESPECIALIDAD: CURSO ACADÉMICO 2012 -- 2013 PERIODO IMPARTICIÓN: Septiembre Enero X Febrero -- Junio IDIOMA IMPARTICIÓN: Sólo Castellano Sólo Ingles Ambos X CONOCIMIENTOS PREVIOS REQUERIDOS PARA PODER SEGUIR CON NORMALIDAD LA ASIGNATURA ASIGNATURAS SUPERADAS: Esta se una asignatuta optativa y puede cursarse en tercer o cuarto curso donde hay 6 y 18 créditos disponibles. Previamente habrán cursado Fundamenteos de Programación, Arquitectura de Computadores, 1
Algorítmica y Programación concurrente. Sistemas Operativos la habrán cursado o estarán en ella. Con todo esto parece suficiente. OTROS RESULTADOS DE APRENDIZAJE NECESARIOS DEPARTAMENTO: Informática Aplicada NOMBRE Y APELLIDOS (C = Coordinador PROFESORADO DESPACHO Correo electrónico Luis José Cearra Zabala ( C ) 4409 luisjc@lem.eui.upm.es Pilar Manzano García 4412 pmanzano@eui.upm.es OBJETIVOS DE APRENDIZAJE COMPETENCIAS Y NIVEL ASIGNADAS A LA ASIGNATURA CÓDIGO COMPETENCIA NIVEL GENERALES UPM G1 Comunicación oral y escrita G2 Creatividad G3 Liderazgo de equipos G4 Organización y planificación G5 Respeto por el medioambiente G6 Uso de lengua inglesa G7 Uso de las tecnologías de la información y las comunicaciones GENERALES DEL TITULO G8 Trabajo en equipo G9 Aprendizaje autónomo 2
COMPETENCIAS Y NIVEL ASIGNADAS A LA ASIGNATURA CÓDIGO COMPETENCIA NIVEL G10 Capacidad de análisis y síntesis G11 Iniciativa y capacidad emprendedora G12 Motivación por la calidad y mejora continua G13 Razonamiento crítico G14 Resolución de problemas G15 Toma de decisiones G16 Trabajo en un contexto internacional COMPETENCIAS COMUNES A LA RAMA DE INFORMÁTICA ASIGNADAS A LA ASIGNATURA I1 I2 I3 I4 I5 I6 I7 Capacidad para la resolución de los problemas matemáticos que puedan plantarse en la ingeniería. Aptitud para aplicar los conocimientos sobre: algebra, cálculo diferencial e integral i métodos numéricos; estadística y optimización Capacidad para comprender y dominar los fundamentos físicos y tecnológicos de la informática: electromagnetismo, ondas, teoría de circuitos, electrónica y fotónica y su aplicación para la resolución de problemas propios de la ingeniería Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para el tratamiento automático de la información por medio de sistemas computacionales y su aplicación para la resolución de problemas propios de la ingeniería Conocimiento de los fundamentos del uso y programación de los computadores, los sistemas operativos, las bases de datos y, en general, los programas informáticos con aplicación en ingeniería Conocimiento de la estructura, funcionamiento e interconexión de los sistemas informáticos, así como los fundamentos de su programación Conocimiento adecuado del concepto de empresa y su marco institucional y jurídico, así como los aspectos básicos de organización y gestión de empresa Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y 3
COMPETENCIAS Y NIVEL ASIGNADAS A LA ASIGNATURA CÓDIGO COMPETENCIA NIVEL I8 I9 I10 I11 I12 I13 I14 I15 I16 I17 I18 I19 normativa vigente Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social Capacidad para comprender la importancia de la negociación, los hábitos de trabajo efectivos, el liderazgo y las habilidades de comunicación en todos los entornos de desarrollo de software Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes Conocimiento, administración y mantenimiento sistemas, servicios y aplicaciones informáticas Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman Conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos y diseñar e implementar aplicaciones basadas en sus servicios Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas Conocimiento y aplicación de las características, funcionalidades y estructura de las bases de datos, que permitan su adecuado uso, y el diseño y el análisis e implementación de aplicaciones basadas en ellos Conocimiento y aplicación de las herramientas necesarias para el almacenamiento, procesamiento y 4
COMPETENCIAS Y NIVEL ASIGNADAS A LA ASIGNATURA CÓDIGO COMPETENCIA NIVEL I20 I21 I22 I23 I24 E1 E2 E3 E4 E5 E6 E7 E8 acceso a los Sistemas de información, incluidos los basados en Web Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real Conocimiento y aplicación de los principios fundamentales y técnicas básicas de los sistemas inteligentes y su aplicación práctica Conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería de software Capacidad para diseñar y evaluar interfaces persona computador que garanticen la accesibilidad y usabilidad a los sistemas, servicios y aplicaciones informáticas Conocimiento de la normativa y la regulación de la informática en los ámbitos nacional, europeo e internacional COMPETENCIAS ESPECÍFICAS DE INGENIERÍA DE COMPUTADORES ASIGNADAS A LA ASIGNATURA Capacidad de diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesador y sistemas de comunicaciones Capacidad de desarrollar procesadores específicos y sistemas empotrados, así como desarrollar y optimizar el software de dichos sistemas Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software de para las mismas Capacidad de diseñar e implementar software de sistema y de comunicaciones Capacidad de analizar, evaluar y seleccionar las plataformas hardware y software más adecuadas para el soporte de aplicaciones empotradas y de tiempo real Capacidad para comprender, aplicar y gestionar la garantía y seguridad de los sistemas informáticos Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos Capacidad para diseñar, desplegar, administrar y gestionar redes de computadores 5
CÓDIGO RA1 RA2 RA3 RA4 RA5 RESULTADOS DE APRENDIZAJE DE LA ASIGNATURA Localiza el código implicado para una determinada funcionalidad en un sistema operativo como MINIX. Analiza funcional y cuantitativamente el código de un sistema operativo como MINIX. Modifica la realización y el comportamiento observable de un sistema operativo. Amplia la fucionalidad de un sistema opertivo. Adapta un sistema operativo para su uso en un entorno específico. CONTENIDOS Y ACTIVIDADES DE APRENDIZAJE CONTENIDOS ESPECÍFICOS (TEMARIO) TEMA APARTADOS Tema 1.. Visión general del sistema operativo MINIX 3 Tema 2. Procesos 2.1 Visión general 2.2 Implementacion de procesos 2.3 La tarea del sistema 2.4 La tarea del reloj Tema 3. Gestión de la entrada/salida 3.1 Visión general de la entrada/salida 3.2 Dispositivos de bloques 3.3 El gestor de discos RAM 3.4 El gestor de discos 3.5 El gestor de terminales Tema 4. Gestión de memoria y procesos de usuario 4.1 Organización de la memoria 4.2 Tratamiento de mensajes 4.3 Estructuras de datos y algoritmos del gestor de procesos 4.4 Llamadas al sistema FORK, EXIT y WAIT 4.5 Llamada al sistema EXEC 4.6 Llamada al sistema BRK 4.7 Tratamiento de señales 4.8 Otras llamadas al sistema Tema 5. Gestión de ficheros 6
CONTENIDOS ESPECÍFICOS (TEMARIO) TEMA Tema 6. APARTADOS 5.1 Visión general del sistema de ficheros 5.2 Organización del sistema de ficheros 5.3 La caché de bloques 5.4 Directorios y rutas 5.5 Bloqueo de ficheros 5.6 Ejemplo de la llamada al sistema READ Otros sitemas opertivos 6.1 Linux 6.2 Plan 9 BREVE DESCRIPCIÓN DE LAS MODALIDADES ORGANIZATIVAS UTILIZADAS Y MÉTODOS DE ENSEÑANZAS EMPLEADOS CLASES DE TEORÍA CLASES PROBLEMAS PRÁCTICAS Las exposiciones teóricas se intercalan con ejemplos prácticos realizados en gran parte por los alumnos. La resolución de problemas esta integrada en la realización de prácticas. Algunas de las prácticas se utilizan para la evaluación continua. TRABAJOS AUTÓNOMOS TRABAJOS EN GRUPOS TUTORÍAS Los estudiantes son atendidos preferentemente en los horarios establecidos. RECURSOS DIDÁCTICOS BIBLIOGRAFÍA Operating Systems: design and implementation, 3ª Edición. TANEMBAUM A.S., WOODHULL, A.S. Prentice Hall, 2006 On to C. WINSTON P. H. Addison-Wesley, 1994. EQUIPAMIENTO Laboratorio con cañon de luz y ordenadores personales. SISTEMA DE EVALUACIÓN DE LA ASIGNATURA 7
REF T1 T2 T3 T4 T5 T6 EVALUACIÓN INDICADOR DE LOGRO El estudiante será capaz de recompilar el kernel de MINIX y comprobar la localización funcionalidades del mismo. El estudiante deberá conocer y modificar las estructuras de datos y algoritmos de planificación y comunicación. El estudiante deberá conocer, trazar y ser capaz de modificar algunos drivers de MINIX. El estudiante deberá conocer y modificar el código del servidor de memoria de MINIX. El estudiante deberá conocer, trazar y modificar el código del servidor de memoria de MINIX. El estudiante deberá conocer otras implementaciones de sistema operativo. Relacionad o con RA Ra1 Ra1,ra2,ra3 Ra1,ra2,ra3 Ra1,ra2,ra4 Ra1,ra2,ra5 Ra1 EVALUACIÓN ACUMULATIVA BREVE DESCRIPCIÓN DE LAS ACTIVIDADES QUE SE EVALÚAN MOMENTO LUGAR PESO EN LA CALIFICACIÓN Participación en el laboratorio 0.1 Prácticas a evaluar Pruebas escritas de los distintos temas Prueba final global (escrita) Ver cronograma Ver cronograma Al finalizar el semestre Laboratorio 0.3 Laboratorio 0.3 Laboratorio 0.3 DESCRIPCIÓN GENERAL DE LAS ACTIVIDADES QUE SE EVALÚAN Y DE LOS CRITERIOS DE CALIFICACIÓN Participación en el laboratorio: colaboración, contribución, cooperación, aportación, opiniones,... Evalucación de las actividades prácticas teniendo en cuenta la realización satisfactoria de los supuestos y claridad de la presentación. Corrección de las respuestas a las pruebas escritas. Los alumnos podran solicitar ser evaluados unicamente mediante una prueba final. Fecha (y hora) límite de solicitud, comienzo del examen convocado por jefatura de estudios. 8
CRONOGRAMA DE TRABAJO DE LA ASIGNATURA SEMANA Actividades Aula Laboratorio Trabajo Trabajo en Grupo Actividades Otros Individual Evaluación 1 Teoría y práctica tema 1. Estudio individual 2 Id. tema 2. Estudio individual Práctica a evaluar 3 Id. tema 2. Estudio individual 4 Id. tema 2. Estudio individual 5 Id. tema 2. Estudio individual Práctica a evaluar 6 Id. tema 3. Estudio individual 7 Id. tema 3. Estudio individual Práctica a evaluar 8 Id. tema 4. Estudio individual 9 Id. tema 4. Estudio individual Prueba escrita. 10 Id. tema 4. Estudio individual Práctica a evaluar 11 Id. tema 5. Estudio individual 12 Id. tema 5. Estudio individual
SEMANA Actividades Aula Laboratorio Trabajo Trabajo en Grupo Actividades Otros Individual Evaluación 13 Id. tema 5. Estudio individual Práctica a evaluar 14 Id. tema 5. Estudio individual 15 Id. tema 6. Estudio individual Prueba escrita. 16 Id. tema 6. Estudio individual Práctica a evaluar