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.
Enlaces externos
- " La herencia de prioridad: la verdadera historia " de Doug Locke
- " Contra la herencia prioritaria " de Victor Yodaiken
- " Implementación del control de concurrencia con herencia de prioridad en CORBA en tiempo real " por Steven Wohlever , Victor Fay Wolfe y Russell Johnston
- " Bloques de exclusión mutua con herencia de prioridad para sistemas multiprocesador en tiempo real " por Cai-Dong Wang , Hiroaki Takada y Ken Sakamura
- " Soporte de hardware para la herencia de prioridad " por Bilge ES Akgul , Vincent J. Mooney , Henrik Thane y Pramote Kuacharoen
- Computación en tiempo real
- Control de concurrencia
- esbozos de informática