El software de tiempo real está muy acoplado con el
mundo externo, esto es, el software de tiempo real debe responder al ámbito del
problema en un tiempo dictado por el ámbito del problema.
Debido a que el software de tiempo real debe operar
bajo restricciones de rendimiento muy rigurosas, el diseño del software esta
conducido frecuentemente, tanto por la arquitectura del hardware como por la
del software, por las características del sistema operativo, por los requisitos
de la aplicación y tanto por los extras del lenguaje de programación como
prospectos de diseño.
Globalmente, un sistema de tiempo real enfrenta al
ingeniero de sistemas con difíciles decisiones sobre el software. Una vez que
el elemento software ha sido asignado, se establecen los requisitos detallados
del software y debe desarrollarse un diseño fundamental de software.
Cada diseño de tiempo real relativo al software
debe ser aplicado en el contexto del rendimiento de sistema. En la mayoría de
los casos, el rendimiento de un sistema de tiempo real se mide con una o más
características relativas al tiempo, pero también se utilizan otras medidas,
tales como la tolerancia al fallo.
Tipos de sistemas de tiempo real
Un sistema de tiempo real blando (soft) es un
sistema cuyo funcionamiento se degrada si los resultados no se producen de
acuerdo con los requerimientos temporales especificados. Un sistema de tiempo
real duro (hard) es un sistema cuyo funcionamiento es incorrecto si los
resultados no se producen de acuerdo con la especificación temporal.
Una respuesta a tiempo es un factor importante en
todos los sistemas, pero en algunos casos, no necesita una respuesta
rápida. Por ejemplo, el sistema de bombeo de insulina es un sistema embebido.
Sin embargo, aunque se necesita comprobar el nivel de glucosa a intervalos
periódicos no es necesario responder muy rápidamente a los eventos externos.
Estimulos en sistemas de tiempo real
Una forma de ver un sistema de tiempo real es como
un sistema de estímulo/respuesta. Dando un determinado estimulo de entrada, el
sistema debe producir la correspondiente salida. Se puede, por lo tanto,
definir el comportamiento de un sistema de tiempo real haciendo una lista de
los estímulos recibidos por el sistema, las respuestas asociadas y el tiempo en
que dichas respuestas deben producirse.
Los estímulos pueden pertenecer a dos clases:
- Estímulos periódicos. Ocurren a intervalos de tiempo predecibles. Por ejemplo, si el sistema debe examinar un sensor cada 50 milisegundos y realizar una acción (respuesta) dependiendo del valor de ese sensor (estímulo).

- Estímulos aperiódicos. Ocurren de forma regular. Normalmente son provocados utilizando el mecanismo de interrupciones de la computadora. Un ejemplo de dicho estímulo podría ser una interrupción para indicar que una transferencia de E/S se ha completado y que los datos están disponibles en el búfer.
Los estímulos periódicos en un sistema de tiempo
real son generados normalmente por sensores asociados al sistema. Estos
proporcionan información sobre el estado del entorno del sistema. Las
respuestas son dirigidas a un conjunto de actuadores que controlan algún equipo
como una bomba, que influye en el entorno del sistema.
Los estímulos aperiódicos pueden generarse por actuadores
o por sensores. A menudo indican alguna condición excepcional como un fallo en
el hardware, que debe ser manejado por el sistema. Este modelo sensor-sistema
actuador de un sistema de tiempo real embebido.
Un sistema de tiempo real tiene que responder a
estímulos que ocurren en diferentes instantes de tiempo. Por lo tanto, se tiene
que organizar su arquitectura para que, tan pronto como se reciba un estímulo,
el control sea transferido al manejador adecuado. Esto no es práctico en
programas secuenciales. Por consiguiente, los sistemas de tiempo real se
diseñan como un conjunto de procesos concurrentes que cooperan entre sí. Con el
objetivo de soportar la gestión de estos procesos, la plataforma de ejecución
para la mayoría de los sistemas de tiempo real incluye un sistema operativo de
tiempo real. Las facilidades que proporciona este sistema operativo son
accedidas a través del sistema de soporten tiempo de ejecución (run-time
system) para el lenguaje de programación de tiempo real utilizado.
Bibliografía:
- Cervantes Ramírez, Á. M. (28 de Mayo de 2016). Openboxer. Obtenido de http://www.openboxer.260mb.com/pdf/is/apuntesIngSW.pdf?ckattempt=1
No hay comentarios:
Publicar un comentario