Cap 10 STR
Cap 10 STR
Cap 10 STR
El modelo de proceso simple es un modelo sencillo que nos servirá para predecir el
comportamiento en el peor caso. Deben cumplirse los siguientes supuestos:
2. ¿En qué consiste el enfoque de ejecución cíclico? ¿Cuáles son sus características e
inconvenientes?
El llamado enfoque de ejecución cíclico puede resumirse como una tabla de llamadas a
procedimientos, cada uno de los cuales representa una parte del código de un proceso.
Esta tabla es conocida como ciclo principal y usualmente consta de varios ciclos
secundarios. Los ciclos secundarios tienen una duración fija, de forma que, por ejemplo,
cinco ciclos secundarios de 20 ms forman un ciclo principal de 100 ms. Durante la
ejecución, una interrupción de reloj, que se produce con el mismo periodo que la
duración de los ciclos secundarios (20 ms en este ejemplo), permite que el planificador
pase de uno a otro de los cuatro ciclos secundarios.
Imaginemos ahora, siguiendo con el ejemplo anterior, que tenemos cuatro procesos a
los que un único procesador ha de atender utilizando el enfoque de ejecución cíclico
con cinco ciclos secundarios de 20 ms cada uno. Supongamos, además, que los cinco
procesos presentan las siguientes características:
• El proceso 1 tiene un periodo T de 20 ms y un tiempo de ejecución de 10 ms.
• El proceso 2 tiene un periodo T de 20 ms y un tiempo de ejecución de 5 ms.
• El proceso 3 tiene un periodo T de 40 ms y un tiempo de ejecución de 4 ms.
• El proceso 4 tiene un periodo T de 80 ms y un tiempo de ejecución de 2 ms.
Con los supuestos anteriores, la Figura 10.1 muestra una posible realización de un
enfoque de ejecución cíclico, ilustrando así el trabajo que realizaría un procesador en
cada ciclo secundario de 20 ms. Las zonas grises indican tiempos libre para el
procesador, por no tener que atender éste a ninguno de los procesos.
La planificación de primero el tiempo límite más temprano (EDF) se basa en dar prioridad
de ejecución a aquellos procesos cuyo tiempo límite, D, está más cercano. Podemos
distinguir entre dos tiempos límite para un proceso:
Test aplicable a FPS sólo en su versión apropiativa: Este test nos dice que, si se cumple
la siguiente condición, los N procesos involucrados completarán su ejecución dentro de
sus tiempos límite:
Es aplicable principalmente para FPS. Si los tiempos de respuesta de todos los procesos
son inferiores a sus respectivos tiempos límite, entonces el conjunto de procesos es
planificable. Como primera aproximación podríamos decir que el tiempo de respuesta en
el peor caso (R) será igual a su tiempo de ejecución (C). Sin embargo, esto, en todo
caso, podría ser cierto sólo para el proceso de mayor prioridad. Los demás procesos
sufrirían cierta interferencia debido a la existencia de procesos de mayor prioridad que
se “colarían” en la ejecución. Para un proceso i dado, que tiene un tiempo máximo de
interferencia I, su tiempo de respuesta sería entonces:
6. Explique cómo afectan las interacciones y bloqueos entre procesos al test de
planificabilidad anterior.
OCPP:
Todos los procesos tienen asignados una prioridad estática por defecto;
Todos los recursos tienen definidos un valor cota estático igual a la prioridad
máxima de los procesos que lo están utilizando.
Todos los procesos tienen asignados una prioridad estática por defecto;
Todos los recursos tienen definidos un valor cota estático, que es igual a la
prioridad máxima de los procesos que lo están utilizando.
Comparación:
ICPP supone más cambios de prioridad que OCPP debido a que, con ICPP éstos
se producen con cada nueva utilización de recurso, mientras que con OCPP la
prioridad sólo se modifica si ocurren bloqueos.
8. ¿En qué consiste el modelo de proceso extensible? ¿Cómo afecta éste al test de
planificabilidad anterior?
(muy resumido)
Se puede ampliar el modelo de proceso simple con cinco generalizaciones adicionales.
(sólo consideraremos la planificación de prioridad estática o FPS.
Planificación cooperativa
En el modelo simple se supone que todos los procesos son periódicos y que este
periodo es constante, pero esto no es siempre una suposición realista. La fluctuación
(jitter) es el valor máximo de la variación en la activación de un proceso y suele
representarse mediante la letra J. En situaciones donde un proceso también sufra
fluctuaciones en su activación (algo que sólo ocurre cuando una implementación
particular impone restricciones en la granularidad del temporizador del sistema), se tiene
que medir el tiempo de respuesta relativo al tiempo de respuesta real. Para calcular este
tiempo de respuesta relativo basta con sumar Ji (la fluctuación del proceso o Jitter) a Ri
(el último instante posible en el que acaba el proceso)
Tolerancia a fallos
La tolerancia a fallos mediante recuperación de errores implica siempre una cierta
cantidad de cálculos. (Libro p.214)
Introducción de desplazamientos
Existen conjuntos de procesos para los cuales es interesante considerar que los tiempos
de activación no ocurren en el mismo instante. Digamos, pues, que existe un
desplazamiento temporal entre la activación de unos y otros.
El problema es que los conjuntos de procesos que presentan desplazamientos
en sus activaciones no son fáciles de analizar pero es posible realizar este análisis, ya
que puede resultar sencillo dar a un proceso un desplazamiento dado de (T/2) y analizar
el sistema resultante usando un mecanismo de transformación que elimine el
desplazamiento.
Eliminado el desplazamiento, dicho proceso presenta dos propiedades importantes:
Si es planificable (lo que ocurre cuando el proceso artificial comparte un instante crítico
con todos los demás procesos), los dos procesos reales reemplazados cumplirán sus
tiempos límite cuando a uno de ellos se le asigne la mitad del periodo como
desplazamiento.
Si todos los procesos de menor prioridad que el proceso artificial son planificables
cuando sufren la interferencia de éste, seguirán siendo planificables cuando el proceso
artificial sea reemplazado nuevamente por los dos procesos reales a los que sustituía
(uno de ellos, con el desplazamiento).
Asignación de prioridades
Estático. Los valores serán estáticos cuando los procesos siempre los mantengan,
independientemente de cuándo se activen éstos.
Dinámico. Los valores serán dinámicos cuando éstos cambien para los procesos
en el momento en el que se activan, pero no mientras se ejecutan.
Adaptativo. En este último caso, los valores de los procesos cambian durante la
propia ejecución del proceso.
10. Mencione y describa las principales clases de Java para tiempo real, así como sus
métodos más importantes.
En Java para tiempo real, podemos definir objetos planificables. Para ello, dicho objeto
debe soportar la interfaz Schedulable . Las clases AsyncEventHandler,
BoundAsyncEventHandler, NoHeapRealTimeThread y RealtimeThread, incluyen el soporte
de esta interfaz. Un objeto de este tipo ofrecerá unos ciertos parámetros de
planificación. La clase SchedulingParameters y sus subclases muestran estos parámetros
de planificación;