Diferencia entre punto muerto y hambre en el sistema operativo

Autor: Laura McKinney
Fecha De Creación: 3 Abril 2021
Fecha De Actualización: 23 Abril 2024
Anonim
[1/2] La super guía del indicador VWAP ❗    ¿Qué es? ¿Cómo se forma? ¿Cómo utilizarlo?
Video: [1/2] La super guía del indicador VWAP ❗ ¿Qué es? ¿Cómo se forma? ¿Cómo utilizarlo?

Contenido


El punto muerto y el hambre son las condiciones en las que los procesos que solicitan un recurso se han retrasado durante mucho tiempo. Aunque el punto muerto y el hambre son diferentes entre sí en muchos aspectos. Punto muerto es una condición en la que no se ejecuta ningún proceso para su ejecución, y cada uno espera los recursos que han sido adquiridos por los otros procesos. Por otro lado, en Inanición, el proceso con altas prioridades utiliza continuamente los recursos que impiden el proceso de baja prioridad para adquirir los recursos. Discutamos algunas diferencias más entre el punto muerto y el hambre con la ayuda del cuadro de comparación que se muestra a continuación.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la compasiónPunto muertoInanición
BásicoEl punto muerto es donde no avanza ningún proceso y se bloquea.El hambre es donde los procesos de baja prioridad se bloquean y el proceso de alta prioridad continúa.
Condición de surgimientoLa ocurrencia de exclusión mutua, espera y espera, sin preferencia y circular espera simultáneamente.Cumplimiento de prioridades, gestión incontrolada de recursos.
Otro nombreEspera circular.Lifelock.
RecursosEn punto muerto, los recursos solicitados son bloqueados por los otros procesos.En el hambre, los recursos solicitados son utilizados continuamente por procesos de alta prioridad.
PrevenciónEvita la exclusión mutua, espera y espera, y espera circular y permite preferencia. Envejecimiento.


Definición de punto muerto

El punto muerto es una situación en la que los diversos procesos en la CPU compiten por el número finito de recursos disponibles dentro de la CPU. Aquí, cada proceso contiene un recurso y espera para adquirir un recurso que está en manos de otro proceso. Todos los procesos esperan recursos de forma circular. En la imagen a continuación, puede ver que el Proceso P1 ha adquirido el recurso R2 solicitado por el proceso P2 y el Proceso P1 está solicitando el recurso R1 que R2 posee nuevamente. Entonces, el proceso P1 y P2 forman un punto muerto.

El punto muerto es un problema común en sistemas operativos multiprocesamiento, sistemas distribuidos y también en sistemas informáticos paralelos. Hay cuatro condiciones que deben ocurrir simultáneamente para aumentar la condición de punto muerto, que son exclusión mutua, retención y espera, sin preferencia y espera circular.


  • Exclusión mutua: Solo un proceso a la vez puede usar un recurso si otro proceso solicita el mismo recurso, tiene que esperar hasta que el proceso que usa el recurso lo libere.
  • Espera y espera: Un proceso debe estar reteniendo un recurso y esperando adquirir otro recurso retenido por otro proceso.
  • Sin preamplificación: El proceso que contiene los recursos no se puede adelantar. El proceso que contiene el recurso debe liberar el recurso voluntariamente cuando haya completado su tarea.
  • Espera circular: El proceso debe esperar recursos de forma circular. Supongamos que tenemos tres procesos {P0, P1, P2}. El P0 debe esperar el recurso que posee P1; P1 debe esperar para adquirir el recurso retenido por el proceso P2, y P2 debe esperar para adquirir el proceso retenido por P0.

Aunque hay algunas aplicaciones que pueden detectar los programas que pueden quedar bloqueados. Pero el sistema operativo nunca es responsable de prevenir los puntos muertos. Es responsabilidad de los programadores diseñar programas libres de puntos muertos. Se puede hacer evitando las condiciones anteriores que son necesarias para que ocurra un punto muerto

Definición de inanición

La inanición se puede definir como cuando una solicitud de proceso para un recurso y ese recurso ha sido utilizado continuamente por otros procesos, entonces el proceso solicitante enfrenta la inanición. En el hambre, un proceso listo para ejecutar espera a que la CPU asigne el recurso. Pero el proceso tiene que esperar indefinidamente ya que los otros procesos bloquean continuamente los recursos solicitados.

El problema de la inanición generalmente ocurre en algoritmo de programación de prioridad. En el algoritmo de programación de prioridad, al proceso con mayor prioridad siempre se le asigna el recurso, evitando que el proceso de menor prioridad obtenga el recurso solicitado.

Envejecimiento puede resolver el problema del hambre. El envejecimiento aumenta gradualmente la prioridad del proceso que ha estado esperando durante mucho tiempo los recursos. El envejecimiento evita que un proceso con baja prioridad espere indefinidamente un recurso.

  1. En un punto muerto, ninguno de los procesos procede a la ejecución, cada proceso se bloquea esperando los recursos adquiridos por el otro proceso. Por otro lado, la inanición es una condición en la que los procesos que poseen mayor prioridad pueden adquirir los recursos continuamente al evitar que los procesos de baja prioridad adquieran recursos, lo que resulta en el bloqueo indefinido de los procesos de baja prioridad.
  2. El punto muerto surge cuando cuatro condiciones Exclusión mutua, espera y espera, sin preferencia y espera circular ocurre simultáneamente Sin embargo, el hambre ocurre cuando el proceso se han hecho cumplir las prioridades mientras se asignan recursos, o hay una gestión de recursos descontrolada en el sistema.
  3. El punto muerto a menudo se llama por el nombre espera circular mientras que el hambre se llama Bloqueo vivido.
  4. En Deadlock, los recursos están bloqueados por el proceso, mientras que, en la inanición, los procesos están siendo utilizados continuamente por procesos con altas prioridades.
  5. El bloqueo puede evitarse evitando las condiciones como exclusión mutua, espera y espera, y espera circular y permitiendo la prevención de los procesos que mantienen recursos durante mucho tiempo. Por otro lado, el hambre puede prevenirse mediante envejecimiento.

Conclusión:

Tanto Deadlock como Starvation retrasan la ejecución del proceso al bloquearlo. Por un lado, el punto muerto puede causar que los procesos se mueran de hambre, y por otro lado, el hambre puede sacar los procesos del punto muerto.