Diferencia clave: el punto muerto se refiere a la situación cuando los procesos se atascan en una circular esperando los recursos. Por otro lado, la inanición ocurre cuando un proceso espera un recurso indefinidamente. El punto muerto implica la inanición, pero la inanición no implica un punto muerto.
Un ejemplo simple de ello es un sistema con dos unidades de cinta, y dos procesos, cada uno, ocupa una unidad de cinta y esperan la otra como requisito para continuar.
Es importante mencionar que la situación del punto muerto se produce si estas cuatro condiciones se cumplen todas simultáneamente:
- Exclusión mutua: un recurso solo puede ser utilizado por un proceso a la vez
- Mantener y esperar: un proceso que ocupa al menos un recurso necesita adquirir un recurso adicional ocupado por algún otro proceso y, por lo tanto, este proceso está esperando a que se libere ese recurso.
- Sin preferencia: el recurso se libera solo por el proceso que lo ha ocupado, una vez completada su tarea.
- Espera circular: todos los procesos en los conjuntos están a la espera de un recurso mantenido por otros procesos, que incluye incluso el último proceso en el conjunto.
Ocurre a medida que un proceso de peor prioridad nunca recibe el recurso debido a un flujo constante de procesos de mayor prioridad que él y, por lo tanto, el proceso podría tener que esperar para siempre. La solución para lidiar con la inanición es asegurarse de que un administrador independiente debe administrar las asignaciones de recursos, asegurándose de que cada proceso obtenga el recurso en algún momento. Las selecciones aleatorias y no controladas o la competencia deben evitarse para evitar la inanición. El punto muerto implica la inanición, pero el hambre no implica el punto muerto.
Por lo tanto, el punto muerto y la inanición difieren entre sí. El interbloqueo se produce cuando ninguno de los procesos del conjunto puede avanzar debido a la ocupación de los recursos requeridos por algún otro proceso. Por otro lado, la inanición ocurre cuando un proceso espera un período de tiempo indefinido para obtener el recurso que requiere.
Comparación entre Deadlock y Starvation:
Punto muerto | Inanición | |
Definición | El interbloqueo se produce cuando ninguno de los procesos en el conjunto puede avanzar debido a la ocupación de los recursos requeridos por algún otro proceso | La inanición ocurre cuando un proceso espera un período de tiempo indefinido para obtener el recurso que requiere. |
Otro nombre | Espera circular | Cerradura viva |
Surgiendo condiciones | Estas cuatro condiciones surgen simultáneamente: exclusión mutua, espera y espera, prevención y ingenio circular | Gestión incontrolada de recursos. Las prioridades del proceso se aplican estrictamente Escasez de recursos |
Técnicas de prevención / prevención |
|
|
Progreso | Ningún proceso puede avanzar | Aparte del proceso víctima, otros procesos pueden progresar o continuar. |
Finalizando | Requiere intervención externa | Puede o no requerir intervención externa. |