Sei sulla pagina 1di 3

Planificadores de Sistemas de Tiempo Real

Pablo Maiuto

Ingeniería de software III. Universidad Nacional de La Plata, Facultad de Informática


La Plata Provincia de Bs As, Argentina
pmaiuto@yahoo.com.ar

Abstract. En este trabajo se realiza el análisis de diversos planificadores de


Sistemas Operativos de tiempo Real. Mediante la herramienta Cheddar se
ejecutaron un conjunto de simulaciones a través de las cuales se pudo evaluar a
cada uno de los planificadores presentados.

Introducción

Los sistemas de tiempo real son sistemas de computación que interaccionan


repetidamente con su entorno físico y responde a los estímulos que recibe del mismo
dentro de un plazo determinado. Para que el funcionamiento sea correcto no basta con
que las acciones sean correctas, sino que tiene que ejecutarse dentro del intervalo de
tiempo especificado. Por esta razón el planificador del Sistema Operativo de Tiempo
Real es el principal responsable de cumplir con la ejecución de las acciones dentro del
tiempo especificado

Algunos conceptos básicos a tener en cuenta antes de describir un conjunto de


planificadores de Sistemas de Tiempo Real son:

Hiperperiodo

Es el mínimo común múltiplo de los periodos de todas las tareas.


El valor del hiperperiodo es importante porque a partir de este valor el sistema se
repite. Por tanto, si se determina que un sistema es panificable en la duración de un
hiperperiodo, lo será también durante toda la vida del sistema

Factor de Utilización

Pagina 512 libro

………………………………………………………………………………………
………………………………………………….
[Escribir texto]

Planificadores

El procedimiento que conduce el orden en que se ejecución de las tareas se llama


política de planificación. Se entiende por planificación a una asignación concreta de
trabajos a procesadores en unos intervalos de tiempo determinados.

Uno de los componentes principales de una política de planificación es el


Planificador.
El modulo que Implementa el algoritmo que decide que trabajos ejecuta cada
procesador y en qué orden se llama planificador.

Una planificación válida es una planificación posible si cada trabajo finaliza antes
de su límite temporal, es decir, si se cumplen todas las restricciones temporales.
De la misma forma, diremos que un conjunto de tareas es panificable de acuerdo
con un algoritmo de planificación si cuando utiliza este algoritmo el planificador
siempre produce planificaciones posibles.

La forma que tenemos de medir el rendimiento de un algoritmo de planificación en


las aplicaciones de tiempo real es por su habilidad de encontrar planificaciones
posibles en una determinada aplicación cuando estas existen.
Así, diremos que un algoritmo de planificación es óptimo si utilizando este
algoritmo el planificador siempre produce planificaciones posibles cuando existen en
el conjunto de trabajos dados.
Y a la inversa, si un planificador óptimo falla al encontrar una planificación
posible, entonces se puede concluir que el conjunto de tareas no puede ser planificada
con ningún otro algoritmo de planificación.

Puede ocurrir que un planificador no consiga encontrar una planificación posible


para un conjunto de tareas. Tal vez porque esta no exista.
En algunas situaciones puede ser aceptable que para algunos procesos (opcionales)
no se cumplan sus restricciones temporales. Entonces habrá trabajos que finalizarán
fuera de plazo, o también es posible que algunos trabajos no lleguen a ejecutarse.
En este caso, un planificador puede elegir entre minimizar la tardanza de los
trabajos que se ejecutan fuera de plazo, o minimizar el número de tareas que no se
ejecutan para que las que lo hacen si cumplan los plazos. (ver si va este parrafo)

Tipos de planificadores.

Dibujo tipo planificadores

En los planificadores cíclicos se coloca “a mano” el orden de jecución de los


trabajos durante un hiperperiodo fuera del tiempo de ejecución. Cuando esté en
funcionamiento el sistema, el software que ejecuta el planificador se encargará de
activar las tareas según el plan que ya ha sido definido previamente.

En los planificadores por prioridades se asigna una prioridad a cada tarea en


base a su importancia. En tiempo de ejecución se ejecutará siempre la tarea de más
prioridad que este activa en cada instante. En este caso es el planificador el que decide
en cada instante que tarea debe ejecutarse.

La asignación de prioridades puede ser:

Estática. La prioridad de cada tarea permanece constante durante toda la vida


del sistema.(poner definición del libro)
Dinámica. Las prioridades de las tareas varían con el tiempo según unas
determinadas reglas. (poner definición del libro)

Entre los planificadores con prioridades estáticas, los más importantes son el Rate
Monotonic (RM) y el Deadline Monotonic (DM).
Los planificadores con prioridades dinámicas más importantes son el Earliest
Deadline First (EDF) y el Least Laxity First (LLF).

Hacer dibujo de planificadores


Ver apunte planificadorestienebuenateoria (sacar parecido la explicación de
planificadores y sumarle otras, usar las referencias)

Potrebbero piacerti anche