stringtranslate.com

Herencia prioritaria

En computación en tiempo real , la herencia de prioridad es un método para eliminar la inversión de prioridad ilimitada . Mediante este método de programación , un algoritmo de programación de procesos aumenta la prioridad de un proceso (A) a la prioridad máxima de cualquier otro proceso que esté esperando cualquier recurso en el que A tenga un bloqueo de recursos (si es mayor que la prioridad original de A).

La idea básica del protocolo de herencia de prioridades es que cuando un trabajo bloquea uno o más trabajos de alta prioridad, ignora su asignación de prioridad original y ejecuta su sección crítica en un nivel de prioridad elevado. Después de ejecutar su sección crítica y liberar sus bloqueos, el proceso vuelve a su nivel de prioridad original.

Ejemplo

Consideremos tres trabajos:

Supongamos que tanto H como L necesitan algún recurso compartido. Si L adquiere este recurso compartido (entrando en una sección crítica) y H posteriormente lo necesita, H se bloqueará hasta que L lo libere (abandonando su sección crítica). Sin la herencia de prioridad, el proceso M podría adelantarse al proceso L durante la sección crítica y retrasar su finalización, lo que en efecto haría que el proceso M de menor prioridad adelantara indirectamente al proceso H de alta prioridad. Este es un error de inversión de prioridad .

Con la herencia de prioridad, L ejecutará su sección crítica con la prioridad alta de H siempre que H esté bloqueado en el recurso compartido. Como resultado, M no podrá adelantarse a L y quedará bloqueado. Es decir, el trabajo de mayor prioridad M debe esperar a que se ejecute la sección crítica del trabajo de menor prioridad L, porque L ha heredado la prioridad de H. Cuando L sale de su sección crítica, recupera su prioridad original (baja) y despierta a H (que estaba bloqueado por L). H, que tiene una prioridad alta, adelanta a L y se ejecuta hasta completarse. Esto permite que M y L se reanuden en sucesión y se ejecuten hasta completarse sin inversión de prioridad.

Sistemas operativos que admiten herencia de prioridad

Véase también

Referencias

  1. ^ "ERIKA Enterprise" . Consultado el 3 de enero de 2024 .
  2. ^ "Subsistema RT-mutex con soporte PI" . Consultado el 27 de noviembre de 2021 .
  3. ^ "Servicios de kernel y middleware en tiempo real centrados en recursos" (PDF) . p. 3. Consultado el 1 de enero de 2024 .

Enlaces externos