¿Qué es Livelock?
UNA. Livelock es un caso en el que una solicitud de bloqueo exclusivo se rechaza repetidamente, ya que muchos bloqueos compartidos superpuestos continúan interfiriendo entre sí. Los procesos les impiden cambiar su estado, lo que les impide completar la tarea. Esto les impide completar la tarea.
En este tutorial sobre el sistema operativo, aprenderá:
Ejemplos de Livelock
Ejemplo 1:
Un ejemplo más fácil de Livelock es dos personas que se encuentran cara a cara en un pasillo, y las dos se hacen a un lado para dejar pasar a la otra persona. Terminan moviéndose de un lado a otro sin hacer ningún progreso mientras se mueven de la misma manera al mismo tiempo. Aquí, nunca se cruzan.
Ejemplo 2:
Como puede ver en la imagen de arriba, cada uno de los dos procesos dados requiere dos recursos, y usan el registro de entrada de sondeo primitivo para intentar obtener los bloqueos que necesitan. Si el intento falla, el método funciona nuevamente.
- Proceso A recurso Y Y.
- El proceso B tiene una capacidad de X.
- El proceso A requiere el recurso X.
- El proceso B requiere el recurso Y.
Suponiendo que el proceso A se ejecuta primero y obtiene el recurso de datos X y luego el proceso B y el recurso Y se ejecutan, sin importar qué proceso se ejecute primero, ninguno de ellos avanza más.
Sin embargo, ninguno de los procesos se ve obstaculizado. Utilizan los recursos de la CPU repetidamente sin progreso, pero también detienen cualquier bloque de procesamiento.
Por tanto, este caso no es un caso muerto porque no hay un solo proceso que esté bloqueado, sino que estamos ante la historia de algo que equivale a un punto muerto, es decir, LIVELOCK.
¿Qué causa Livelock?
Livelock ocurre cuando el número total de procesos permitidos en un sistema particular debe ser definido por el número total de entradas en la tabla de procesos. Por lo tanto, las ranuras de la mesa de proceso deben denominarse Recursos terminados.
¿Qué es Deadlock?
Una fecha límite es una situación que ocurre en un sistema operativo cuando cualquier proceso entra en un estado de espera porque otro proceso de espera requiere la capacidad requerida. El interbloqueo es un problema común en el multiprocesamiento donde algunos procesos comparten un tipo específico de recurso que es mutuamente excluyente llamado bloqueo suave o software.
Ejemplo de interbloqueo
- El tráfico es un ejemplo de la vida real, que solo va en una dirección.
- Aquí, un puente se considera un recurso.
- Entonces, cuando ocurre un punto muerto, se puede resolver fácilmente si un automóvil admite (Recursos anticipados y retroceso).
- Es posible que sea necesario hacer una copia de seguridad de algunos automóviles en caso de un caso fatal.
- Entonces el hambre es posible.
¿Qué es el hambre?
El hambre es una situación en la que se han bloqueado todos los procesos de baja prioridad y en la que continúan todos los procesos de alta prioridad. En cualquier sistema, las solicitudes de recursos de alta o baja prioridad continúan ocurriendo de forma dinámica. En consecuencia, se necesita alguna política para decidir quién recibirá apoyo y cuándo.
Con algunos algoritmos, es posible que algunos procesos no obtengan el servicio deseado aunque no estén bloqueados. El hambre ocurre cuando los recursos compartidos no están disponibles durante mucho tiempo en varios aspectos.
Ejemplo de hambre:
Por ejemplo, un objeto ofrece un método de sincronización que probablemente tarde mucho en volver. Si un subproceso utiliza este método con frecuencia, se bloquearán otros subprocesos que a menudo requieren acceso sincronizado al mismo objeto.
Diferencia entre Deadlock, Starvation y Livelock
- Una fecha límite es una situación que ocurre en un sistema operativo cuando cualquier proceso entra en un estado de espera porque el recurso requerido está retenido por otro proceso en espera.
- Por el contrario, la animación es casi como un punto muerto, excepto que los estados de los procesos involucrados en la animación viva cambian constantemente entre sí, sin ningún progreso en ella.
- Así que Livelock es un caso único de escasez de recursos.
Resumen:
- Definición: Livelock es una situación en la que se deniega repetidamente una solicitud de bloqueo exclusivo, ya que muchos bloqueos compartidos superpuestos siguen interfiriendo entre sí.
- Livelock ocurre cuando el número total de procesos permitidos en un sistema particular debe ser definido por el número total de entradas en la tabla de procesos.
- Una fecha límite es una situación que ocurre en un sistema operativo cuando cualquier proceso entra en un estado de espera porque otro proceso de espera requiere la capacidad requerida.
- El tráfico es un ejemplo de la vida real, que solo va en una dirección.
- Un ejemplo de Livelock son dos personas que se encuentran cara a cara en un pasillo, y ambos se hacen a un lado para dejar pasar al otro.
- El hambre es una situación en la que se han bloqueado todos los procesos de baja prioridad y en la que continúan todos los procesos de alta prioridad.