Diferencia entre revisiones de «Planificación de procesos de tiempo real»
De Wiki de Sistemas Operativos
(→Clasificación) |
(→Métodos de planificación: ejemplo) |
||
Línea 32: | Línea 32: | ||
*Planificación dinámica con un mejor resultado: Las actividades fuera de plazo se abortan. | *Planificación dinámica con un mejor resultado: Las actividades fuera de plazo se abortan. | ||
+ | |||
+ | == Ejemplo de planificación en SSOO de tiempo real == | ||
+ | |||
+ | |||
+ | ____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|__P<sub>D</sub>___| | ||
+ | Datos del _H0_|_0__|_1__|_2__|_3*n__| | ||
+ | problema _t__|_2__|_4__|_1__|__1___| | ||
+ | plazo|_3__|_5__|_7__|3*n+2_| | ||
+ | nice value|-20_|_0__|_10_|__15__| | ||
+ | |||
+ | < = indica el instante de lanzamiento del proceso | ||
+ | > = indica el instante de finalización del proceso | ||
+ | X = se ejecuta el código del planificador | ||
+ | $ = se aborta el proceso | ||
+ | |||
+ | <sub> </sub> | | | | | | | | | | | | | | | | | | | | | | ||
+ | P<sub>A</sub> <___|___> | | | | | | | | | | | | | | | | | | | ||
+ | P<sub>B</sub> | < |___|___|___$ | | | | | | | | | | | | | | | | ||
+ | P<sub>C</sub> | | < | | |___> | | | | | | | | | | | | | | | ||
+ | P<sub>D</sub> | | | < | $ <___> | <___> | <___> | <___> | <___> | | ||
+ | <sub> </sub>Planificador X | X | | X X | | X | | X | | X | | X | | | ||
+ | <sub> </sub>-----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> 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>D</sub>_| | ||
+ | Cálculos __t__|_2__|_3__|_1__|_1_| | ||
+ | de tiempos __T__|_2__|_4__|_4__|_1_| | ||
+ | _T/t_|_1__|0.75|_4__|_1_| | ||
+ | | | ||
+ | |_> Indice de penalización |
Revisión del 16:54 21 mar 2011
Contenido
¿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.(Contra mas 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.
Segun 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.
- 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.
Ejemplo de planificación en SSOO de tiempo real
____|_PA_|_PB_|_PC_|__PD___| Datos del _H0_|_0__|_1__|_2__|_3*n__| problema _t__|_2__|_4__|_1__|__1___| plazo|_3__|_5__|_7__|3*n+2_| nice value|-20_|_0__|_10_|__15__| < = indica el instante de lanzamiento del proceso > = indica el instante de finalización del proceso X = se ejecuta el código del planificador $ = se aborta el proceso | | | | | | | | | | | | | | | | | | | | | PA <___|___> | | | | | | | | | | | | | | | | | | PB | < |___|___|___$ | | | | | | | | | | | | | | | PC | | < | | |___> | | | | | | | | | | | | | | PD | | | < | $ <___> | <___> | <___> | <___> | <___> | Planificador X | 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_|_PD_| Cálculos __t__|_2__|_3__|_1__|_1_| de tiempos __T__|_2__|_4__|_4__|_1_| _T/t_|_1__|0.75|_4__|_1_| | |_> Indice de penalización