Planificación de procesos de tiempo real
De Wiki de Sistemas Operativos
Revisión del 16:54 21 mar 2011 de Jherrera (discusión | contribuciones) (→Métodos de planificación: ejemplo)
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