Protocolo de herencia de prioridad (PIP) en sincronización

Requisito previo: la introducción del
Protocolo de herencia de prioridad de sincronización de procesos (PIP) es una técnica que se utiliza para compartir recursos críticos entre diferentes tareas. Esto permite compartir recursos críticos entre diferentes sin que se produzcan inversiones de prioridad ilimitadas.

Concepto básico de PIP:
el concepto básico de PIP es que cuando una tarea pasa por una inversión de prioridad, la prioridad de la tarea de menor prioridad que tiene el recurso crítico aumenta mediante el mecanismo de herencia de prioridad. Permite que esta tarea use el recurso crítico lo antes posible sin pasar por la preferencia. Evita la inversión de prioridad ilimitada.

Trabajo de PIP:

  • Cuando varias tareas están esperando el mismo recurso crítico, la tarea que actualmente contiene este recurso crítico tiene la prioridad más alta entre todas las tareas que están esperando el mismo recurso crítico.
  • Ahora, después de que la tarea de menor prioridad que tiene el recurso crítico recibe la prioridad más alta, las tareas de prioridad intermedia no pueden adelantarse a esta tarea. Esto ayuda a evitar la inversión de prioridad ilimitada.
  • Cuando la tarea que tiene la prioridad más alta entre todas las tareas finaliza el trabajo y libera el recurso crítico, vuelve a su valor de prioridad original (que puede ser menor o igual).
  • Si una tarea contiene varios recursos críticos, después de liberar un recurso crítico no puede volver a su valor de prioridad original. En este caso, hereda la prioridad más alta entre todas las tareas que esperan el mismo recurso crítico.
If the critical resource is free then
       allocate the resource
If the critical resource is held by higher priority task then
       wait for the resource
If the critical resource is held by lower priority task
     {    
       lower priority task is provided the highest priority
       other tasks wait for the resource
     } 

Ventajas de PIP:
el protocolo de herencia de prioridad tiene las siguientes ventajas:

  • Permite que las diferentes tareas prioritarias compartan los recursos críticos.
  • La ventaja más destacada con Priority Inheritance Protocol es que evita la inversión de prioridad ilimitada.

Desventajas de PIP:
Priority Inheritance Protocol tiene dos problemas principales que pueden ocurrir:

  • Punto muerto:
    existe la posibilidad de un punto muerto en el protocolo de herencia de prioridad.

    Por ejemplo, hay dos tareas T 1 y T 2 . Supongamos que T 1 tiene mayor prioridad que T 2 . T 2 comienza a ejecutarse primero y contiene el recurso crítico CR 2 .

    Después de eso, llega T 1 y se adelanta a T 2 . T 1 tiene el recurso crítico CR 1 y también trata de tener CR 2 que está en manos de T 2 . Ahora T 1 bloquea y T 2 hereda la prioridad de T 1 según PIP. T 2 inicia la ejecución y ahora T 2 intenta mantener CR 1 que está en manos de T 1 .

    Por lo tanto, tanto T 1 como T 2 están bloqueados.

  • Bloqueo de string:
    cuando una tarea pasa por una inversión de prioridad cada vez que necesita un recurso, este proceso se denomina bloqueo de string.

    Por ejemplo, hay dos tareas T 1 y T 2 . Supongamos que T 1 tiene mayor prioridad que T 2 . T 2 contiene el recurso crítico CR 1 y CR 2 . T 1 llega y solicita CR 1 . T 2 sufre la inversión de prioridad según PIP.

    Ahora, T 1 solicita CR 2 , de nuevo T 2 va por inversión de prioridad según PIP.

    Por lo tanto, la inversión de prioridad múltiple para mantener el recurso crítico conduce al bloqueo de la string.

Publicación traducida automáticamente

Artículo escrito por pp_pankaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *