Sistemas de tiempo real

Document Sample
Sistemas de tiempo real Powered By Docstoc
					Sistemas de tiempo real



        Rina Arauz
Definición (Donald Gillies)
   Un sistema de tiempo real (STR) es aquel en el cual
    los resultados son correctos, no sólo si la
    computación es correcta, sino también el tiempo en
    el cual se producen los resultados
   Si no se verifican las restricciones de tiempo, se
    dice que se ha producido un fallo en el sistema
   Otros han añadido:
      Así pues, es fundamental garantizar las
        restricciones de tiempo, lo cual implica que el
        sistema sea predecible. Además, sería deseable
        que el grado de utilización del sistema sea alto a
        la vez que se mantienen estas restricciones
                                         Sistemas de tiempo real 2
Ejemplo




   Ejemplo: robot que debe coger un objeto que viaja
    por una cinta transportadora
   Sistema de tiempo real no es sinónimo de sistema
    rápido ni de sistema interactivo (i.e. radiotelescopio)
   Aunque las velocidades de proceso aumenten los
    STR seguirán existiendo
                                          Sistemas de tiempo real 3
Dónde se utilizan los STR
   Sistemas de mando y control
   Sistemas de control de procesos
   Sistemas de control de vuelo
   Sistemas de control de automóviles
   Sistemas de defensa
   Sistemas de vigilancia intensiva
   Sistemas multimedia
   Electrónica de consumo
   Sistemas de telecomunicación, etc.


                                         Sistemas de tiempo real 4
Clasificación de los STR
   Críticos (hard real time systems): los plazos de
    respuesta deben respetarse en todas las
    circunstancias, una sola respuesta tardía a un
    suceso puede tener consecuencias fatales
    (sistemas de control de centrales nucleares o de
    aviones)
   Acríticos (soft real time systems): se puede tolerar
    retrasos ocasionales en la respuesta a un suceso
    (el sistema de control de una lavadora)




                                         Sistemas de tiempo real 5
Otra clasificación
   Sistemas activados por eventos
      Las interrupciones determinan la evolución del
       sistema
      Pueden fallar si la carga es alta
   Sistemas activados por tiempo
      Sólo interrumpe el reloj de tiempo real
      Operan mejor con cargas altas (“pueden
       pensarse las cosas”)
   También hay sistemas mixtos



                                        Sistemas de tiempo real 6
Estructura de un STR

                        Sistema
Consignas                 de               Indicadores
                        control


            Acciones                Medidas


 Entradas               Sistema             Salidas
 externas              controlado           externas




                                        Sistemas de tiempo real 7
Estructura de un STR
   El sistema de control (STR) actúa sobre el sistema
    controlado para conseguir un comportamiento
    definido
   Es muy común emplear un esquema realimentado
      En función de las medidas opera un algoritmo de
       control
      Ese algoritmo de control determina las acciones
       impuestas al sistema controlado
   Un aspecto de suma importancia son los tiempos en
    los que se lleva a cabo cada acción


                                      Sistemas de tiempo real 8
Sistemas empotrados
   Muchos STR son partes de otros sistemas en los
    que realizan operaciones de control
   En estos casos hablamos de sistemas empotrados
    o “embedded systems”
   Este tipo de sistemas suelen estar limitados en
    cuanto a recursos y no son visibles
   Ejemplos:
      Teléfonos móviles, radios, televisores, etc.
      Sistemas de control en automóviles
      Electrodomésticos



                                     Sistemas de tiempo real 9
Características de los STR
   Tamaño y complejidad
   Fiabilidad y seguridad
   Cálculos con números reales
   Interacción con dispositivos físicos
   Eficiencia
   Dependencia del tiempo
   Concurrencia
   Tolerancia ante fallos




                                           Sistemas de tiempo real 10
Tamaño y complejidad
   Son dos aspectos ligados al software
   Un factor muy importante es la necesidad de
    realizar cambios
   Solución: descomponer el sistema en subsistemas
    pequeños




                                     Sistemas de tiempo real 11
Fiabilidad y seguridad
   Fiabilidad
      Es la probabilidad de proporcionar el servicio
       especificado
      Para una tasa de fallos de  averías/hora la
       media de tiempo entre averías MTTF=1/ 
      Si MTTF > 109 hablamos de sistemas ultrafiables
   Seguridad
      Los sistemas críticos deben ser ultrafiables
      Para ciertos proyectos es necesaria una
       certificación oficial


                                      Sistemas de tiempo real 12
Fiabilidad y seguridad
   Los requisitos de fiabilidad y seguridad en los STR
    son mayores que en el resto
   Ejemplo: entre el 80y el 90% de los sistemas de
    defensa, su control se realiza mediante SW
   Según Hecht y Hecht (1986), los sistemas software
    complejos, por cada millón de líneas de código
    contienen una media de 20.000 errores
   El 90% de esos errores pueden ser detectados con
    sistemas de comprobación
   200 errores de los restantes se detectan durante el
    primer año. Los 1800 restantes permanecen sin
    detectar
                                       Sistemas de tiempo real 13
¿De dónde provienen los errores?

1   Una especificación inadecuada
2   Errores de diseño de los componentes SW
3   Averías en los componentes de hardware
4   Interferencias transitorias o permanentes en los
    sistemas de comunicación
   Los errores 3 y 4 tienen un comportamiento
    previsible con métodos estadísticos
   El lenguaje de programación debe facilitar el
    desarrollo de sistemas seguros
   Se hace necesario el empleo de técnicas de
    prevención y tolerancia ante fallos
                                        Sistemas de tiempo real 14
Cálculos con números reales
   Números asociados a magnitudes físicas asociadas
    al sistema controlado
   Los datos crudos son filtrados y convertidos a datos
    de ingeniería
   Se representan de forma aproximada en un
    ordenador
   Tipos de representaciones: coma fija y coma
    flotante
   Cuando algún dato toma valores incorrectos, se
    generan alarmas


                                       Sistemas de tiempo real 15
Dependencia del tiempo
   Tiempos en los cuales se deben llevar a cabo
    determinadas acciones
   Tiempos de terminación de cada acción
   Responder a situaciones transitorias en las que no
    se pueden garantizar todos los plazos
   Realizar cambios dinámicos en el comportamiento
    temporal del sistema
   El comportamiento del sistema debe ser
    DETERMINISTA



                                       Sistemas de tiempo real 16
  Aspectos temporales
Instante de activación                             Límite (Deadline)

                         Plazo máximo de respuesta


            Inicio                           Fin




                     Tiempo de respuesta

  El tiempo de respuesta puede variar (jitter)
                                               Sistemas de tiempo real 17
Concurrencia
   Se deben atender diversos tipos de eventos en
    paralelo
   Puede ser suficiente con un sólo procesador
   En ocasiones es necesario recurrir a sistemas
    multiprocesador
   ¿Cómo expresar la concurrencia desde el
    programa?
      Con ejecutivos cíclicos
      Con tareas independientes




                                      Sistemas de tiempo real 18
Concurrencia
   Los ejecutivos cíclicos son sencillos, pero:
      Complican la labor del programador
      Los programas resultantes son oscuros y poco
       elegantes
      Programas difíciles de corregir
      Es más difícil la descomposición
      Es difícil llevar el programa a un sistema
       multiprocesador
      Colocar el código de manejo de fallos es
       problemático


                                     Sistemas de tiempo real 19
Concurrencia
   Con tareas independientes, las cuales pueden ser
    soportadas por:
      El lenguaje: caso de Ada o Modula
      El sistema operativo
   Un SOTR debe proporcionar soporte básico para
    tareas de tiempo real, tolerancia a fallos,
    determinismo, etc.
   Aspectos cruciales que deben considerarse:
      El factor tiempo
      Los protocolos de comunicación
      La asignación de recursos

                                      Sistemas de tiempo real 20
Características de los SOTR
   Poseen un cambio de contexto rápido
   Poseen un tamaño pequeño
   Responden a las interrupciones externas de una
    forma rápida
   Minimizan los tiempos con interrupciones
    deshabilitadas
   Proporcionan esquemas de gestión de memoria que
    no afecten a la predictibilidad
    y proporcionan archivos de acceso rápido



                                    Sistemas de tiempo real 21
Elementos proporcionados
   Con objeto de mantener las especificaciones de
    tiempo los SOTR:
      Poseen un reloj de tiempo real
      Proporcionan planificación basada en prioridades
      Proporcionan alarmas y timeouts, y
      Las tareas pueden activarse en intervalos de
       tiempo definidos




                                      Sistemas de tiempo real 22
Lenguajes de programación
   Básicamente cabe considerar tres alternativas:
   Lenguajes ensambladores
      Proporcionan la máxima flexibilidad pero los
       desarrollos son costosos y poco fiables
   Lenguajes secuenciales (C, Pascal, FORTRAN,
    etc.)
      Deben tener un SOTR por debajo
   Lenguajes concurrentes (Ada, Modula, concurrent
    C, etc.)
      El lenguaje proporciona la concurrencia y el
       tiempo real
                                     Sistemas de tiempo real 23

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:67
posted:4/21/2012
language:Spanish
pages:23