0228 - Sistemas Operativos I
Section
Instructions: Clicking on the section name will show / hide the section.
Descripción del curso
PRERREQUISITOS Y CONOCIMIENTOS PREVIOS RECOMENDADOS
Prerequisitos
Aunque en el plan de estudios actual no existen prerrequisitos para cursar esta asignatura (asignaturas “cierre”), para comprender los contenidos de algunas partes de la asignatura es necesario haber adquirido conocimientos previos de otras asignaturas tales como Arquitectura de Computadores y Programación II.
Relaciones con otras materias
Esta asignatura mantiene las relaciones que a continuación se indican con otras materias impartidas en la misma titulación:• Sistemas Abiertos. Esta asignatura es de libre elección y proporciona los conocimientos necesarios para operar con sistemas Unix/Linux sobre los que se realizan algunas de las prácticas de Sistemas Operativos I.
• Sistemas Operativos I es “cierre” para Sistemas Operativos II, troncal e impartida en el primer cuatrimestre del tercer curso.
DESCRIPCIÓN GENERAL DE LA ASIGNATURA
La asignatura de Sistemas Operativos I se imparte en el segundo cuatrimestre del segundo curso y tiene asignados 6 créditos troncales (3 teóricos + 3 prácticos). Los descriptores según BOE de esta asignatura son los siguientes: Organización, Estructura y Servicio de los Sistemas Operativos. Gestión y administración de memoria y de procesos. Gestión de entrada/salida. Sistema de ficheros.
OBJETIVOS: CONOCIMIENTOS Y CAPACIDADES
- Que el estudiante sea capaz de construir software, tal como podría ser un intérprete de comandos (tipo shell de Unix), utilizando las llamadas al sistema.
- Que el estudiante sea capaz de realizar simulaciones y diseñar experimentos sobre planificación de procesos con diferentes algoritmos e interpretar los resultados de tales experimentos. Esto implica habilidades para elaborar una hipótesis y confirmar o no experimentalmente la misma.
- Que el estudiante sea capaz de resolver problemas relacionados con la gestión de recursos (procesos, memoria, dispositivos de E/S y ficheros) de un sistema operativo.
- Que el estudiante sea capaz de explicar y razonar las diferencias existentes entre diferentes algoritmos de planificación de procesos. Que sepa justificar la selección de uno u otro algoritmo en función de las condiciones de contorno.
- Que el estudiante sea capaz de seleccionar razonadamente el mejor mecanismo de sincronización entre procesos en una situación dada.
- Que el estudiante sea capaz de explicar y razonar las diferencias existentes entre diferentes algoritmos de gestión de memoria. Que sepa justificar la selección de uno u otro algoritmo en función de las condiciones de contorno.
- Que el estudiante sea capaz de razonar las modificaciones que hay que realizar a un sistema operativo cuando se añade un nuevo dispositivo hardware.
- Que el estudiante comprenda la estructura de un sistema de ficheros (tipo Unix) y de los elementos que lo integran (ficheros, directorios, i-nodos, etc.). Que sea capaz de razonar críticamente la oportunidad de elegir un algoritmo dado para soportar diferentes aspectos de la implementación de ficheros y directorios.
MATERIAL DOCENTE
En este curso podrá encontrar las transparencias utilizadas en la asignatura, la guía docente de la misma, algunos ejercicios de examen y el enunciado de las prácticas
ACTIVIDADES DE EVALUACIÓN O TAREAS PRÁCTICAS
Los alumnos realizarán actividades tanto individuales como en grupo (de 4) de los siguientes tipos:
- Realización de test (20% de la nota)
- Realización de prácticas (20% de la nota)
- Entregables realizados en las sesiones de aprendizaje cooperativo (25% de la nota)
- Entregables realizados en las sesiones de aprendizaje por resolución de problemas (35% de la nota)
Descargar guía docente (PDF)
Programa
Los siguientes contenidos se han seleccionado teniendo en mente proporcionar una formación generalista en el área de los sistemas operativos. Cuando se expliquen conceptos se harán referencias a ejemplos concretos de sistemas operativos para ilustrar la aplicación de dichos conceptos.
INTRODUCCIÓN.
- ¿Qué es un sistema operativo?
- Evolución de los sistemas operativos
- Tipos de sistemas operativos
- Aspectos hardware
- Conceptos de sistemas operativos
- Llamadas al sistema POSIX
- Estructura del sistema operativo
PROCESOS Y THREADS
- Procesos
- Threads
- Comunicación entre procesos
- Planificación
GESTIÓN DE MEMORIA
- Gestión básica de memoria
- Swapping
- Memoria virtual
- Algoritmos de sustitución de páginas
- Modelado de los algoritmos de sustitución de páginas
- Cuestiones de diseño en sistemas paginados
ENTRADA/SALIDA
- Principios hardware de E/S
- Principios software de E/S
- Niveles software de E/S
- Discos
- Interfaces gráficos de usuario
SISTEMA DE FICHEROS
- Ficheros
- Directorios
- Implementación del sistema de ficheros
Descargar programa (PDF)
Descargar guía docente (PDF)
Bibliografía
- Bibliografía básica.
- B-B-001. "Modern Operating Systems ", 2ª Edition. Tanenbaum, A. S. Prentice Hall, 2001.
- Bibliografía complementaria.
- B-B-002. "Sistemas Operativos. Una visión aplicada". Carretero Pérez, J., García Carballeira, F., de Miguel Anasagasti, P., Pérez Costoya, F. Mc Graw-Hill, 2007.
- B-B-003. “Sistemas Operativos, aspectos internos y principios de diseño”, 5ª Edición. William Stallings. Prentice-Hall, 2005.
- B-B-004. "Operating System Concepts", 6ª Edition. Silberschatz, Galvin, P., Gayne G. John Wiley & Sons, inc. 2003.
- B-B-005. "El lenguaje de programación C", 2ª Edición. Kernighan B. W., Ritchie D. M. Prentice-Hall, 1991.
- B-B-005. "Sistemas Abiertos" Cearra Zabala, L. J. Dpto. de Publicaciones EUI, 1999.
Material de clase
- MC-F-001. Introducción (ZIP).
En este tema se realiza una introducción a los sistemas operativos. La evolución y desarrollo de los mismos lo pueden consultar los estudiantes en la bibliografía recomendada. El capítulo hace especial enfásis en las llamadas al sistema.
- MC-F-002. Procesos y Threads (ZIP)
En este capítulo se presenta una de las abstracciones fundamentales de la materia: el concepto de proceso. Se describe como un tipo abstracto de datos haciendo enfásis en su interfaz (operaciones públicas). Se introduce y justifica el concepto de thread y varias implementaciones del mismo. Se termina el tema indicando algunos algoritmos de planficación de procesos.
- MC-F-003. Gestión de
Memoria (ZIP).
La gestión de memoria es un tema básico de los sistemas operativos. Se presentan estrategías de gestión de memoria para varias situaciones: monoprogramación, multiprogramación con particiones fijas, swapping y memoria virtual. Se explica la paginación como técnica para implementar la memoria virtual.
- MC-F-004. Entrada/Salida (ZIP).
En este capítulo se introducen los principios hardware y software en relación con los dispositivos de E/S. Se presenta la disposición por capas del software de E/S y se estudia, a modo de ejemplo, cuestiones relacionadas con la gestión de un disco duro.
- MC-F-005. Sistema de
Ficheros (ZIP).
En este tema se hace un repaso de los tipos abstractos de datos: fichero y directorio. Se describen brevemente las operaciones que tienen asociadas. A continuación, se describen posibles implementaciones de ambos tipos abstractos de datos. Se termina planteando problemas como la fiabilidad del sistema de ficheros o el rendimiento del mismo.
- MC-F-001. Introducción (ZIP).
Prácticas
Pruebas de evaluación
- Examen Junio - Curso 05/06
- PE-E-001. Ejercicio 1 (PDF).
- Examen Septiembre - Curso 05/06
- Examen Diciembre - Curso 05/06
- Examen Junio (Evaluación Continuada) - Curso 06/07
- PE-E-012. Ejercicio 1 (PDF).
- PE-E-013. Ejercicio 2 (PDF).
- PE-E-014. Ejercicio sobre prácticas (PDF).
- Examen Junio (Evaluación NO Continuada) - Curso 06/07
- PE-E-015. Ejercicio 1,2 y 3 (PDF).
- PE-E-016. Ejercicio 4 (PDF).
- PE-E-017. Ejercicio sobre prácticas (PDF).
- Examen Septiembre - Curso 06/07
- Examen Diciembre - Curso 06/07
- Examen Junio (Evaluación NO Continuada) - Curso 07/08
- PE-E-022. Ejercicios 1,2,3 y 4 (PDF)
- Examen Junio (Evaluación Continuada) - Curso 07/08
- PE-E-023. Ejercicios 1,2 y 3 (PDF)
Autores del material
Jorge Enrique Pérez
Coordinador de la Asignatura
Teléfono (+34) 91 336 7862 ó 91 336 5056
Fax (+34) 91 336 7527 ó 91 336 7893
E-mail jeperez@eui.upm.es
Despacho 4413
Isabel Muñoz Fernández
Coordinadora de prácticas
Teléfono (+34) 91 336 5057
Fax (+34) 91 336 7527 ó 91 336 7893
E-mail imunoz@eui.upm.es
Despacho 4415
Javier García Martín
Teléfono (+34) 91 336 5053
Fax (+34) 91 336 7527 ó 91 336 7893
E-mail jgarcia@eui.upm.es
Despacho 4409