Guía docente de Sistemas Operativos (2961123)

Curso 2024/2025
Fecha de aprobación: 25/06/2024

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Formación Específica de Rama

Materia

Sistemas Operativos, Sistemas Distribuidos y Redes

Year of study

2

Semestre

1

ECTS Credits

6

Tipo

Obligatoria

Profesorado

Teórico

  • Daniel Bolaños Martínez. Grupo: D
  • José Luis Garrido Bullejos. Grupo: A
  • Miguel Lastra Leidinger. Grupo: C
  • Patricia Paderewski Rodríguez. Grupo: B

Práctico

  • Germán Arroyo Moreno Grupo: 11
  • Daniel Bolaños Martínez Grupos: 14 y 5
  • María José Gacto Colorado Grupo: 10
  • José Luis Garrido Bullejos Grupo: 4
  • Alejandro José León Salas Grupos: 1 y 2
  • Luis López Escudero Grupo: 12
  • Manuel Noguera García Grupos: 11, 13 y 3
  • Patricia Paderewski Rodríguez Grupos: 6 y 8
  • Ángel Ruiz Zafra Grupos: 7 y 9

Tutorías

Daniel Bolaños Martínez

Email
  • Primer semestre
    • Lunes de 08:30 a 11:30 (Edificio Auxiliar Etsiit Despacho Común 1.4)
    • Martes de 08:30 a 11:30 (Edificio Auxiliar Etsiit Despacho Común 1.4)
  • Segundo semestre
    • Lunes de 09:00 a 12:00 (Edificio Auxiliar Etsiit Despacho Común 1.4)
    • Martes de 09:00 a 12:00 (Edificio Auxiliar Etsiit Despacho Común 1.4)

José Luis Garrido Bullejos

Email
  • Primer semestre
    • Miércoles
      • 09:30 a 11:30 (Etsiit 3ª Planta Despacho 12)
      • 13:30 a 14:30 (Etsiit 3ª Planta Despacho 12)
    • Jueves de 11:30 a 14:30 (Etsiit 3ª Planta Despacho 12)
  • Segundo semestre
    • Martes de 10:30 a 13:30 (Etsiit 3ª Planta Despacho 12)
    • Miércoles de 10:30 a 13:30 (Etsiit 3ª Planta Despacho 12)

Miguel Lastra Leidinger

Email
  • Primer semestre
    • Lunes de 11:30 a 12:30 (Etsiit 3ª P Despacho 33)
    • Miércoles de 10:30 a 13:30 (Etsiit 3ª P Despacho 33)
    • Viernes de 11:30 a 13:30 (Etsiit 3ª P Despacho 33)
  • Segundo semestre
    • Miércoles de 11:30 a 13:30 (Etsiit 3ª P Despacho 33)
    • Jueves de 09:30 a 11:30 (Etsiit 3ª P Despacho 33)
    • Viernes de 10:30 a 12:30 (Etsiit 3ª P Despacho 33)

Patricia Paderewski Rodríguez

Email
  • Primer semestre
    • Lunes de 10:30 a 11:30 (Etsiit Despacho 24 3ª Planta)
    • Martes de 09:30 a 13:30 (Etsiit Despacho 24 3ª Planta)
    • Viernes de 10:30 a 11:30 (Etsiit Despacho 24 3ª Planta)
  • Segundo semestre
    • Jueves de 10:30 a 13:30 (Etsiit Despacho 24 3ª Planta)
    • Viernes
      • 09:30 a 11:30 (Etsiit Despacho 24 3ª Planta)
      • 12:30 a 13:30 (Etsiit Despacho 24 3ª Planta)

Germán Arroyo Moreno

Email
  • Primer semestre
    • Jueves de 08:30 a 11:30 (Etsiit Desp. 31 3ª Planta)
    • Viernes de 08:30 a 11:30 (Etsiit Desp. 31 3ª Planta)
  • Segundo semestre
    • Jueves de 08:30 a 11:30 (Etsiit Desp. 31 3ª Planta)
    • Viernes de 08:30 a 11:30 (Etsiit Desp. 31 3ª Planta)

María José Gacto Colorado

Email
  • Primer semestre
    • Lunes de 12:30 a 13:45 (Despacho 21 3ª Pta. Etsiit)
    • Martes de 10:30 a 11:30 (Despacho 21 3ª Pta. Etsiit)
    • Miércoles de 10:00 a 13:45 (Despacho 21 3ª Pta. Etsiit)
  • Segundo semestre
    • Martes de 09:15 a 13:45 (Despacho 21 3ª Pta. Etsiit)
    • Miércoles de 11:30 a 13:00 (Despacho 21 3ª Pta. Etsiit)

Alejandro José León Salas

Email
  • Primer semestre
    • Lunes de 12:30 a 13:30 (Etsiit 3ª P Despacho 19)
    • Jueves de 08:30 a 10:30 (Etsiit 3ª P Despacho 19)
  • Segundo semestre
    • Jueves de 17:30 a 18:30 (Etsiit 3ª P Despacho 19)
    • Viernes de 08:30 a 13:30 (Etsiit 3ª P Despacho 19)

Luis López Escudero

Email
  • Primer semestre
    • Jueves
      • 12:00 a 14:00 (Despacho I1.14 Citic)
      • 15:30 a 17:30 (Despacho I1.14 Citic)
    • Viernes de 12:00 a 14:00 (Despacho I1.14 Citic)
  • Segundo semestre
    • Miércoles
      • 12:00 a 14:00 (Despacho I1.14 Citic)
      • 15:30 a 17:30 (Despacho I1.14 Citic)
    • Jueves de 15:30 a 17:30 (Despacho I1.14 Citic)

Manuel Noguera García

Email
  • Primer semestre
    • Lunes de 17:30 a 18:30 (Etsiit Desp. 3 3ª Planta)
    • Martes de 11:30 a 14:00 (Etsiit Desp. 3 3ª Planta)
    • Jueves de 09:00 a 11:30 (Etsiit Desp. 3 3ª Planta)
  • Segundo semestre
    • Lunes de 17:30 a 18:30 (Etsiit Desp. 3 3ª Planta)
    • Martes de 11:30 a 14:00 (Etsiit Desp. 3 3ª Planta)
    • Jueves de 09:00 a 11:30 (Etsiit Desp. 3 3ª Planta)

Ángel Ruiz Zafra

Email
  • Primer semestre
    • Martes de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)
    • Miércoles de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)
  • Segundo semestre
    • Martes de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)
    • Miércoles de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)

Prerrequisitos y/o Recomendaciones

Los estudiantes no tendrán que haber aprobado asignaturas, materias o módulos como requisito indispensable para cursar el módulo. No obstante, se recomienda el haber superado los contenidos y haber adquirido las competencias de las materias de Formación Básica, en especial de Fundamentos del Software, Fundamentos de Programación, Metodología de la Programación y Tecnología y Organización de los Computadores.

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Soporte hardware para el sistema operativo.
  • Diseño e implementación de la gestión de procesos.
  • Gestión de memoria.
  • Sistemas de archivos.
  • Sistemas de Entradas/salidas.
  • Mecanismos de seguridad del sistema operativo.
  • Programación de aplicaciones utilizando los servicios del sistema operativo.
  • Administración del sistema operativo.

Competencias

Competencias Generales

  • CG04. Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
  • CG11. Capacidad para analizar y valorar el impacto social y medioambiental de las soluciones técnicas, comprendiendo la responsabilidad ética y profesional de la actividad del Ingeniero Técnico en Informática.

Competencias Específicas

  • CE16. Conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos y diseñar e implementar aplicaciones basadas en sus servicios.

Competencias Transversales

  • CT02. Capacidad para tomar decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles) así como capacidad de argumentar y justificar lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista. 

Resultados de aprendizaje (Objetivos)

  1. Describir los elementos hardware que son necesarios para construir un sistema operativo multiprogramado que sea seguro.
  2. Conocer cómo se implementan las abstracciones proceso e hilo y las estructuras de datos necesarias para su materialización.
  3. Comprender el diseño del diagrama estados por los que pueden pasar los procesos o hilos, y cuáles son los eventos que provocan las transiciones entre estados, y cómo se llevan a cabo esas transiciones.
  4. Explicar los algoritmos básicos de planificación en sistemas monoprocesadores, en sistemas de multiprocesamiento simétrico, y en sistemas de tiempo-real.
  5. Utilizar los servicios que suministra el sistema operativo para la gestión de procesos e hilos.
  6. Describir diferentes formas de asignar memoria a los procesos y al propio sistema operativo, con especial atención a los sistemas paginados y segmentados que utilizan gestión de memoria virtual.
  7. Comparar y contrastar los algoritmos de gestión de memoria virtual.
  8. Conocer cuáles son las funciones principales del subsistema de entradas/salidas.
  9. Describir el proceso de realización de una operación de entrada/salida desde su inicio hasta su conclusión.
  10. Entender qué es y cómo se implementa la independencia de los dispositivos.
  11. Manejar servicios que suministra el sistema operativo, relacionados con el almacenaje persistente, en especial, sobre archivos y directorios.
  12. Conocer los diferentes métodos utilizados para asignar espacio en disco y para conocer el espacio disponible.
  13. Estudiar cuáles son las estructuras de datos de memoria y disco, así como los algoritmos necesarios para creación y manipulación de sistemas de archivos y los elementos relacionados con el almacenaje persistente ofrecido por el sistema operativo.
  14. Entender la necesidad de realizar una planificación de las peticiones de disco y los algoritmos utilizados.
  15. Entender el mecanismo de archivos proyectados en memoria.
  16. Enumerar los requisitos de seguridad demandados a los sistemas operativos, así como las principales amenazas.
  17. Adquirir los conocimientos sobre los mecanismos de autenticación y de autorización utilizados en los sistemas operativos.
  18. Enfrentarse a la labor de asignar valores a los parámetros de configuración y de los principales servicios del sistema operativo.
  19. Saber cómo detectar problemas de rendimiento y cómo optimizar el funcionamiento del sistema operativo.

Programa de contenidos Teóricos y Prácticos

Teórico

Tema 1. Estructuras de sistemas operativos

  1. Tipos de arquitecturas de sistemas operativos.
  2. Sistemas operativos de propósito específico.

Tema 2. Procesos e hilos

  1. Implementación de las abstracciones proceso e hilo.
  2. Diagrama de estados y transiciones.
  3. Planificación de la CPU.

Tema 3. Gestión de memoria

  1. Gestión de memoria para el sistema operativo.
  2. Gestión de memoria para los procesos.
  3. Memoria virtual.

Tema 4. Gestión de archivos

  1. Interfaz de los sistemas de archivos.
  2. Diseño software del sistema de archivos.
  3. Implementación de los sistemas de archivos.

Tema 5. Gestión de entradas y salidas

  1. Arquitectura software del sistema de E/S.
  2. Archivos de dispositivos.
  3. Manejadores de dispositivos.

Tema 6. Mecanismos de seguridad

  1. Objetivos de protección y amenazas.
  2. Autenticación
  3. Mecanismos de autorización.

Práctico

Práctica 1. Administración de sistemas operativos:

  1. Herramientas básicas de administración.
  2. Monitorización del sistema.
  3. Automatización de tareas.

Práctica 2. Uso de los servicios del sistema operativo mediante la API:

  1. Gestión y comunicación de procesos.
  2. Manejo de archivos y directorios.
  3. Archivos proyectados en memoria.
  4. Gestión de memoria y tiempo.

Bibliografía

Bibliografía fundamental

  • W. Stallings, Sistemas Operativos. Aspectos Internos y Principios de Diseño (5/e), Prentice Hall, 2005.
  • W. Stallings, Internals and Design Principles (9/e), Pearson Education, 2018.
  • J. Carretero y otros, Sistemas Operativos. Una Visión Aplicada (2 ed.), McGraw-Hill, 2007.
  • A. Silberschatz, P. B. Galvin, y G. Gagne, Fundamentos de Sistemas Operativos (7/e), McGraw-Hill, 2006.
  • A.S. Tanenbaum, Sistemas Operativos Modernos (3/e), Pearson Prentice Hall, 2009.
  • W. Mauerer, Professional Linux Kernel Architecture, Wiley, 2008.
  • R. Love, Linux Kernel Development (3/e), Addison-Wesley Professional, 2010.
  • A. J. León, P. Paderewski, J.A. Gómez, M.A. Sánchez, J.L. Garrido y K. Benghazi, “Guía de Prácticas de Sistemas Operativos”, 2015 (Disponible en la plataforma docente).
  • E. Nemeth, G. Snyder, T. R. Hein, y B. Whaley, Unix and Linux System Administration Handbook (4/e), Prentice Hall, 2010.
  • M. Kerrisk, The Linux Programming Interface, No Starch Press , 2010.

Bibliografía complementaria

  • Ramez Elmasri, A. Gil Carrick, y David Levine, Sistemas Operativos. Un enfoque en espiral, McGraw Hill. 2010.
  • D. Dhamdhere, Operating Systems. A Concept-Based Approach, McGraw-Hill Science, 2008.
  • Michael Kerrish, The Linux Programming Interface. A Linux and Unix System Programming Handbook, No Starch Press, 2010.
  • R. Love, Linux System Programming, O'Reilly, 2007.
  • Eleen Frisch, Essential System Administration (3/e), O'Reilly Media, 2002.
  • G. Kroah-Hartman, Linux Kernel in a Nutshell, O'Reilly, 2006.P. J. Salzman, M. Burian, y O. Pomerantz, The Linux Kernel Module Programming Guide, CreateSpace, 2009.
  • E. Siever et al., Linux, O'Reilly, 2010.
  • M. Bach,The Design of the Unix Operating Systems, Prentice Hall, 1986.
  • U. Vahalia, Unix Internals. The New Frontiers, Prentice Hall, 1996.
  • W. R. Stevens, y S. A. Rago, Advanced Programming in the UNIX Environment (2/e), Addison-Wesley Professional, 2005.

Enlaces recomendados

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

El sistema de evaluación para la asignatura en esta convocatoria será bajo la modalidad de evaluación continua, tal y como se describe a continuación.

No es obligatoria la asistencia a teoría, no obstante se recomienda en tanto en cuanto facilita el desarrollo de las competencias de la asignatura. La no obligatoriedad queda excluida, por motivos obvios, en aquellos días que se realicen actividades calificables que se notificarán a través de la plataforma docente con al menos una semana de antelación.

Como criterio general del cumplimiento de la evaluación continua, el estudiante tiene que realizar al menos un 80% de todas las actividades propuestas en la parte de teoría.

La asistencia a las clases de prácticas es obligatoria, pudiendo tener como máximo tres faltas. En caso de tener más de tres faltas, el estudiante no se podrá presentar a las pruebas de prácticas que se realizan durante la evaluación continua.

Las actividades calificables tienen una distribución en las calificaciones como sigue:

  • El 100% de la nota final se reparte en: 50% de teoría y 50% prácticas.
  • La calificación final se obtiene sumando las calificaciones de la parte teórica y la parte práctica.
  • Para aprobar la asignatura es necesario tener una calificación final numéricamente igual o superior a 5 puntos (sobre 10 puntos), y siempre y cuando en cada una de dichas partes se obtenga una calificación igual o superior al 45% de su peso, es decir 2,25 puntos (sobre 5 puntos), en caso contrario, la calificación será suspenso.
  • Si sólo se superan los 2,5 puntos (sobre 5 puntos) en una de las partes (teoría o prácticas), la calificación de la parte superada se mantiene para la convocatoria extraordinaria del curso en marcha, de forma que, el estudiante solo deberá realizar el examen de la parte no superada en la forma que se establece para la convocatoria extraordinaria.

Con respecto a la calificación detallada de cada una de las partes, se establece lo siguiente:

  • Los 5 puntos de la teoría se reparten de la siguiente forma:
    • 90% correspondiente con una o varias pruebas objetivas e individuales realizadas en el aula.
    • 10% correspondiente a trabajo individual o en grupo para la resolución de ejercicios, problemas, y/o trabajos.
  • Los 5 puntos de prácticas se obtienen de la siguiente forma:
    • 30% prueba objetiva individual del Módulo 1. El estudiante tiene que resolver varios supuestos prácticos basados en los planteados en la Guía de Prácticas en las sesiones correspondientes al Módulo 1.
    • 70% prueba objetiva individual del Módulo 2. Con la misma estructura que el anterior.

NOTA: La Guía de Prácticas contiene una serie de ejercicios prácticos (órdenes del sistema operativo y programas relacionados con la programación de sistemas) que el estudiante deberá resolver, como forma de adiestramiento, de cara a alcanzar las competencias que se evalúan en las pruebas objetivas indicadas. Estos ejercicios prácticos no son entregables y la verificación de su correcta solución es fácilmente comprobable por el propio estudiante.

  • Las pruebas prácticas se realizarán enteramente por escrito y los profesores de la asignatura especificarán los materiales que los estudiantes podrán utilizar para cada prueba concreta.
  • Para la realización de las pruebas de la parte práctica, la única documentación que se podrá utilizar será el guion de prácticas impreso. Se permite incluir en el guion anotaciones personales, conceptos explicados en clase, etc.. No se permiten listados de código fuente de los ejercicios (ni siquiera los propios resueltos por el estudiante) ni ningún otro código fuente.
  • Los ejercicios entregados como resultado de las pruebas de la parte práctica deben ser totalmente funcionales para una evaluación positiva de dichas pruebas.

Todo lo relativo a la evaluación y calificación se regirá por la “Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada”.

Evaluación Extraordinaria

Se aplicará la misma evaluación que la utilizada en la Evaluación Única Final descrita en el apartado siguiente.

Evaluación única final

Tanto en la modalidad de Convocatoria Extraordinaria, Convocatoria Especial y Examen Único Final (este último solo para aquellos estudiantes que cumplan las condiciones establecidas en el Artículo 8 de la Normativa) se realizará un único examen que constará de dos pruebas objetivas ambas por escrito: Una de teoría, y otra de prácticas.

La prueba de teoría supondrá el 50% de la calificación final y tendrá una estructura similar a establecida en la prueba o pruebas objetivas individuales de teoría descritas en la evaluación continua.

La prueba de prácticas supondrá el otro 50% de la calificación final y tendrá una estructura similar a la establecida en las pruebas objetivas individuales de prácticas descritas en la evaluación continua.

La calificación final de este examen será la suma de las calificaciones de teoría y prácticas. Para aprobar la asignatura es necesario tener una calificación final numéricamente igual o superior a 5 puntos (sobre 10 puntos), y siempre y cuando en cada una de dichas partes se obtenga una calificación igual o superior al 45% de su peso, es decir 2,25 puntos (sobre 5 puntos), en caso contrario, la calificación será suspenso.