Está en la página 1de 6

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Universitaria


Universidad de falcón
Facultad de ingeniería
Carrera: Ingeniería Electrónica
Aplicación de Software - Prof. Daniel Aular

Tarea 2. Trabajo de Investigación

Realizado por:

Edduart Fernández Aulacio

C.I. 26496224
Actividad en línea: Trabajo

Objetivo: La Presente Investigación tendrá como objetivo conocer el software en Tiempo


real.

1) Software en 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. No basta con que las acciones del sistema sean correctas, 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 que ilustra los puntos anteriores 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.

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, 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 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 pero más aún, la calidad del servicio que presta no
debe degradarse más allá de un límite determinado.

El sistema debe de seguir en funcionamiento a pesar de catástrofes, o fallas


mecánicas. Usualmente una degradación en el servicio en un sistema de tiempo real lleva
consecuencias catastróficas.

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.

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.

2)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).
Bibliografía

https://es.wikipedia.org/wiki/Sistema_de_tiempo_real

También podría gustarte