La asignatura se impartirá en sesiones teórico-prácticas frente al ordenador en un aula de informática.
En cada sesión se expondrán las bases teóricas y los conceptos necesarios para la realización de diversas prácticas y ejercicios (programados en Lenguaje C) que el alumno deberá realizar, probar y trabajar para afianzar su aprendizaje.
Las sesiones se dividirán en tres grandes bloques:
Bloque I. UNIX Básico.
Sesión 1. Introducción: Compilación y Llamadas al Sistema.
Sesión 2. Sistema de Ficheros: Archivos, Enlaces, Información de Estado, y Manejo de Directorios.
Sesión 3. Procesos: Identificación, Clonación, Ejecución, Terminación y Espera.
Sesión 4. Sucesos Asíncronos: Señales, Máscaras, Manejadores, Llamadas al sistema bloqueantes y no bloqueantes.
Bloque II. Unix Avanzado (Mecanismos IPC y Sincronización).
Sesión 5. Comunicación Interproceso: Mecanismos IPC, Semáforos, Sincronización con semáforos, ....
Sesión 6. Comunicación Interproceso 2: Memoria Compartida, Problemas típicos de Acceso y Sincronización.
Sesión 7. Comunicación Interproceso 3: Paso de Mensajes, Sincronización con paso de mensajes, ...
Sesión 8. Otros mecanismos de Comunicación: Tuberías, Sockets, Multiplexaxión de E/S, ...
Bloque III. Windows y su API.
Sesión 9. Introducción a Win32: Compilación, Notaciones, API del Sistema, Procesos, Hilos y Prioridades.
Sesión 10. Objetos de Sincronización: Semáforos, Exclusión Mutua, Sección Crítica, Eventos, …, y Operaciones sobre ellos.
Sesión 11. Sistema de Ficheros: Información de Estado, Archivos, Directorios, Volúmenes, Discos.
Sesión 12. Bibliotecas de Funciones (DLLs): creación, carga dinámica y registro de funciones, utilización y liberación.
Sesión 13. Sistema de Memoria: Memoria Dinámica, Virtual y Compartida, reserva, uso y liberación, Proyección de Ficheros en Memoria.
Sesión 14. Sistema de Mensajería: Ciclo de Ejecución Windows, recepción, reparto e interpretación de mensajes.
*** Al finalizar cada bloque se propone para su entrega y evaluación una práctica más compleja que unirá los diversos aspectos vistos en las sesiones del bloque. Estas prácticas se realizarán por grupos.