Guías Docentes Electrónicas
1. DATOS GENERALES
Asignatura:
SISTEMAS OPERATIVOS II
Código:
42334
Tipología:
OPTATIVA
Créditos ECTS:
6
Grado:
406 - GRADO EN INGENIERÍA INFORMÁTICA (AB)_20
Curso académico:
2020-21
Centro:
604 - E.S. DE INGENIERÍA INFORMÁTICA ALBACETE
Grupo(s):
16 
Curso:
3
Duración:
C2
Lengua principal de impartición:
Español
Segunda lengua:
Uso docente de otras lenguas:
English Friendly:
N
Página web:
https://campusvirtual.uclm.es/course/view.php?id=11196
Bilingüe:
N
Profesor: VALENTIN VALERO RUIZ - Grupo(s): 16 
Edificio/Despacho
Departamento
Teléfono
Correo electrónico
Horario de tutoría
1.A.14
2499
valentin.valero@uclm.es
Ver página web http://esiiab.uclm.es/tutorias.php

2. REQUISITOS PREVIOS

Conocimientos básicos de sistemas operativos, y de programación concurrente.

Conocimiento del lenguaje C y de conceptos de programación estructurada, modular y de programación orientada a objetos.

Es recomendable conocer un lenguaje ensamblador.

3. JUSTIFICACIÓN EN EL PLAN DE ESTUDIOS, RELACIÓN CON OTRAS ASIGNATURAS Y CON LA PROFESIÓN

Con esta asignatura el alumno aprende el diseño detallado de un sistema operativo de uso muy extendido (Linux), así como también aprende a tener una visión amplia y diversa de las distintas opciones de diseño que se abren en el marco del diseño de sistemas operativos, y de componentes específicos de los mismos. El estudiante adquiere incluso una visión crítica de las opciones de diseño elegidas, siendo capaz de identificar sus puntos fuertes y/o débiles.

Por ello, su importancia radica en el hecho de conocer de forma real cómo se diseña e implementa un sistema operativo, aparte de las meras explicaciones teóricas sobre diseño de sistemas operativos. El hecho de elegir un sistema operativo concreto no merma la capacidad del profesor de abrir diferentes opciones de diseño en cada uno de los componentes del sistema, mostrando siempre la opción elegida frente a diferentes alternativas posibles.

Obviamente, está estrechamente relacionada con la asignatura sistemas operativos I, extendiendo sus contenidos, y cubriendo la parte más práctica de la misma, como es el conocimiento del diseño detallado del kernel de un sistema operativo, y la capacidad para añadir nuevas funciones al mismo. Así, el estudiante será capaz, no sólo de emplear los servicios del sistema operativo en forma de llamadas, sino que será capaz de comprender cómo están implementados dichos servicios y podrá incluir nuevos servicios dentro del kernel. 

En su vida profesional, los conocimientos adquiridos por el estudiante le permitirán trabajar en el marco del desarrollo de sistemas operativos, cuyo mercado no se limita a los sistemas operativos de uso convencional bien conocidos, dado el campo amplio existente actualmente en el desarrollo de sistemas operativos de propósito específico, para el control de ciertos dispositivos o equipos. Además, en el marco de la programación de aplicaciones de tiempo real es habitual trabajar con "kernels modificados", con el objeto de lograr la eficiencia requerida para un tipo específico de aplicación.


4. COMPETENCIAS DE LA TITULACIÓN QUE LA ASIGNATURA CONTRIBUYE A ALCANZAR
Competencias propias de la asignatura
Código Descripción
IC04 Capacidad de diseñar e implementar software de sistema y de comunicaciones.
INS04 Capacidad de resolución de problemas aplicando técnicas de ingeniería.
INS05 Capacidad para argumentar y justificar lógicamente las decisiones tomadas y las opiniones.
5. OBJETIVOS O RESULTADOS DE APRENDIZAJE ESPERADOS
Resultados de aprendizaje propios de la asignatura
Descripción
Utilizar, configurar y diseñar servicios sobre núcleos de sistemas operativos multiprogramación
Diseñar servicios de comunicación y sincronización entre procesos.
Resultados adicionales
Descripción
Configuración y compilación del núcleo, seleccionando módulos y parámetros de configuración adecuados a la instalación
6. TEMARIO
  • Tema 1: Estructura de los sistemas operativos modernos
    • Tema 1.1: Núcleo monolítico
    • Tema 1.2: Núcleo modular
    • Tema 1.3: Modelo de capas
    • Tema 1.4: Núcleo extensible y máquinas virtuales
    • Tema 1.5: Sistemas Operativos de Red
    • Tema 1.6: Sistemas operativos distribuidos
  • Tema 2: Diseño del núcleo de multiprogramación
    • Tema 2.1: Funciones del núcleo
    • Tema 2.2: Gestión de llamadas, interrupciones y excepciones
    • Tema 2.3: Bloqueo de procesos
    • Tema 2.4: Introducción a la gestión de memoria
    • Tema 2.5: Creación de procesos (fork)
    • Tema 2.6: Ejecución de programas (execve)
    • Tema 2.7: Sesiones y grupos de procesos
    • Tema 2.8: Terminación de procesos (exit)
    • Tema 2.9: Gestión de señales
    • Tema 2.10: Espera de un hijo (wait4)
  • Tema 3: Gestión de la memoria virtual
    • Tema 3.1: Introducción a la gestión de memoria virtual
    • Tema 3.2: Memoria virtual paginada y segmentada
    • Tema 3.3: Algoritmos de sustitución
    • Tema 3.4: Asignación de memoria a los procesos
    • Tema 3.5: Ficheros con imagen en memoria
  • Tema 4: Planificación y temporización de actividades
    • Tema 4.1: Planificador a corto plazo
    • Tema 4.2: Interrupción del reloj
    • Tema 4.3: Servicios de prioridad de procesos
    • Tema 4.4: Servicios de fecha y hora
    • Tema 4.5: Temporización de actividades
  • Tema 5: Diseño del sistema de ficheros
    • Tema 5.1: Arquitectura VFS
    • Tema 5.2: Cache de páginas
    • Tema 5.3: Buffer-caché
    • Tema 5.4: Lectura y escritura de bloques de disco
    • Tema 5.5: Estructura de un sistema de ficheros Unix
    • Tema 5.6: Llamadas relativas a ficheros
  • Tema 6: Entradas/Salidas
    • Tema 6.1: Arquitectura del sistema de E/S
    • Tema 6.2: Interfaz de las controladoras
    • Tema 6.3: Programación de los drivers
    • Tema 6.4: Bloqueo de regiones de memoria y de puertos de E/S
    • Tema 6.5: Operaciones sobre dispositivos
  • Tema 7: Comunicación entre procesos
    • Tema 7.1: Semáforos
    • Tema 7.2: Envío de mensajes
    • Tema 7.3: Memoria compartida
COMENTARIOS ADICIONALES SOBRE EL TEMARIO

El desarrollo de estos contenidos puede variar ligeramente en función del desarrollo del curso.


7. ACTIVIDADES O BLOQUES DE ACTIVIDAD Y METODOLOGÍA
Actividad formativa Metodología Competencias relacionadas ECTS Horas Ev Ob Descripción
Enseñanza presencial (Teoría) [PRESENCIAL] Método expositivo/Lección magistral IC04 1.1 27.5 S S Presentación de los contenidos de los diferentes temas de la asignatura.
Enseñanza presencial (Prácticas) [PRESENCIAL] Resolución de ejercicios y problemas INS04 1.1 27.5 S S Asistencia a las sesiones de prácticas para la realización de diferentes ejercicios y problemas, que han de entregarse en fechas definidas. Supervisión del trabajo por el profesor.
Estudio o preparación de pruebas [AUTÓNOMA] IC04 3.7 92.5 N N Estudio autónomo del alumno.
Prueba final [PRESENCIAL] INS05 0.1 2.5 S S Prueba final de conocimientos
Total: 6 150
Créditos totales de trabajo presencial: 2.3 Horas totales de trabajo presencial: 57.5
Créditos totales de trabajo autónomo: 3.7 Horas totales de trabajo autónomo: 92.5

Ev: Actividad formativa evaluable
Ob: Actividad formativa de superación obligatoria (Será imprescindible su superación tanto en evaluación continua como no continua)

8. CRITERIOS DE EVALUACIÓN Y VALORACIONES
Sistema de evaluación Evaluacion continua Evaluación no continua * Descripción
Prueba final 70.00% 70.00% Prueba final de conocimientos teóricos de la asignatura
Prueba 30.00% 30.00% Prueba para valorar el trabajo realizado en prácticas.
Total: 100.00% 100.00%  
* En Evaluación no continua se deben definir los porcentajes de evaluación según lo dispuesto en el art. 4 del Reglamento de Evaluación del Estudiante de la UCLM, que establece que debe facilitarse a los estudiantes que no puedan asistir regularmente a las actividades formativas presenciales la superación de la asignatura, teniendo derecho (art. 12.2) a ser calificado globalmente, en 2 convocatorias anuales por asignatura, una ordinaria y otra extraordinaria (evaluándose el 100% de las competencias).

Criterios de evaluación de la convocatoria ordinaria:
  • Evaluación continua:
    Los estudiantes realizarán sus prácticas en el laboratorio. En la prueba de evaluación global de prácticas se mostrarán las prácticas realizadas, y se defenderán ante el profesor. La práctica 1 no es evaluable. Los pesos de las restantes son: Práctica 2 (10%), Práctica 3 (10%), Práctica 4 (20%), Práctica 5 (20%), Práctica 6 (20%) y Práctica 7 (20%). La nota final de prácticas será el resultado de dicha ponderación. El número de prácticas y por consiguiente de los pesos podrían variar en función del desarrollo de las clases prácticas.
    Para el cómputo de la nota final de la asignatura será requisito haber obtenido una nota igual o superior a 5 en la prueba global de conocimientos teóricos, realizándose en tal caso la ponderación siguiente:
    Teoría: 70%, Prácticas (30%).
    En caso de haber suspendido la teoría la nota final en la convocatoria no será superior a 4.5, aún cuando la ponderación anterior pudiera arrojar un resultado superior o igual a 5.
  • Evaluación no continua:
    Los estudiantes realizarán la prueba global de conocimientos teóricos y una prueba de evaluación global de prácticas. Para el cómputo de la nota final de la asignatura será requisito haber obtenido una nota igual o superior a 5 en la prueba global de conocimientos teóricos, realizándose en tal caso la ponderación siguiente:
    Teoría: 70%, Prácticas (30%).
    En caso de haber suspendido la teoría la nota final en la convocatoria no será superior a 4.5, aún cuando la ponderación anterior pudiera arrojar un resultado superior o igual a 5.

Particularidades de la convocatoria extraordinaria:
Los estudiantes realizarán la prueba global de conocimientos teóricos y una prueba de evaluación global de prácticas cuando la nota obtenida en la parte de prácticas en la convocatoria ordinaria fuera inferior a 5. Si dicha nota de prácticas fue igual o superior a 5, podrá mantenerse para la convocatoria extraordinaria. Si se aprobó la teoría en la convocatoria ordinaria, podrá mantenerse dicha nota para la convocatoria extraordinaria.
Para el cómputo de la nota final de la asignatura será requisito haber obtenido una nota igual o superior a 5 en la prueba global de conocimientos teóricos, realizándose en tal caso la ponderación siguiente:
Teoría: 70%, Prácticas (30%).
En caso de haber suspendido la teoría la nota final en la convocatoria no será superior a 4.5, aún cuando la ponderación anterior pudiera arrojar un resultado superior o igual a 5.
Particularidades de la convocatoria especial de finalización:
Los estudiantes realizarán la prueba global de conocimientos teóricos y una prueba de evaluación global de prácticas. Para el cómputo de la nota final de la asignatura será requisito haber obtenido una nota igual o superior a 5 en la prueba global de conocimientos teóricos, realizándose en tal caso la ponderación siguiente:
Teoría: 70%, Prácticas (30%).
En caso de haber suspendido la teoría la nota final en la convocatoria no será superior a 4.5, aún cuando la ponderación anterior pudiera arrojar un resultado superior o igual a 5.
9. SECUENCIA DE TRABAJO, CALENDARIO, HITOS IMPORTANTES E INVERSIÓN TEMPORAL
No asignables a temas
Horas Suma horas
Estudio o preparación de pruebas [AUTÓNOMA][] 10.5
Prueba final [PRESENCIAL][] 2.5

Tema 1 (de 7): Estructura de los sistemas operativos modernos
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 2
Estudio o preparación de pruebas [AUTÓNOMA][] 2
Periodo temporal: Primera semana

Tema 2 (de 7): Diseño del núcleo de multiprogramación
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 4
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] 4
Estudio o preparación de pruebas [AUTÓNOMA][] 20
Periodo temporal: Hasta la cuarta semana

Tema 3 (de 7): Gestión de la memoria virtual
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 5
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] 5.5
Estudio o preparación de pruebas [AUTÓNOMA][] 20
Periodo temporal: Hasta quinta semana

Tema 4 (de 7): Planificación y temporización de actividades
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 5
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] 5
Estudio o preparación de pruebas [AUTÓNOMA][] 10
Periodo temporal: Hasta séptima semana

Tema 5 (de 7): Diseño del sistema de ficheros
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 5.5
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] 5
Estudio o preparación de pruebas [AUTÓNOMA][] 8
Periodo temporal: Hasta décima semana

Tema 6 (de 7): Entradas/Salidas
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 3.5
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] 4
Estudio o preparación de pruebas [AUTÓNOMA][] 10
Periodo temporal: Hasta semana 12ª/13ª

Tema 7 (de 7): Comunicación entre procesos
Actividades formativas Horas
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] 2.5
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] 4
Estudio o preparación de pruebas [AUTÓNOMA][] 12
Periodo temporal: Hasta semana 13ª

Actividad global
Actividades formativas Suma horas
Comentarios generales sobre la planificación: Esta planificación es ORIENTATIVA, pudiendo variar a lo largo del periodo lectivo en función de las necesidades docentes, festividades, o por cualquier otra causa imprevista. La planificación semanal de la asignatura podrá encontrarse de forma detallada y actualizada en la plataforma Campus Virtual (Moodle). Las clases se estructuran en 3 sesiones de 1.5 horas por semana.
10. BIBLIOGRAFÍA, RECURSOS
Autor/es Título Libro/Revista Población Editorial ISBN Año Descripción Enlace Web Catálogo biblioteca
The Linux Kernel Archive https://www.kernel.org/  
The Linux Documentation Project http://www.tldp.org/  
D.P. Bovet y M. Cesati Understanding the LINUX Kernel O'Reilly 2005  
E. Nemeth, G. Snyder, T.R. hein Administración de Sistemas Linux Anaya 2008  
G. Glass Unix for programmers and users Prentice-Hall 2003  
M. Beck, H. Böhme, M. Dziadzka, U. Kunitz, R. Magnus y D. Verworner LINUX Kernel Internals Addision-Wesley 1997  
M.J. Bach The Design of The UNIX Operating System Prentice-Hall 1987  
P. Cornes The LINUX A-Z Prentice-Hall 1996  
Robert Love Linux Kernel Development, 3rd edition Addison-Wesley 2012  
U. Vahalia, Peter H. Salus UNIX Internals, the New Frontiers Prentice-hall 1996  
V. Valero Sistema Operativo Unix: Fundamentos y Diseño del Sistema Librería Popular Albacete 2006  
W. Stallings Operating Systems: Internals and Design Principles. 7th edition Prentice-Hall. 2011  



Web mantenido y actualizado por el Servicio de informática