La sincronización de procesos es un acuerdo entre dos o más procesos concurrentes para garantizar que no ejecuten simultáneamente alguna parte del programa llamada sección crítica.
Considere dos procesos P1 y P2 que comparten una variable común X. Ambos procesos tienen una sección de código que incrementa y actualiza la variable X. Cuando ambos procesos se ejecutan simultáneamente, existe la posibilidad de perder una actualización de la variable X y el nuevo valor de X puede no ser el deseado. Por lo tanto, se requiere sincronización de procesos en un sistema de procesamiento múltiple.
El punto muerto es una situación en la que dos o más procesos están esperando que otro libere un recurso y los procesos están esperando en una cadena circular.
- ¿Qué son los servidores virtuales?
- ¿Por qué Facebook detuvo su investigación sobre inteligencia artificial?
- ¿El aprendizaje automático aplicado se convertirá en una víctima de su propio éxito?
- ¿Cómo se utilizará el aprendizaje automático en el software empresarial, particularmente en las prácticas ITSM?
- ¿Cuáles son algunos de los asombrosos usos de los gráficos en CS / Modelado?
Considere que hay dos procesos P1 y P2 y dos recursos R1 y R2. Tanto P1 como P2 requieren los recursos R1 y R2 para una determinada tarea. Ahora, cuando ambos procesos se ejecutan simultáneamente, considere una situación en la que P1 se apodera de R1 y al mismo tiempo P2 se apodera de R2. Ahora, para que P1 complete su tarea, quiere R2 y para P2 para completar su tarea, quiere R1. Ambos recursos necesarios están bloqueados por otro proceso. Ambos procesos estarán esperando a que otro libere el recurso. En este caso, decimos que los procesos P1 y P2 están en estado de punto muerto.
La sincronización de procesos es necesaria en un sistema de procesamiento múltiple. Y donde hay sincronización de procesos, existe la posibilidad de un punto muerto.