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