Última actualización: 21/04/2020


Curso Académico: 2019/2020

Sistemas Operativos
(13878)
Doble Grado en Ingeniería Informática y Administración de Empresas (Plan: 437 - Estudio: 233)


Coordinador/a: CARRETERO PEREZ, JESUS

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación Estructura de Computadores
El objetivo de este curso es que el estudiante conozca la función del sistema operativo como máquina ampliada, los servicios que ofrece al resto del sistema y sus principales componentes y entidades (procesos, memoria, ficheros, etc.), los conceptos de concurrencia y las relaciones del sistema operativo con el resto del software y el hardware del computador. Para lograr este objetivo el alumno debe adquirir una serie de competencias genéricas, conocimientos, capacidades y actitudes. 1 Competencias Transversales/Genéricas 1.1 Capacidad de análisis y síntesis 1.2 Capacidad de organizar y planificar 1.3 Resolución de problemas 1.4 Trabajo en equipo 1.5 Capacidad de aplicar los conocimientos en la práctica 2 Competencias Específicas 2.1 Cognitivas (Saber) - Conocimiento de los conceptos de SS.OO - Conocimiento de la organización y servicios del sistema operativo como máquina ampliada - Conocimiento del conceptos de concurrencia - Comprensión el efecto del sistema operativo sobre el resto del sistema. - Técnicas para la programación con llamadas a sistemas operativos - Conocimiento de los métodos de gestión de recursos en un sistema operativo 2.2 Procedimentales/Instrumentales (Saber hacer) - Programar con llamadas a sistemas operativos - Programar aplicaciones concurrentes - Diseñar utilidades sobre el sistema operativo - Usar herramientas de monitorización de sistemas operativos 2.3 Actitudinales (Ser) - Capacidad para generar nuevas ideas (creatividad) - Actitud crítica respecto a los sistemas operativos actuales - Preocupación por la calidad de los sistemas operativos - Motivación de logro - Interés por investigar y buscar soluciones a nuevos problemas relacionados con sistemas operativos.
Descripción de contenidos: Programa
Los descriptores asociados con la asignatura son: Organización, estructura y servicios de los sistemas operativos; procesos y threads; conceptos de gestión de memoria; comunicación y sincronización entre procesos; conceptos de Entrada / Salida y de ficheros. El programa se divide en los temas siguientes: T1.- Introducción a los Sistemas Operativos 1.1.- Conceptos básicos.     1.2.- Principales funciones: máquina extendida, gestor de recursos e interfaz de usuario     1.3.- Historia de los sistemas operativos 1.4.- Estructura y componentes del sistema operativo. 1.5.- Activación del sistema operativo T2 Servicios de los sistemas operativos. 2.1.- Concepto de servicios del sistema operativo. Llamada al sistema. 2.2.- Servicios asociados a los distintos componentes del sistema operativo. 2.3.- Interfaz de llamadas al sistema para hacer programación de sistemas. 2.4.- Generación y ejecución de programas 2.5.- Bibliotecas estáticas y dinámicas T3.- Procesos y threads     3.1.- Definición de proceso.     3.2.- Modelo ofrecido: recursos, multiprogramación, multitarea y multiproceso 3.3.- Ciclo de vida del proceso: estado de procesos. 3.4 - Servicios para gestionar procesos que da el sistema operativo. 3.5.- Definición de thread 3.6.- Threads de biblioteca y núcleo. 3.7.- Servicios para threads en el sistema operativo.     3.8.- Estructura de datos de procesos y threads en el núcleo     3.9.- Diseño e implementación de la multiprogramación y la multitarea en el núcleo T4.- Planificación de Procesos y threads. 4.1.- Conceptos básicos de planificación de sistemas operativos. 4.2.- Planificación y activación 4.3.- Algoritmos de programación más comunes (FIFO, SJF, RR, PRIORIDAD, ¿). 4.4.- Planificación en LINUX: envejecimiento. 4.5.- Llamadas de planificación de procesos. 4.6.- Estructuras de datos de planificación en el núcleo ¿ T5 Comunicación entre procesos 5.1.- Señales y excepciones. 5.2.- Temporizadores. 5.3.- Comunicación de procesos con tuberías (pipes). 5.4.- Paso de mensajes local. T6 Procesos concurrentes y sincronización 6.1.- Procesos concurrentes. 6.2.- Exclusión mutua y sección crítica. 6.3.- Semáforos. 6.4.- Llamadas al sistema para semáforos. 6.5.- Mecanismos sincronización de threads. 6.6.- Mutex y variables condición. 6.7.- Llamadas al sistema para mutex. 6.8.- Problemas clásicos de concurrencia. 6.9.- Caso estudio: desarrollo de servidores concurrentes T7 Ficheros y directorios 7.1.- Conocer los conceptos de fichero y directorio así como sus características. 7.2.- Estudiar los ficheros, sus atributos y operaciones, la visión lógica. 7.3.- Representación desde el punto de vista de los usuarios. 7.4.- Servicios del ssoo para ficheros. 7.5.- Interpretación de nombres. 7.6.- Servicios del ssoo para directorios. 7.7.- Volúmenes, particiones y sistemas de ficheros. T8 Seguridad y protección     8.1.- Mecanismos de seguridad en sistemas operativos. 8.2.- Seguridad en Linux 8.3.- Seguridad en Windows
Actividades formativas, metodología a utilizar y régimen de tutorías
- Clases Teóricas: 1.5 ECTS. Tienen por objetivo alcanzar las competencias específicas cognitivas de la asignatura. En ellas se presentarán los conocimientos que los alumnos deben adquirir. Para facilitar su desarrollo los alumnos recibirán las notas de clase y tendrán textos básicos de referencia que les permita completar y profundizar en aquellos temas en los cuales estén más interesados. - Clases Prácticas: 1.5 ECTS. Desarrollan las competencias específicas instrumentales y la mayor parte de las transversales, como son la de trabajo en equipo, capacidad de aplicar los conocimientos a la práctica, de planificar y organizar y de análisis y síntesis. También tienen por objetivo desarrollar las capacidades específicas actitudinales. Consisten en el diseño y desarrollo de un intérprete de comandos con concurrencia junto a varios nuevos comandos para el sistema operativo. Se desarrollan en grupos de trabajo y en clases informáticas con presencia de profesor. - Realización de Actividades Académicas Dirigidas con presencia del profesor: 1 ECTS - Resolución de ejercicios y casos prácticos de forma participativa en la clase. Puede incluir además el estudio de ejemplos de sistemas operativos, común de las respuestas a los ejercicios y corrección conjunta, presentación de trabajos, etc. - Estudio del alumno: 1.5 ECTS. Ejercicios y lecturas complementarias propuestas por el profesor. Estudio personal - Ejercicios y Examen: 0.5 ECTS. Tienen por objeto incidir y complementar en el desarrollo de las capacidades específicas cognitivas y procedimentales.
Sistema de evaluación
  • Peso porcentual del Examen Final 35
  • Peso porcentual del resto de la evaluación 65

Bibliografía básica
  • Jesus Carretero y otros. Problemas de Sistemas Operativos. Segunda edición. Amazon Books Press. 2015
  • Jesus Carretero y otros. Sistemas Operativos: Una visión aplicada.. Segunda edición. Mcgraw-Hill. 2007

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.