1. Coordinación y Sincronización de Procesos
1.1. Un proceso cooperativo es aquel que puede afectar o verse afectado por otros procesos que están ejecutándose en el sistema. Éstos pueden compartir directamente un espacio de direcciones lógicas (código o datos) o compartir los datos solo a través de archivos o mensajes.
1.2. La variación entre procesos puede definirse como la necesidad de que haya algunos procesos de bloquearse en las circunstancias particulares y ser despertados cuando ocurran ciertos eventos.
2. tipos de procesos concurrentes
2.1. Independientes: Son aquellos procesos que se ejecutan por la ayuda o cooperación de otros procesos,
2.2. Dependientes: Estos trabajan de forma conjunta en una actividad, por lo que deben estar capacitados para comunicarse e interactuar entre ellos,
3. Problemas clásicos de comunicación y sincronización
3.1. El problema de la sección Crítica
3.1.1. Éste es uno de los problemas que con mayor frecuencia aparece cuando se está realizando procesos concurrentes tanto si es cooperante como independiente.
3.2. Problema del Productor-Consumidor
3.2.1. El problema del productor-consumidor es uno de los problemas más habituales que surge cuando se programan aplicaciones usando procesos concurrentes.
3.3. pagoblema de los lectores y escritores
3.3.1. En este problema existe un objetivo determinado, que puede ser un archivo, un registro dentro de un archivo, etc., que se utilizó por una serie de procesos concurrentes.
3.4. doomunicacion cliente servidor
3.4.1. En el modelo cliente-servidor, los procesadores reciben una serie de servicios a otros procesos que se denominan clientes.
4. semaforos
4.1. Un semáforo es un mecanismo de sincronización que utiliza generalmente en sistemas con memoria compartida,
4.1.1. Semáforos sin nombre. Permiten sincronizar a los procesos ligeros que ejecutan dentro de un mismo proceso o los procesos que lo heredan a través de la llamada fork.
4.1.2. Semáforos con nombre. En este caso, el semáforo lleva asociado un nombre que sigue la convención de nombre que se emplea para archivos. Con este tipo de datos se pueden sincronizar procesos sin necesidad de tenerlos, aquí el uso de la llamada fork
5. mutex
5.1. Los parámetros y las variables condicionales son los mecanismos especialmente concebidos para la sincronización de procesos ligeros. Un mutex es el mecanismo de sincronización de procesos simple y eficiente.
5.1.1. Desbloquear: desbloquea el mutex. Si existen procesos bloqueados en él, se desbloqueará uno de ellos, que será el nuevo proceso que adquiera el mutex.
5.1.2. · Bloquear: intenta bloquear el mutex. Si el mutex ya está bloqueado por otro proceso,