Articulo de referencia

Herencia de prioridad

En la 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 ...

En la 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 planificación de procesos aumenta la prioridad de un proceso (A) hasta la prioridad máxima de cualquier otro proceso que esté esperando un recurso sobre el cual A tenga un bloqueo (si esta prioridad es mayor que la prioridad original de A).

La idea básica del protocolo de herencia de prioridad es que, cuando un proceso bloquea uno o más procesos de alta prioridad, ignora su prioridad original y ejecuta su sección crítica con un nivel de prioridad superior. Tras ejecutar dicha sección y liberar los bloqueos, el proceso vuelve a su nivel de prioridad original.

Ejemplo

Consideremos tres trabajos:

Supongamos que tanto H como L requieren un recurso compartido. Si L adquiere este recurso (entrando en una sección crítica) y H lo requiere posteriormente, H se bloqueará hasta que L lo libere (saliendo de su sección crítica). Sin herencia de prioridad, el proceso M podría interrumpir al proceso L durante la sección crítica y retrasar su finalización, lo que provocaría que el proceso M, de menor prioridad, interrumpiera indirectamente al proceso H, de mayor prioridad. Esto constituye un error de inversión de prioridad .

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

Sistemas operativos que admiten herencia de prioridad

Véase también

Referencias

  • Lui Sha; Ragunathan Rajkumar y John P. Lehoczky (septiembre de 1990). «Protocolos de herencia de prioridad: un enfoque para la sincronización en tiempo real» (PDF) . IEEE Transactions on Computers . 39 (9): 1175–1185 . doi : 10.1109/12.57058 . Archivado del original (PDF) el 19 de abril de 2022.
  1. "Inversión de prioridad" . Microsoft . Consultado el 30 de diciembre de 2025 .
  2. "Subsistema RT-mutex con soporte PI" . Consultado el 27/11/2021 .
  3. "Servicios de kernel y middleware en tiempo real centrados en recursos" (PDF) . pág. 3. Consultado el 1 de enero de 2024 .