fbpx
Wikipedia

Sistema de tiempo real

Un sistema de tiempo real es un sistema informático que interacciona con su entorno físico y responde a los estímulos del entorno dentro de un plazo de tiempo determinado., sino que, además, tienen que ejecutarse dentro de un intervalo de tiempo determinado.[1]

Existen sistemas de tiempo real crítico (tiempo real duro), en los que los plazos de respuesta deben respetarse siempre estrictamente y una sola respuesta tardía a un suceso externo puede tener consecuencias fatales; y sistemas de tiempo real acrítico (tiempo real suave), en los que se pueden tolerar retrasos ocasionales en la respuesta a un suceso.[1]

Un ejemplo general para los sistemas de tiempo real es el de un robot que necesita tomar una pieza de una banda sinfín. Si el robot llega tarde, la pieza ya no estará donde debía recogerla, por tanto, el trabajo se llevó a cabo incorrectamente, aunque el robot haya llegado al lugar adecuado. Si el robot llega antes de que la pieza llegue, la pieza aún no estará ahí y el robot puede bloquear su paso.

Para un sistema de tiempo real crítico (tiempo real duro), se tiene como ejemplo el caso del sistema de refrigeración de una central nuclear, el cual debe de tener respuestas en la menor cantidad de tiempo posible (preferiblemente de inmediato) y no acepta ningún retraso ni error en su proceso, pues esto llevaría a una catástrofe nuclear.

Características de los sistemas de tiempo real

Determinismo

El determinismo es una cualidad clave en los sistemas de tiempo real. Es la capacidad de determinar con una alta probabilidad, cuánto es el tiempo que se toma una tarea en iniciarse. Esto es importante porque los sistemas de tiempo real necesitan que ciertas tareas se ejecuten antes de que otras puedan iniciar.

Esta característica se refiere al tiempo que tarda el sistema antes de responder a una interrupción. Este dato es importante saberlo porque casi todas las peticiones de interrupción se generan por eventos externos al sistema (i.e. por una petición de servicio), así que es importante determinar el tiempo que tardará el sistema en aceptar esta petición de servicio.

Responsividad

La responsividad se enfoca en el tiempo que tarda una tarea en ejecutarse una vez que la interrupción ha sido atendida. Los aspectos a los que se enfoca son:

  • La cantidad de tiempo que se lleva el iniciar la ejecución de una interrupción
  • La cantidad de tiempo que se necesita para realizar la tarea que pidió la interrupción.
  • Los efectos de interrupciones anidadas.

Una vez que el resultado del cálculo de determinismo y responsividad es obtenido, se convierte en una característica del sistema y un requerimiento para las aplicaciones que correrán en él,(por ejemplo, si diseñamos una aplicación en un sistema en el cual el 95 % de las tareas deben terminar en cierto período entonces es recomendable asegurarse que las tareas ejecutadas de nuestra aplicación no caigan en el 5 % de bajo desempeño).

Usuarios controladores

En estos sistemas, el usuario (por ejemplo, los procesos que corren en el sistema) tienen un control mucho más amplio del sistema.

  • El proceso es capaz de especificar su prioridad.
  • El proceso es capaz de especificar el manejo de memoria que requiere (que parte estará en caché y que parte en memoria swap y que algoritmos de memoria swap usar)
  • El proceso especifica qué derechos tiene sobre el sistema.

Esto aunque parece anárquico no lo es, debido a que los sistemas de tiempo real usan tipos de procesos que ya incluyen estas características, y usualmente estos TIPOS de procesos son mencionados como requerimientos. Un ejemplo es el siguiente:

«Los procesos de mantenimiento no deberán exceder el 3 % de la capacidad del procesador, a menos que en el momento que sean ejecutados el sistema se encuentre en la ventana de tiempo de menor uso.»

Confiabilidad

La confiabilidad en un sistema de tiempo real es otra característica clave. El sistema no debe solamente estar libre de fallas, también debe de cumplir que la calidad del servicio que presta no se degradará más allá de un límite determinado de tiempo, esto quiere decir que debe de entregar la respuesta a una solicitud del usuario en una cantidad de tiempo específica.

Un sistema de tiempo real por ningún motivo debe dejar de funcionar, ya sea por fallas directas en el sistema o alguna degradación en el servicio, pues en el caso que dejara de funcionar se podrían ocasionar consecuencias catastróficas.

Cualquier sistema de tiempo real que no cumpla con esta característica dejará de ser útil y posteriormente olvidado, pues es necesario tener la confianza de que al usar cualquier sistema de tiempo real, la respuesta a las interacciones realizadas por el usuario serán prácticamente inmediatas.

Operación a prueba de fallas duras (fail hard operation)

El sistema debe de fallar de manera que cuando ocurra una falla, el sistema preserve la mayor parte de los datos y capacidades del sistema en la mayor medida posible.

Que el sistema sea estable, es decir, que si para el sistema es imposible cumplir con todas las tareas sin exceder sus restricciones de tiempo, entonces el sistema cumplirá con las tareas más críticas y de más alta prioridad.

Análisis y diseño de sistemas en tiempo real

Las características especiales de los sistemas en tiempo real diferentes a los demás tipos de sistemas introducen en la definición del sistema una serie requerimientos no funcionales, que no se refieren directamente a las funciones específicas si no a propiedades emergentes como por ejemplo, requisitos de fiabilidad, eficiencia o implementación.[2]​ El diseño por análisis estructurado que emplea la descripción gráfica se enfoca en el desarrollo de especificaciones del programa que está formado por módulos independientes desde el punto de vista funcional.

Computación en tiempo real

La computación en tiempo real (o informática en tiempo real) está relacionada con los sistemas de hardware y software que se ven limitados por problemas de tiempo. El software de tiempo real debe necesariamente tener la característica de un tiempo de respuesta crítico.

Por ejemplo, el software encargado de controlar un respirador artificial debe ser de tiempo real, ya que un retraso en su tiempo de respuesta no es aceptable. Algunos tipos de programas como los empleados para jugar al ajedrez solo disponen del tiempo necesario para poder efectuar la siguiente jugada.

Se podría hacer una distinción, por ejemplo, un sistema de gestión del motor de un coche es un sistema en tiempo real activo porque una señal retrasada puede causar un daño o fallo en el motor. Otros ejemplos de sistemas integrados en tiempo real activos son los sistemas médicos como los marcadores de pasos artificiales y los controladores de procesos industriales.

Los sistemas de tiempo real pasivos se utilizan normalmente cuando hay un acceso compartido y se necesitan mantener actualizados un número de sistemas conectados con una situación cambiante. Un ejemplo serían los programas que mantienen y actualizan los planes de vuelo de las compañías aéreas comerciales. Estos programas pueden funcionar en cuestión de segundos.

No sería posible ofrecer vuelos comerciales modernos si estas operaciones no se pudieran realizar de manera fiable en tiempo real. Los sistemas de audio y video en directo también son sistemas en tiempo real pasivos típicos ya que si se sobrepasan los límites de tiempo lo único que puede pasar es que se empeore la calidad pero el sistema continua trabajando.

Las necesidades de los programas de tiempo real se pueden solucionar con sistemas operativos en tiempo real, que ofrecen un marco sobre el que construir aplicaciones de programas en tiempo real.

Sistemas operativos de tiempo real

Un sistema operativo de tiempo real (SOTR o RTOS -Real Time Operating System en inglés) es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible (determinista).

Véase también

Referencias

  1. Villarroel Salcedo, José Luis. . Archivado desde el original el 22 de febrero de 2014. 
  2. Sommerville, Ian (2005). «6.1.2 Requerimientos no funcionales». Ingeniería del software, Séptima edición. Pearson Educación. p. 111 |página= y |páginas= redundantes (ayuda). ISBN 84-7829-074-5. 

Enlaces externos

  • Comp.realtime: Frequently Asked Questions (FAQs) (versión 3.6)
  • Bina Ramamurthy
  • Descripción general y ejemplos de sistemas en tiempo real: Intelen Intel
  •   Datos: Q3988

sistema, tiempo, real, este, artículo, sección, sobre, tecnología, informática, necesita, wikificado, favor, edítalo, para, cumpla, convenciones, estilo, este, aviso, puesto, mayo, 2009, sugerido, tiempo, real, fusionado, este, artículo, sección, motivo, argum. Este articulo o seccion sobre tecnologia e informatica necesita ser wikificado por favor editalo para que cumpla con las convenciones de estilo Este aviso fue puesto el 15 de mayo de 2009 Se ha sugerido que Tiempo real sea fusionado en este articulo o seccion Motivo los argumentos estan expuestos en la pagina de discusion Una vez que hayas realizado la fusion de articulos pide la fusion de historiales aqui Este aviso fue puesto el 27 de noviembre de 2012 Un sistema de tiempo real es un sistema informatico que interacciona con su entorno fisico y responde a los estimulos del entorno dentro de un plazo de tiempo determinado sino que ademas tienen que ejecutarse dentro de un intervalo de tiempo determinado 1 Existen sistemas de tiempo real critico tiempo real duro en los que los plazos de respuesta deben respetarse siempre estrictamente y una sola respuesta tardia a un suceso externo puede tener consecuencias fatales y sistemas de tiempo real acritico tiempo real suave en los que se pueden tolerar retrasos ocasionales en la respuesta a un suceso 1 Un ejemplo general para los sistemas de tiempo real es el de un robot que necesita tomar una pieza de una banda sinfin Si el robot llega tarde la pieza ya no estara donde debia recogerla por tanto el trabajo se llevo a cabo incorrectamente aunque el robot haya llegado al lugar adecuado Si el robot llega antes de que la pieza llegue la pieza aun no estara ahi y el robot puede bloquear su paso Para un sistema de tiempo real critico tiempo real duro se tiene como ejemplo el caso del sistema de refrigeracion de una central nuclear el cual debe de tener respuestas en la menor cantidad de tiempo posible preferiblemente de inmediato y no acepta ningun retraso ni error en su proceso pues esto llevaria a una catastrofe nuclear Indice 1 Caracteristicas de los sistemas de tiempo real 1 1 Determinismo 1 1 1 Responsividad 1 1 2 Usuarios controladores 1 1 3 Confiabilidad 1 1 4 Operacion a prueba de fallas duras fail hard operation 2 Analisis y diseno de sistemas en tiempo real 3 Computacion en tiempo real 4 Sistemas operativos de tiempo real 5 Vease tambien 6 Referencias 7 Enlaces externosCaracteristicas de los sistemas de tiempo real EditarDeterminismo Editar El determinismo es una cualidad clave en los sistemas de tiempo real Es la capacidad de determinar con una alta probabilidad cuanto es el tiempo que se toma una tarea en iniciarse Esto es importante porque los sistemas de tiempo real necesitan que ciertas tareas se ejecuten antes de que otras puedan iniciar Esta caracteristica se refiere al tiempo que tarda el sistema antes de responder a una interrupcion Este dato es importante saberlo porque casi todas las peticiones de interrupcion se generan por eventos externos al sistema i e por una peticion de servicio asi que es importante determinar el tiempo que tardara el sistema en aceptar esta peticion de servicio Responsividad Editar La responsividad se enfoca en el tiempo que tarda una tarea en ejecutarse una vez que la interrupcion ha sido atendida Los aspectos a los que se enfoca son La cantidad de tiempo que se lleva el iniciar la ejecucion de una interrupcion La cantidad de tiempo que se necesita para realizar la tarea que pidio la interrupcion Los efectos de interrupciones anidadas Una vez que el resultado del calculo de determinismo y responsividad es obtenido se convierte en una caracteristica del sistema y un requerimiento para las aplicaciones que correran en el por ejemplo si disenamos una aplicacion en un sistema en el cual el 95 de las tareas deben terminar en cierto periodo entonces es recomendable asegurarse que las tareas ejecutadas de nuestra aplicacion no caigan en el 5 de bajo desempeno Usuarios controladores Editar En estos sistemas el usuario por ejemplo los procesos que corren en el sistema tienen un control mucho mas amplio del sistema El proceso es capaz de especificar su prioridad El proceso es capaz de especificar el manejo de memoria que requiere que parte estara en cache y que parte en memoria swap y que algoritmos de memoria swap usar El proceso especifica que derechos tiene sobre el sistema Esto aunque parece anarquico no lo es debido a que los sistemas de tiempo real usan tipos de procesos que ya incluyen estas caracteristicas y usualmente estos TIPOS de procesos son mencionados como requerimientos Un ejemplo es el siguiente Los procesos de mantenimiento no deberan exceder el 3 de la capacidad del procesador a menos que en el momento que sean ejecutados el sistema se encuentre en la ventana de tiempo de menor uso Confiabilidad Editar La confiabilidad en un sistema de tiempo real es otra caracteristica clave El sistema no debe solamente estar libre de fallas tambien debe de cumplir que la calidad del servicio que presta no se degradara mas alla de un limite determinado de tiempo esto quiere decir que debe de entregar la respuesta a una solicitud del usuario en una cantidad de tiempo especifica Un sistema de tiempo real por ningun motivo debe dejar de funcionar ya sea por fallas directas en el sistema o alguna degradacion en el servicio pues en el caso que dejara de funcionar se podrian ocasionar consecuencias catastroficas Cualquier sistema de tiempo real que no cumpla con esta caracteristica dejara de ser util y posteriormente olvidado pues es necesario tener la confianza de que al usar cualquier sistema de tiempo real la respuesta a las interacciones realizadas por el usuario seran practicamente inmediatas Operacion a prueba de fallas duras fail hard operation Editar El sistema debe de fallar de manera que cuando ocurra una falla el sistema preserve la mayor parte de los datos y capacidades del sistema en la mayor medida posible Que el sistema sea estable es decir que si para el sistema es imposible cumplir con todas las tareas sin exceder sus restricciones de tiempo entonces el sistema cumplira con las tareas mas criticas y de mas alta prioridad Analisis y diseno de sistemas en tiempo real EditarLas caracteristicas especiales de los sistemas en tiempo real diferentes a los demas tipos de sistemas introducen en la definicion del sistema una serie requerimientos no funcionales que no se refieren directamente a las funciones especificas si no a propiedades emergentes como por ejemplo requisitos de fiabilidad eficiencia o implementacion 2 El diseno por analisis estructurado que emplea la descripcion grafica se enfoca en el desarrollo de especificaciones del programa que esta formado por modulos independientes desde el punto de vista funcional Computacion en tiempo real EditarLa computacion en tiempo real o informatica en tiempo real esta relacionada con los sistemas de hardware y software que se ven limitados por problemas de tiempo El software de tiempo real debe necesariamente tener la caracteristica de un tiempo de respuesta critico Por ejemplo el software encargado de controlar un respirador artificial debe ser de tiempo real ya que un retraso en su tiempo de respuesta no es aceptable Algunos tipos de programas como los empleados para jugar al ajedrez solo disponen del tiempo necesario para poder efectuar la siguiente jugada Se podria hacer una distincion por ejemplo un sistema de gestion del motor de un coche es un sistema en tiempo real activo porque una senal retrasada puede causar un dano o fallo en el motor Otros ejemplos de sistemas integrados en tiempo real activos son los sistemas medicos como los marcadores de pasos artificiales y los controladores de procesos industriales Los sistemas de tiempo real pasivos se utilizan normalmente cuando hay un acceso compartido y se necesitan mantener actualizados un numero de sistemas conectados con una situacion cambiante Un ejemplo serian los programas que mantienen y actualizan los planes de vuelo de las companias aereas comerciales Estos programas pueden funcionar en cuestion de segundos No seria posible ofrecer vuelos comerciales modernos si estas operaciones no se pudieran realizar de manera fiable en tiempo real Los sistemas de audio y video en directo tambien son sistemas en tiempo real pasivos tipicos ya que si se sobrepasan los limites de tiempo lo unico que puede pasar es que se empeore la calidad pero el sistema continua trabajando Las necesidades de los programas de tiempo real se pueden solucionar con sistemas operativos en tiempo real que ofrecen un marco sobre el que construir aplicaciones de programas en tiempo real Sistemas operativos de tiempo real EditarArticulo principal Sistema operativo de tiempo real Un sistema operativo de tiempo real SOTR o RTOS Real Time Operating System en ingles es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real Como tal se le exige correccion en sus respuestas bajo ciertas restricciones de tiempo Si no las respeta se dira que el sistema ha fallado Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible determinista Vease tambien EditarSistema operativo en tiempo real Data Distribution ServiceReferencias Editar a b Villarroel Salcedo Jose Luis Sistemas de Tiempo Real Archivado desde el original el 22 de febrero de 2014 Sommerville Ian 2005 6 1 2 Requerimientos no funcionales Ingenieria del software Septima edicion Pearson Educacion p 111 pagina y paginas redundantes ayuda ISBN 84 7829 074 5 Enlaces externos EditarComp realtime Frequently Asked Questions FAQs version 3 6 Bina Ramamurthy Descripcion general y ejemplos de sistemas en tiempo real Intelen Intel Datos Q3988 Obtenido de https es wikipedia org w index php title Sistema de tiempo real amp oldid 143912489, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos