¿Qué es Deadlock?
Punto muerto es un caso que ocurre en OS cuando cualquier proceso entra en un estado de espera porque otro proceso de espera requiere la capacidad requerida. El bloqueo es un problema común en el campo del multiprocesamiento, donde algunos procesos comparten un tipo específico de recurso que es mutuamente excluyente llamado bloqueo suave o software.
En este tutorial sobre el sistema operativo, aprenderá:
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 se produce un punto muerto, se puede resolver fácilmente si un automóvil retrocede (los recursos se adelantan y retroceden).
- Es posible que algunos autos necesiten ser respaldados en caso de un caso fatal.
- Entonces el hambre es posible.
¿Qué es una estancia circular?
Un proceso está esperando el recurso, que está retenido por el segundo proceso, que también está esperando el recurso retenido por el tercer proceso, etc. Esto continuará hasta que el proceso final espere un recurso retenido por el primer proceso. Esto crea una cadena circular.
Por ejemplo, el recurso B se asigna al proceso A cuando solicita el recurso A. De manera similar, el recurso A se asigna al proceso B y solicita el recurso B. Esto crea un bucle de espera circular.
Un ejemplo de estancia circular
Por ejemplo, una computadora tiene tres unidades USB y tres procesos. Los tres procesos pueden contener una de las unidades USB. Entonces, cuando todos los procesos soliciten otra unidad, los tres procesos tendrán el estado final, ya que cada proceso estará esperando que se libere la unidad USB, que está actualmente en uso. Esto resultará en una cadena circular.
Detección de interbloqueo
El planificador de recursos puede detectar incidentes muertos. Un programador de recursos ayuda a un sistema operativo a realizar un seguimiento de todos los recursos asignados a varios procesos. Entonces, cuando se encuentra una fecha límite, se puede resolver dando los siguientes métodos:
Prohibición de interbloqueo:
Es importante evitar una fecha límite antes de que pueda suceder. El sistema verifica cada transacción antes de que se realice para asegurarse de que no esté a cargo de los casos de bloqueo. De modo que incluso un pequeño cambio muerto ocurriría que una posible operación futura de Deadlock no permitiría que se realizara el proceso.
Es un conjunto de métodos para garantizar que uno no pueda cumplir con una de las condiciones.
Sin acción preventiva:
Sin preferencia: un recurso solo puede liberarse voluntariamente a través del proceso que lo mantiene después de que ese proceso haya completado su tarea.
- Si un proceso con varios recursos requiere otro recurso que no se puede asignar inmediatamente, se liberarán todos los recursos.
- Los recursos priorizados requieren una lista de recursos para un proceso pendiente.
- El proceso solo se reiniciará si puede recuperar su capacidad anterior y nueva.
- Si el proceso solicita algún otro recurso, cuando está disponible, se le ha dado al proceso solicitado.
- Si está retenido por otro proceso que está esperando otro recurso, lo liberamos y se lo damos al proceso solicitado.
Exclusión mutua:
La exclusión mutua es una forma completa de Mutex. Es un tipo especial de semáforo binario que se utiliza para controlar el acceso al recurso compartido. Incluye un mecanismo de herencia de prioridad para evitar problemas de inversión de prioridad extendidos. Permite mantener las tareas actuales de alta prioridad en la posición bloqueada durante el mayor tiempo posible.
Los recursos compartidos, como los archivos de solo lectura, no dan lugar a interbloqueos, sino que requieren acceso exclusivo a través de un único proceso a los recursos, como impresoras y cintas.
Espera y espera:
En esta condición, los procesos deben dejar de mantener uno o varios recursos y esperar al mismo tiempo uno o más.
Manténgase circular:
Ejecuta un comando completo de todos los tipos de recursos. Mantenerse circular también requiere que cada proceso requiera recursos en orden creciente de cálculo.
Evite el punto muerto
Es mejor evitar el cierre en lugar de tomar medidas después de que se haya producido el interbloqueo. Necesita información adicional, como cómo se deben utilizar los recursos. La evasión de fechas límite es el modelo más simple y útil en el que cada proceso declara el número máximo de recursos de cada tipo que pueden ser necesarios.
Algoritmos de evitación
El algoritmo de evitación de bloqueo le ayuda a evaluar dinámicamente el estado de asignación de recursos para que nunca se produzca un escenario de permanencia circular.
Un ejemplo de un tipo de recurso.
- Utilice un gráfico de asignación de recursos
- Las bicicletas son esenciales, lo que es adecuado para Deadlock.
Multiplica escenarios de tipo de recurso.
- Las bicicletas son esenciales pero nunca son suficientes para Deadlock.
- Se utiliza el algoritmo bancario.
Diferencia entre hambre y punto muerto
Aquí hay algunas diferencias importantes entre Deadlock y Hunger:
Punto muerto | Hambriento |
El estado de bloqueo ocurre cuando uno de los procesos ha sido bloqueado. | El hambre es una situación en la que se han bloqueado todos los procesos de baja prioridad y en la que funcionan los de alta prioridad. |
El interbloqueo es un proceso infinito. | El hambre es un proceso largo sin esperas, pero no es un proceso interminable. |
Cada Deadlock siempre tiene hambre. | No es necesario acabar con todo el hambre. |
Entonces se produce un punto muerto. Exclusión mutua, espera y espera. Aquí, la preferencia no ocurre y permanece circular al mismo tiempo. | Ocurre debido a la priorización incontrolada y la gestión de recursos. |
Ventajas de Deadlock
Aquí están los pros y los contras de usar el método Deadlock
- Este escenario funciona bien para procesos que solo hacen que una acción estalle
- No se requiere preferencia para Deadlock.
- Un método útil cuando se aplica a recursos cuyo estado se puede guardar y restaurar fácilmente
- Se puede hacer cumplir mediante comprobaciones de tiempo compiladas.
- No se requiere tiempo electrónico para ejecutarse ya que el diseño del sistema resuelve el problema
Desventajas del método Deadlock
Aquí, hay desventajas / desventajas de usar el método de interbloqueo
- Retraso en el inicio del proceso
- Los procesos deben ser conscientes de los futuros requisitos de recursos.
- Precede más a menudo de lo necesario
- Rechazo de solicitudes de recursos incrementales
- Pérdidas de preferencia subyacentes.
Resumen:
- Definición de punto muerto: es un caso que ocurre en el sistema operativo cuando cualquier proceso entra en un estado de espera porque otro proceso de espera requiere el recurso requerido
- La espera circular ocurre cuando un proceso está esperando el recurso, que es retenido por el segundo proceso, que también está esperando el recurso retenido por el tercer proceso, etc.
- El planificador de recursos puede detectar incidentes muertos.
- Es importante evitar una fecha límite antes de que pueda suceder.
- Un recurso solo puede liberarse voluntariamente a través del proceso que lo mantiene después de que ese proceso haya completado su tarea.
- La exclusión mutua es una forma completa de Mutex. Es un tipo especial de semáforo binario que se utiliza para controlar el acceso al recurso compartido.
- Esperar y esperar es una condición en la que se debe evitar que los procesos retengan uno o varios recursos y esperen al mismo tiempo uno o más.
- La evitación de plazos es el modelo más simple y útil en el que cada proceso declara el número máximo de recursos de cada tipo que pueden ser necesarios.
- El algoritmo de evitación de bloqueo le ayuda a evaluar dinámicamente el estado de asignación de recursos para que nunca se produzca un escenario de permanencia circular.
- El punto muerto es un proceso infinito, pero el hambre es un proceso largo sin esperar pero no es un proceso infinito.