next up previous
Siguiente: Prioridad al proceso más Arriba: Sistemas de tiempo real Previo: Ejemplo

Planificación por prioridades

El esquema de prioridades se usa en muchos sistemas de tiempo real (por ejemplo, RT-Linux está diseñado como planificador con prioridades, como veremos). En general, un planificador por prioridades es sencillo de programar (de hecho, los sistemas operativos normales usan planificadores de prioridades, aunque no están orientados al tiempo real y por lo tanto no garantizan el cumplimiento de restricciones temporales en los procesos).

Los planificadores por prioridades pueden ser expulsivos o no. En el primer caso, si un proceso de mayor prioridad pasa a estar listo para ejecutarse mientras se ejecuta otro de menor prioridad, el último es detenido para iniciar el primero. En el segundo caso, esto no sucede, y se espera siempre a que el proceso actual termine para comenzar a ejecutar otro.

La prioridad de los procesos planificados puede ser fija o variable. En el primer caso se asigna una prioridad al comienzo de la tarea, y en el segundo es posible cambiarla durante su vida. Por ejemplo, en sistemas Unix es común hacer descender la prioridad de los procesos que más frecuentemente usan la CPU para tratar de mejorar la equidad.

En los sistemas de tiempo real las prioridades las asigna el usuario a partir de las especificaciones temporales de los procesos. Existen dos formas de asignar prioridades fijas: por frecuencia de ejecución o por urgencia.



 
next up previous
Siguiente: Prioridad al proceso más Arriba: Sistemas de tiempo real Previo: Ejemplo
Juan Jose Amor
1998-07-29