amplia variedad de sistemas que van desde maquinas
domesticas sencillas hasta plantas enteras Su correcto funcionamiento depende de que el sistema responda a los eventos dentro de un corto intervalo de tiempo. Un sistema de tiempo real es un software cuyo correcto funcionamiento depende de los resultados producidos por el mismo y del instante de tiempo en el que se producen estos resultados.
Sistemas de tiempo real blandos o Soft real-time systems: estos pueden tolerar un exceso en el tiempo de respuesta, con una penalizacin por el incumplimiento del plazo. garantizan que las tareas crticas se ejecutan en tiempo.| Aqu los datos son almacenados en memorias no voltiles, no utilizan tcnicas de memoria virtual ni tiempo compartido, estas tcnicas no pueden ser implementadas en hardware. Una forma de ver un sistema en tiempo real es como un sistema de estimulo/respuesta. Dado un estimulo de entrada, el sistema debe producir la correspondiente salida. ESTMULOS PERIDICOS. Ocurren a intervalos de tiempos predecibles .por ejemplo, el sistema debe de tener un sensor cada 50 mili segundos y realizar una accin respuesta) dependiendo del valor de ese sensor (estimulo). son generados normalmente por sensores asociados al sistema. Estos proporcionan informacin sobre el estado del entorno del sistema. las respuestas son dirigidas a un conjunto de actuadores que controlan a un equipo como una bomba que influye el entorno del sistema Un sistema real tiene que:
responder a estmulos que ocurren en diferentes instantes de tiempo.
organizar su arquitectura para que, tan pronto como se reciba un estimulo, el control sea trasferido al manejador adecuado.
se disean como un conjunto de procesos concurrentes que cooperan entre si .
la plataforma de ejecucin para la mayora de los sistemas de tiempo real incluye un sistema operativo en tiempo real.
las facilidades que proporcionan este sistema operativo son accedidas a travs del sistema de soporte de tiempo de ejecucin (run-time sistem) para el lenguaje de programacin de tiempo real utilizado.
La generalizacin de este estimulo-repuesta de un sistema de tiempo real conduce a un modelo arquitectnico genrico abstracto en el que hay tres tipos de procesos. los procesos de computacionales calculan la respuesta requerida para el estimulo recibido del sistema los procesos de control de actuadores controlan el funcionamiento del actuador. Este modelo permite recoger rpidamente los datos desde el sensor(antes de la siguiente entrada est disponible) y permiten que su procesamiento y la respuesta asociada al actuador se realicen mas tarde.
Los lenguajes de programacin desarrollados para sistemas de tiempo real tiene que incluir facilidades para acceder al hardware del sistema.
Planificacin de sistemas de tiempo real Es fundamental hacer una buena planificacin para aprovechar al mximo los recursos disponibles, fundamentalmente el procesador sin llegar a sobrecargarlos, evitando as que los trabajos se completen fuera del plazo previsto. A la hora de planificar un sistema concurrente utilizamos como unidad bsica la tarea, qu es una secuencia de operaciones que tiene restricciones de tiempo definidos a partir de una serie de parmetros. Prcticamente equivalente a una hebra de ejecucin de un sistema operativo. Una tarea se activa en un momento dado que llamamos activacin y tiene que completar una serie de instrucciones que llevan asociado un cierto tiempo de ejecucin antes de un instante que denominamos plazo de respuesta. La poltica de planificacin mediante prioridades fijas permite aseverar que en caso de sobrecarga, aquellas tareas con un nivel de prioridad ms bajo sern las primeras en incumplir su plazo de respuesta. Si se decidiera asignar las prioridades en funcin de la importancia de las tareas, se podra afirmar que en caso de sobrecarga seran aquellas tareas menos importantes las primeras en perder su plazo. Lenguaje de programacin de sistemas de tiempo real Debe facilitar la realizacin de sistemas concurrentes, fiables, con un comportamiento temporal analizable Lenguajes de inters para STR: Lenguajes ensambladores y poco fiables Lenguajes secuenciales (Fortran, Pascal, C, C++) Necesitan un SO para concurrencia y tiempo real Lenguajes concurrentes (Modula, Ada, Java, ...) Concurrencia y tiempo real incluidos en el lenguaje. Todava no hay compiladores ni mquinas virtuales para Java de tiempo real
Todos los sistemas operativos de tiempo real incluyen:
Un reloj de tiempo real: proporciona la informacin para planificar los procesos en forma peridica. Un manejador de interrupciones: gestiona las solicitudes aperidicas de los servicios.
Gestor de recursos: asigna la memoria adecuada.
un despachador: la funcin de iniciar la ejecucin de un proceso.
Los sistemas operativos de tiempo real para sistemas grandes, tales como control de procesos de sistemas de telecomunicaciones pueden tener facilidades adicionales, tales como la gestin de almacenamiento en disco.
Gestin de procesos
Los sistemas de tiempo real tienen que manejar eventos externos rpidamente y, en algunas ocasiones satisfaces plazos de tiempo para el procesamiento de eventos, esto significa que estos eventos deben de ser planificados a tiempo para la ejecucin.
El gestor de procesos en un RTOS es el responsable de elegir los procesos para su ejecucin, asignar recursos de memoria e iniciar y detener la ejecucin una de las cosas ms importantes es el tiempo ya que todo tiene su lmite de tiempo especificado.
CARACTERSTICAS DE LOS STR Gran tamao y complejidad algunos STR tienen millones de lneas de cdigo la variedad de funciones aumenta la complejidad incluso en sistemas relativamente pequeos
Simultaneidad de acciones (concurrencia) los dispositivos fsicos controlados funcionan al mismo tiempo las tareas que los controlan actan concurrentemente
Dispositivos de entrada y salida especiales los manejadores de dispositivos forman parte del software de Aplicacin
TIENE TRES CONDICIONES BSICAS:
Interacta con el mundo real (proceso fsico), emite respuestas correctas cumple restricciones temporales. CARACTERSTICAS DE LOS SISTEMAS DE TIEMPO REAL CARACTERSTICAS PRIMARIAS CARACTERSTICAS SECUNDARIAS PROCEDIMIENTO CONCURRENTE FIABILIDAD INTERFAZ HARDWARE RECONFIGURABILIDAD TIEMPO DE REACCIN ANTES DE LOS EVENTOS USABILIDAD ARQUITECTURA DISTRIBUIDA OBLIGACIONES BASES DE DATOS CAPACIDAD DE EVOLUCIN LAS REAS MS COMUNES DONDE SE APLICAN LOS SERVICIOS DE UN STR PODRAN SER: Las telecomunicaciones Los sistemas multimedia El control industrial La robtica Los sistemas de avinica y espaciales Los ferrocarriles Automviles Electrodomsticos de nueva generacin experimentos cientficos sistemas mdicos.