Guía docente de Sistemas Operativos (2971125)

Curso 2022/2023
Fecha de aprobación: 20/06/2022

Grado

Grado en Ingeniería Informática y Matemáticas

Rama

Ingeniería y Arquitectura

Módulo

Formación Obligatoria Informática

Materia

Sistemas Operativos, Sistemas Distribuidos y Redes (35)

Curso

2

Semestre

1

Créditos

6

Tipo

Obligatoria

Profesorado

Teórico

José Antonio Gómez Hernández. Grupo: A

Práctico

  • Germán Arroyo Moreno Grupo: 1
  • Carlos Molina Fernández Grupo: 2

Tutorías

José Antonio Gómez Hernández

Email
  • Primer semestre
    • Miércoles de 10:30 a 13:30 (Etsiit 3ª P Despacho 10)
    • Jueves de 10:30 a 13:30 (Etsiit 3ª P Despacho 10)
  • Segundo semestre
    • Martes de 10:30 a 13:30 (Etsiit 3ª P Despacho 10)
    • Jueves de 10:30 a 13:30 (Etsiit 3ª P Despacho 10)

Germán Arroyo Moreno

Email
  • Primer semestre
    • Lunes de 08:00 a 14:00 (Lab. R. Virtual (Ogíjares)
    • Martes de 10:30 a 14:30 (Etsiit Desp. 31 3ª Planta)
    • Miércoles
      • 15:00 a 15:30 (Etsiit Desp. 31 3ª Planta)
      • 17:30 a 19:00 (Etsiit Desp. 31 3ª Planta)
  • Segundo semestre
    • Martes
      • 08:00 a 11:30 (Lab. R. Virtual (Ogíjares)
      • 10:30 a 14:30 (Etsiit Desp. 31 3ª Planta)
    • Miércoles
      • 15:00 a 15:30 (Etsiit Desp. 31 3ª Planta)
      • 16:00 a 18:30 (Etsiit Desp. 31 3ª Planta)
      • 17:30 a 19:00 (Etsiit Desp. 31 3ª Planta)

Carlos Molina Fernández

Email
  • Primer semestre
    • Lunes de 10:30 a 13:30 (Etsiit 3ª P Despacho 21)
    • Martes de 10:30 a 13:30 (Etsiit 3ª P Despacho 21)
  • Segundo semestre
    • Lunes de 10:30 a 13:30 (Etsiit 3ª P Despacho 21)
    • Martes de 10:30 a 13:30 (Etsiit 3ª P Despacho 21)

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). 

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 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 50% de su peso, es decir 2,5 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:
    • Una o varias pruebas objetivas individuales realizadas en el aula: 90%. Más concretamente, este porcentaje se reparte por temas de la siguiente forma: los Temas 1, 5 y 6 tienen un peso del 10%, cada uno; el Tema 2, tiene un peso del 30%; los Temas 3 y 4, del 20 % cada uno.
    • 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 en laboratorio basados en los planteados en la Guía de Prácticas y en los que se debe usar un computador.
    • 70% prueba objetiva individual del Módulo 2. Con la misma estructura que el anterior. La Guía de Prácticas contiene una serie de ejercicios prácticos (órdenes del sistema operativo y programa de ordenador) 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.
  • 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 y apuntes personales. 
  • 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 50% de su peso, es decir 2,5 puntos (sobre 5 puntos), en caso contrario, la calificación será suspenso.