Duración: 63 horas.
Contenidos básicos
1.Programación multiproceso:
•Ejecutables. Procesos. Servicios. Problemas asociados a recursos compartidos.
•Estados de un proceso. Planificación de procesos por el sistema operativo.
•Hilos.
•Programación concurrente.
•Programación paralela y distribuida.
•Creación de procesos.
•Comunicación entre procesos.
•Gestión de procesos.
•Sincronización entre procesos.
•Programación de aplicaciones multiproceso.
•Depuración y documentación.
2.Programación multihilo:
•Recursos compartidos por los hilos.
•Estados de un hilo. Cambios de estado.
•Elementos relacionados con la programación de hilos. Librerías y clases.
•Gestión de hilos. Creación, inicio y finalización.
•Compartición de información entre hilos.
•Sincronización de hilos.
•Prioridades de los hilos. Gestión de prioridades.
•Programación de aplicaciones multihilo.
•Depuración y documentación.
3.Programación de comunicaciones en red:
•Protocolos de comunicaciones. Puertos.
•Comunicación entre aplicaciones.
•Roles cliente y servidor.
•Elementos de programación de aplicaciones en red. Librerías.
•Sockets. Tipos y características.
•Creación de sockets.
•Enlazado y establecimiento de conexiones.
•Utilización de sockets para la transmisión y recepción de información.
•Finalización de conexiones.
•Programación de aplicaciones cliente y servidor en red.
•Utilización de hilos en la programación de aplicaciones en red.
4.Aplicaciones de servicios en red:
•Protocolos estándar de comunicación en red a nivel de aplicación (telnet, ftp, http, pop3, smtp, entre
otros)
•Librerías de clases y componentes.
•Utilización de objetos predefinidos.
•Establecimiento y finalización de conexiones.
•Transmisión de información.
•Programación de aplicaciones cliente.
•Programación de servidores.
•Implementación de comunicaciones simultáneas.
•Pruebas de la disponibilidad del servicio. Monitorización de tiempos de respuesta.
•Depuración y documentación.
5.Utilización de técnicas de programación segura:
•Prácticas de programación segura.
•Principios criptográficos. Principales aplicaciones de la criptografía.
•Protocolos criptográficos.
•Criptografía de clave pública y clave privada.
•Política de seguridad. Limitaciones y control de acceso a usuarios. Esquemas de seguridad basados
en roles.
•Programación de mecanismos de control de acceso.
•Encriptación de información.
•Protocolos seguros de comunicaciones.
•Sockets seguros.
•Programación de aplicaciones con comunicaciones seguras.
•Depuración y documentación.