Sistema operativo FAQS

Lo que es un problema de inversión de prioridades?
class=»MsoNormal»> Antes de discutir sobre el problema de la inversión de prioridades, me gustaría enfatizar cuando ocurre este problema en el sistema operativo en tiempo real.
class=»MsoNormal»>
Un sistema de tiempo real que se ejecuta con prioridad basada planificador, si dos tareas comparten los mismos recursos (como buffer de memoria), obviamente, uno de la tarea tiene una prioridad alta. La tarea de mayor prioridad espera que se ejecute tan pronto como esté listo.

class=»MsoNormal»>
Sin embargo, si la tarea de menor prioridad está utilizando sus recursos comunes cuando la tarea de mayor prioridad está lista para funcionar, la tarea de mayor prioridad debe esperar a que el menor -prioridad de la tarea de terminar con ella. Nosotros decimos que la tarea de mayor prioridad se pendiente en el recurso.

class=»MsoNormal»>
class=»MsoNormal»> El verdadero problema surge en tiempo de ejecución, cuando una tarea de prioridad media se adelanta una tarea de menor prioridad utilizando un recurso compartido en el que la mayor prioridad tarea está pendiente
class=»MsoNormal»>
Si la tarea de mayor prioridad es otra manera listo para correr, sino una tarea de prioridad media se está ejecutando actualmente en su lugar, se dice que una inversión de prioridad que se produzca.
src=»http://img.cmpnet.com/embedded/gifs/2002/0204/0204bcfig1.gif»

de baja prioridad Tarea L y de alta prioridad Tarea H compartir un recurso.

Poco después de Tarea L tiene el recurso, Tarea H se prepara para correr.
Sin embargo, el Grupo de H debe esperar Tarea L para acabar con el recurso, por lo que pende. Antes de Tarea L termina con el recurso, Tarea M se prepara para correr, adelantándose Tarea L.
Mientras Tarea M (y tal vez tareas intermedio de prioridad adicionales) se ejecuta,
Grupo de H, la tarea de más alta prioridad en el sistema, se mantiene en un estado pendiente .
¿Cómo resolver este problema?
La solución es la herencia de prioridad
class=»MsoNormal»> La primera se llama herencia de prioridad . Esta técnica obliga a que una tarea de menor prioridad heredan la prioridad de cualquier tarea de mayor prioridad a la espera de un recurso que comparten.
class=»MsoNormal»> Este cambio de prioridades debería tener lugar tan pronto como la tarea de alta prioridad empieza a pend, sino que debe terminar cuando se libera el recurso. Esto requiere de la ayuda del sistema operativo.

Deja un comentario

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