Diferencia entre revisiones de «Planificación de procesos de tiempo real»
De Wiki de Sistemas Operativos
(→Clasificación: erratas) |
(→Métodos de planificación: ejercicio de ejemplo (que lo habían puesto en la sección de ejercicios)) |
||
| Línea 32: | Línea 32: | ||
*Planificación dinámica con un mejor resultado: Las actividades fuera de plazo se abortan. Es muy similar a la anterior, la diferencia mas notable es que en la anterior existe un análisis previo aceptando actividades aperiodicas y en ésta no existe tal analisis. | *Planificación dinámica con un mejor resultado: Las actividades fuera de plazo se abortan. Es muy similar a la anterior, la diferencia mas notable es que en la anterior existe un análisis previo aceptando actividades aperiodicas y en ésta no existe tal analisis. | ||
| + | |||
| + | El siguiente ejemplo emplea planificación apropiativa por prioridades estática con actividades periódicas y aperiódicas: | ||
| + | |||
| + | ____|__PA__|_PB__|_PC__|_PD___| | ||
| + | Datos del _H0_|__0___|_1___|_2___|_3*n__| | ||
| + | problema _t__|__2___|_4___|_2___|_1____| | ||
| + | plazo|__3___|_5___|_7___|_3*n+2| | ||
| + | prioridad|__-20_|_0___|_10__|_15___| | ||
| + | (-20 a 19) | ||
| + | UNIX | ||
| + | < = indica el instante de lanzamiento del proceso | ||
| + | > = indica el instante de finalización del proceso | ||
| + | X = se ejecuta el código del planificador | ||
| + | * = el proceso se aborta | ||
| + | |||
| + | | | | | | | | | | | | | | | | | | | | | | | ||
| + | PA <___|___> | | | | | | | | | | | | | | | | | | | ||
| + | PB | < |___|___|___* | | | | | | | | | | | | | | | | ||
| + | PC | | < | | |___|___> | | | | | | | | | | | | | | ||
| + | PD | | | < | * < |___> <___> | <___> | <___> | | | | | ||
| + | Planificador X | X | | X | X | X | | X | | X | | | | | | ||
| + | -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t | ||
| + | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
| + | |||
| + | _____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|P<sub>D1ª</sub>_|P<sub>D2ª</sub>_|_P<sub>D</sub>_| | ||
| + | Cálculos __t__|_2__|_3__|_2__|_1__|_1__|_1__| | ||
| + | de tiempos __T__|_2__|_*__|_4__|_*__|_2__|_1__| | ||
| + | _T/t_|_1__|_*__|_2__|_*__|_1.5|_1__| | ||
| + | | | ||
| + | |_> Indice de penalización | ||
Revisión del 21:41 21 mar 2011
¿Qué es un proceso de tiempo real?
Proceso de tiempo real se denomina a aquella actividad que debe ser realizada en un plazo de tiempo, si la actividad no es realizada en dicho plazo de tiempo carece de sentido realizarla. Ej: Actividades industriales, videoconferencias, etc
Clasificación
Podemos clasificar los procesos de tiempo real de diferentes maneras:
Segun el plazo de tiempo:
- Rígidos(hard-realtime) : se debe realizar en un plazo de tiempo estricto, sino deja de tener sentido. Si el plazo de tiempo para realizarla es superado el proceso se aborta. Ejemplo: Industriales ( sensores, activadores,...).
- Flexibles(soft-realtime) : es deseable que se cumpla el plazo de tiempo. Ej: Videoconferencia.(Mientras más rapido vaya mejor sera la comunicacion , pero si no , nos adaptamos a ella)
- Opcionales : conviene hacerla en el plazo de tiempo, pero sino es posible se puede posponer.
Según la periodicidad:
- Aperiódicas : se deben a sucesos externos que deben ser atendidos. El sistema operativo no sabe, a priori, cuando van a llegar ni el tiempo que va a durar. Ej: Notificaciones de errores, Sensores de emergencia en un coche, Ventiladores para refrigeracion.
- Periódicas : se realizan cada cierto tiempo (actividad repetitiva).A diferencia del anterior el sistema operativo conoce a priori cuando van a llegar y su tiempo de duración Ej: leer una temperatura de un sensor.
Métodos de planificación
Los métodos de planificación a utilizar en SSOO de tiempo real son:
- Planificación apropiativa con prioridad estática: Cada proceso tiene asociado un indice de prioridad y el procesador elige aquel proceso de la lista de preparados con mayor prioridad.
- Planificación de tablas estáticas : se conocen las actividades a realizar y se elabora un plan fijo de ejecución.
- Planificación dinámica: Es muy parecida a la de tablas estaticas , pero tambien admite actividades aperiodicas.
- Planificación dinámica con un mejor resultado: Las actividades fuera de plazo se abortan. Es muy similar a la anterior, la diferencia mas notable es que en la anterior existe un análisis previo aceptando actividades aperiodicas y en ésta no existe tal analisis.
El siguiente ejemplo emplea planificación apropiativa por prioridades estática con actividades periódicas y aperiódicas:
____|__PA__|_PB__|_PC__|_PD___|
Datos del _H0_|__0___|_1___|_2___|_3*n__|
problema _t__|__2___|_4___|_2___|_1____|
plazo|__3___|_5___|_7___|_3*n+2|
prioridad|__-20_|_0___|_10__|_15___|
(-20 a 19)
UNIX
< = indica el instante de lanzamiento del proceso
> = indica el instante de finalización del proceso
X = se ejecuta el código del planificador
* = el proceso se aborta
| | | | | | | | | | | | | | | | | | | | |
PA <___|___> | | | | | | | | | | | | | | | | | |
PB | < |___|___|___* | | | | | | | | | | | | | | |
PC | | < | | |___|___> | | | | | | | | | | | | |
PD | | | < | * < |___> <___> | <___> | <___> | | | |
Planificador X | X | | X | X | X | | X | | X | | | | |
-----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
_____|_PA_|_PB_|_PC_|PD1ª_|PD2ª_|_PD_|
Cálculos __t__|_2__|_3__|_2__|_1__|_1__|_1__|
de tiempos __T__|_2__|_*__|_4__|_*__|_2__|_1__|
_T/t_|_1__|_*__|_2__|_*__|_1.5|_1__|
|
|_> Indice de penalización