Download índice de sílabus (abet)
Document related concepts
Transcript
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniería en Electricidad y Computación SYLLABUS DEL CURSO Sistemas Operativos 1. CÓDIGO Y NÚMERO DE CRÉDITOS CÓDIGO NÚMERO DE CRÉDITOS : 4 2. FIEC02097 Teóricos: 4 Prácticos: 0 DESCRIPCIÓN DEL CURSO Este curso presenta los conceptos fundamentales de los sistemas operativos actuales. Se introducen conceptos de programación concurrente y se analizan problemas que los mismos presentan como: exclusión mutua, interbloqueo e inanición. Se analizan también las estructuras de datos usadas para administrar la memoria principal y el sistema de archivos en un sistema operativo real. A fin de validar estos conceptos, el curso incluye prácticas y proyectos donde el estudiante debe diseñar e implementar soluciones a problemas que requieren explotar las funcionalidades de un sistema operativo. 3. PRERREQUISITOS Y CORREQUISITOS. PREREQUISITOS CORREQUISITO 4. TEXTO GUIA Y OTRAS REFERENCIAS REQUERIDAS PARA EL DICTADO DEL CURSO TEXTO GUÍA REFERENCIAS 5. FIEC03319 ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES 1. 1.Sistemas Operativos, Silberchatz, Galvin. Gagne. 9na Edicion, 2012, Wiley. 1. Sistemas Operativos, Andrew Tanenbaum. 3ra Edicion, 2007, Pearson Prentice Hall. RESULTADOS DE APRENDIZAJE DEL CURSO El estudiante al finalizar el curso estará en capacidad de: 1. 2. 3. 4. 5. 6. 7. 8. 6. Describir las responsabilidades básicas de administración de recursos de un sistema operativo Describir el concepto de un proceso y listar las transiciones de estado de varios procesos Distinguir entre un proceso y un hilo Implementar una aplicación con secciones de código desarrolladas de forma concurrente y aplicar técnicas apropiadas para evitar problemas de control: Exclusión mutua, interbloqueo e inanición Describir o aplicar conceptos de memoria virtual Describir apropiadas políticas de planificación para sistemas uniprocesador y multiprocesador. Describir varias técnicas de planificación de disco. Diseñar e implementar una aplicación programada de forma concurrente usando semáforos/ monitores para el control de procesos. PROGRAMA DEL CURSO I. Introducción (2 sesiones - 4 horas). Definición e historia Kernel y modo dual II. Estructuras del Sistema Operativo (2 sesiones - 4 horas). Servicios del sistema operativo Interfaz de usuario Llamadas al sistema Diseño e implementación de sistemas operativos Estructura de los sistemas operativos Máquinas virtuales III. Procesos (3 sesiones - 6 horas). Conceptos Operaciones de procesos Comunicación entre procesos Práctica de laboratorio IG1002-3 Página 1 de 4 SYLLABUS DEL CURSO SISTEMAS OPERATIVOS IV. Hilos (3 sesiones - 6 horas). Introducción Modelos multi-hilos Librerías de hilos Decisiones de implementación Ejemplos Práctica de laboratorio V. Planificación del CPU (4 sesiones - 8 horas). Conceptos básicos Criterios de planificación Algoritmos de planificación Planificación multi-procesador Planificación de hilos Ejemplos Práctica de laboratorio VI. Sincronización entre procesos (4 sesiones - 8 horas). Revision de Proyectos Introducción El problema de la sección-crítica Sincronización en hardware Semáforos Problemas clásicos de sincronización Monitores Ejemplos Práctica de laboratorio VII. Interbloqueo (2 sesiones - 4 horas). Modelo Caracterización Mecanismos para lidiar con interbloqueos Recuperación de interbloqueos VIII. Administración de Memoria Principal (2 sesiones - 4 horas). Conceptos básicos Swapping Asignación contigua de memoria Paginación Estructura de la tabla de páginas Segmentación Discusion Proyecto Final IX. Administración de Memoria Virtual (2 sesiones - 4 horas). Conceptos básicos Paginación bajo demanda Copia-al-escribir Reemplazando páginas Asignación de Tramas Otras consideraciones X. Interfaz del Sistemas de archivos (1 sesiones - 2 horas). Conceptos de archivos Métodos de acceso Estructura de directorio Montando un sistema de archivos Compartiendo archivos Protección XI. Implementación del sistema de archivos (2 sesiones - 4 horas). Estructura e implementación Métodos de asignación Manejo de espacio libre Eficiencia y rendimiento Recuperación Sistemas de archivos basados en bitácoras XII. Sistemas operativos de propósito específico (1 sesión - 2 horas). Características del sistema Características del Kernel Planificación de recursos Un ejemplo IG1002-3 Página 2 de 4 SYLLABUS DEL CURSO SISTEMAS OPERATIVOS 7. CARGA HORARIA: TEORÍA/PRÁCTICA Dos sesiones por semana de 2 horas cada una. 8. CONTRIBUCIÓN DEL CURSO EN LA FORMACIÓN DEL ESTUDIANTE El estudiante aprenderá los conceptos sobre los que se fundamentan los sistemas operativos actuales El estudiante será capaz de explotar las llamadas al sistema de un sistema operativo para resolver problemas prácticos. El estudiante desarrollará un proyecto de software en equipo El estudiante aprenderá sobre cómo la programación concurrente y el uso de hilos permiten tomar ventaja de los sistemas multiprocesadores actuales y los problemas que se enfrentan cuando se implementan este tipo de soluciones FORMACIÓN BÁSICA 9. FORMACIÓN PROFESIONAL x FORMACIÓN HUMANA RELACIÓN DE LOS RESULTADOS DE APRENDIZAJE DEL CURSO CON LOS RESULTADOS DE APRENDIZAJE DE LA CARRERA RESULTADOS DE APRENDIZAJE DE LA CARRERA* a) Habilidad para aplicar el conocimiento apropiado de Computación y Matemáticas en esta disciplina b) Habilidad para analizar un problema, e identificar y definir los requerimientos computacionales apropiados para su solución c) Habilidad para diseñar, implementar, y evaluar un sistema computacional, proceso, componente o programa que cumpla los requerimientos solicitados d) Habilidad para trabajar efectivamente en equipo y lograr un objetivo común e) Comprensión de temas profesionales, éticos, legales, seguridad, social y de responsabilidad f) Habilidad para comunicarse efectivamente con grandes audiencias g) Habilidad para analizar el impacto computacional global y local en las personas, organizaciones y sociedad h) Reconocer la necesidad y una habilidad para mantener un constante desarrollo profesional a lo largo de la vida i) Habilidad para usar las técnicas, habilidades, y herramientas necesarias para la práctica de la Computación IG1002-3 CONTRIBUCIÓ N (Alta, Media, Baja) RESULTADO S DE APRENDIZAJ EDEL CURSO** Media 1,2,3,5,6,7 Evaluar algoritmo de planificación de CPU más eficiente según el tiempo de retorno en un entorno dado Alta 4,5,7,8 Diseñar una solución a un problema que requiere programación concurrente Media 8 Diseñar una solución a un problema que requiere programación concurrente 8 Elaborar reporte que proponga y discuta el diseño de un sistema concurrente Baja 1 Poner en práctica los conceptos aprendidos en clase usando sistemas operativos actuales Media 8 Desarrollar una aplicación sin necesidad de IDE y monitoear el rendimiento de procesos usando llamadas al sistema EL ESTUDIANTE DEBE: --- --- Baja --- Página 3 de 4 SYLLABUS DEL CURSO SISTEMAS OPERATIVOS j) Capacidad gestionar o proyectos de liderar, emprender --- 10. EVALUACIÓN DEL CURSO Actividades de Evaluación Exámenes Lecciones Tareas Proyectos Laboratorio/Experimental Participación en Clase Visitas Otras x x x x x 11. RESPONSABLE DE LA ELABORACIÓN DEL SYLLABUS Y FECHA DE ELABORACIÓN Elaborado por Fecha Daniel Ochoa 23 Feb 2013 12. VISADO SECRETARIO ACADÉMICO DE LA UNIDAD ACADÉMICA NOMBRE: DIRECTOR DE LA SECRETARÍA TÉCNICA ACADÉMICA NOMBRE: FIRMA: FIRMA: Resolución y Fecha de aprobación en el Consejo Directivo: 13. VIGENCIA DEL SYLLABUS RESOLUCIÓN DEL CONSEJO POLITÉCNICO: FECHA: IG1002-3 Página 4 de 4 SYLLABUS DEL CURSO SISTEMAS OPERATIVOS