Diferencia entre revisiones de «Planificación de procesos de tiempo real»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(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

¿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