Destinado a personas que tienen conocimientos en C y necesitan programar en C bajo Linux. refrescar los conocimientos de C y acceder a Oracle desde C, utilizando Pro-C
Conocimientos básicos de C y comandos del sistema operativo Linux.
Estudiar los distintos mecanismos que proporciona Linux y el lenguaje C para implementar programas multitarea basados en hilos y procesos y como podemos utilizar los distintos mecanismos de sincronización proporcionados. En el curso también se estudiarán programas de comunicación entre máquinas utilizando Sockets. El curso se imparte en Linux (Ubuntu).
1.- Hilos. Librería Posix, Procesos vs Threads, Estados de un Thread, Funciones para la gestión de hilos, Paso de parámetros a los hilos, Regiones críticas, Interbloqueos, condiciones de Carrera
2.- Mecanismos de sincronización en Hilos: Mutex, Semáforos, Esquema del productor / consumidor. N Productores / M Consumidores, Aplicaciones prácticas basadas en hilos
3.- Procesos: Concepto de proceso. PID, Atributos de un proceso, Funciones de consulta y modificación de atributos, Estados del proceso, Grupos de procesos,
Ejecución de comandos
4.- Función para crear y gestionar procesos:Fork, exit, wait, prioridades, Señales, Envío de señales a procesos, Tratamiento y manejo de señales, Gestión del Tiempo, Funciones y aplicación a procesos, Mecanismos de comunicación y sincronización entre procesos, Tuberías (Pipes), Semáforos, Prácticas
5.- Comunicaciones con Sockets: Arquitectura cliente / servidor, Protocolos de Sockets: UDP / TCP, Implementación de clientes y servidores: UDP / TCP, Prácticas