Descarga - andyLCR94

Anuncio
Sistema operativo 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).
Contenido










1 Características Generales
2 Procesador
3 Diseño
4 Programación
5 Comunicación entre Tareas
6 Interrupciones
7 Memoria
8 Comunicaciones
9 Algunos Ejemplos
10 Enlaces externos
Características Generales
Usado típicamente para aplicaciones integradas, normalmente tiene las siguientes características:




No utiliza mucha memoria
Cualquier evento en el soporte físico puede hacer que se ejecute una tarea
Multi-arquitectura (código portado a cualquier tipo de CPU)
Muchos tienen enfermedades predecibles para eventos electrónicos
*Se caracterizan por presentar requisitos especiales en cinco áreas generales:
ð Determinismo
ð Sensibilidad
ð Control del usuario
ð Fiabilidad
ð Tolerancia a los fallos
En la actualidad hay un debate sobre qué es tiempo real. Muchos sistemas operativos de tiempo real tienen un
programador y diseños de controladores que minimizan los periodos en los que las interrupciones están
deshabilitadas, un número llamado a veces duración de interrupción. Muchos incluyen también formas
especiales de gestión de memoria que limitan la posibilidad de fragmentación de la memoria y aseguran un
límite superior mínimo para los tiempos de asignación y retirada de la memoria.
Un ejemplo temprano de sistema operativo en tiempo real a gran escala fue el denominado «programa de
control» desarrollado por American Airlines e IBM para el sistema de reservas Sabre.
Procesador
Este tipo de sistemas operativos no es necesariamente eficiente en el sentido de tener una capacidad
de procesamiento alta. El algoritmo de programación especializado, y a veces una tasa de interrupción
del reloj alta pueden interferir en la capacidad de procesamiento.
Aunque para propósito general un procesador moderno suele ser más rápido, para programación en tiempo
real deben utilizarse procesadores lo más predecibles posible, sin paginación... Todos estos factores añaden
una aleatoriedad que hace que sea difícil demostrar que el sistema es viable, es decir, que cumple con los
plazos.
Diseño
Hay dos diseños básicos:


Un sistema operativo guiado por eventos sólo cambia de tarea cuando un evento necesita el servicio.
Un diseño de compartición de tiempo cambia de tareas por interrupciones del reloj y por eventos.
El diseño de compartición de tiempo gasta más tiempo de la UCP en cambios de tarea innecesarios. Sin
embargo, da una mejor ilusión de multitarea. Normalmente se utiliza un sistema de prioridades fijas.
Uno de los algoritmos que suelen usarse para la asignación de prioridades es el Rate-Monotonic Schedule. Si el
conjunto de tareas que tenemos es viable con alguna asignación de prioridades fijas, también es viable con el
Rate-Monotonic Schedule, donde la tarea más prioritaria es la de menor periodo. Esto no quiere decir que si no
es viable con Rate-Monotonic Schedule no sea viable con asignaciones de prioridad variable. Puede darse el
caso de encontrarnos con un sistema viable con prioridades variables y que no sea viable con prioridades fijas.
Programación
En los diseños típicos, una tarea tiene tres estados: ejecución, preparada y bloqueada. La mayoría de las tareas
están bloqueadas casi todo el tiempo. Solamente se ejecuta una tarea por UCP. La lista de tareas preparadas
suele ser corta, de dos o tres tareas como mucho.
El problema principal es diseñar el programador. Usualmente, la estructura de los datos de la lista de tareas
preparadas en el programador está diseñada para que cada búsqueda, inserción y eliminación necesiten
interrupciones de cierre solamente durante un período muy pequeño, cuando se buscan partes de la lista muy
definidas.
Esto significa que otras tareas pueden operar en la lista asincrónicamente, mientras que se busca. Una buena
programación típica es una lista conectada bidireccional de tareas preparadas, ordenadas por orden de
prioridad. Hay que tener en cuenta que no es rápido de buscar sino determinista. La mayoría de las listas de
tareas preparadas sólo tienen dos o tres entradas, por lo que una búsqueda secuencial es usualmente la más
rápida, porque requiere muy poco tiempo de instalación.
El tiempo de respuesta crítico es el tiempo que necesita para poner en la cola una nueva tarea preparada y
restaurar el estado de la tarea de más alta prioridad.
En un sistema operativo en tiempo real bien diseñado, preparar una nueva tarea necesita de 3 a 20
instrucciones por cada entrada en la cola y la restauración de la tarea preparada de máxima prioridad de 5 a
30 instrucciones. En un procesador 68000 20MHz, los tiempos de cambio de tarea son de 20 microsegundos
con dos tareas preparadas.
Cientos de UCP MIP ARM pueden cambiar en unos pocos microsegundos.
Comunicación entre Tareas
Las diferentes tareas de un sistema no pueden utilizar los mismos datos o componentes físicos al mismo
tiempo. Hay dos métodos para tratar este problema.
Uno de los métodos utiliza semáforos. En general, el semáforo binario puede estar cerrado o abierto. Cuando
está cerrado hay una cola de tareas esperando la apertura del semáforo.
Los problemas con los diseños de semáforos son bien conocidos: inversión de prioridades y puntos muertos
(deadlocks).
En la inversión de prioridades, una tarea de mucha prioridad espera porque otra tarea de baja prioridad tiene
un semáforo. Si una tarea de prioridad intermedia impide la ejecución de la tarea de menor prioridad, la de más
alta prioridad nunca llega a ejecutarse. Una solución típica sería otorgar a la tarea que tiene el semáforo la
prioridad de la tarea más prioritaria de las que están esperando dicho semáforo. Esto se denomina algoritmo
de herencia básica de prioridad.
En un punto muerto, dos tareas (T1,T2) pretenden adquirir dos semáforos (semA,semB) en orden inverso. En
este caso si T1 adquiere semA y T2 adquiere semB cuando intenten adquirir el segundo semáforo no podrán
hacerlo ya que lo tiene la otra tarea. De esta forma entran en un punto muerto del que ninguna de las dos
tareas puede salir sin intervención externa. Esto se resuelve normalmente mediante un diseño por ej. obligando
a adquirir los semáforos en un orden concreto.
La otra solución es que las tareas se manden mensajes entre ellas. Esto tiene los mismos problemas: La
inversión de prioridades tiene lugar cuando una tarea está tratando un mensaje de baja prioridad, e ignora un
mensaje de más alta prioridad en su correo. Los puntos muertos ocurren cuando dos tareas realizan envios
bloqueantes (se quedan en la función de envío esperando a que el receptor reciba el mensaje). Si T1 manda un
mensaje de forma bloqueante a T2 y T2 manda un mensaje de igual forma a T1 ninguna de las dos tareas saldrá
de la función de envío quedando ambas bloqueadas ya que no podrán llegar a la función de recepción. Puede
resolverse reordenando envíos y recepciones o empleando envíos no bloqueantes o temporizados.
Aunque su comportamiento en tiempo real es algo más difícil de analizar que los sistemas de semáforos, los
sistemas basados en mensajes normalmente son más sencillos de desarrollar que los sistemas de semáforo.
Interrupciones
Las interrupciones son la forma más común de pasar información desde el mundo exterior al programa y son,
por naturaleza, impredecibles. En un sistema de tiempo real estas interrupciones pueden informar diferentes
eventos como la presencia de nueva información en un puerto de comunicaciones, de una nueva muestra de
audio en un equipo de sonido o de un nuevo cuadro de imagen en una videograbadora digital.
Para que el programa cumpla con su cometido de ser tiempo real es necesario que el sistema atienda la
interrupción y procese la información obtenida antes de que se presente la siguiente interrupción. Como el
microprocesador normalmente solo puede atender una interrupción a la vez, es necesario que los
controladores de tiempo real se ejecuten en el menor tiempo posible. Esto se logra no procesando la señal
dentro de la interrupción, sino enviando un mensaje a una tarea o solucionando un semáforo que está siendo
esperado por una tarea. El programador se encarga de activar la tarea y esta se encarga de adquirir la
información y completar el procesamiento de la misma.
El tiempo que transcurre entre la generación de la interrupción y el momento en el cual esta es atendida se
llama latencia de interrupción. El inverso de esta latencia es una frecuencia llamada frecuencia de saturación,
si las señales que están siendo procesadas tienen una frecuencia mayor a la de saturación, el sistema será
físicamente incapaz de procesarlas. En todo caso la mayor frecuencia que puede procesarse es mucho menor
que la frecuencia de saturación y depende de las operaciones que deban realizarse sobre la información
recibida.
Memoria
Hay dos problemas con el reparto de la memoria en SOTR (sistemas operativos en tiempo real).
El primero, la velocidad del reparto es importante. Un esquema de reparto de memoria estándar recorre una
lista conectada de longitud indeterminada para encontrar un bloque de memoria libre; sin embargo, esto no es
aceptable ya que el reparto de la memoria debe ocurrir en un tiempo fijo en el SOTR.
En segundo lugar, la memoria puede fragmentarse cuando las regiones libres se pueden separar por regiones
que están en uso. Esto puede provocar que se pare un programa, sin posibilidad de obtener memoria, aunque en
teoría exista suficiente memoria. Una solución es tener una lista vinculada LIFO de bloques de memoria de
tamaño fijo. Esto funciona asombrosamente bien en un sistema simple.
La paginación suele desactivarse en los sistemas en tiempo real, ya que es un factor bastante aleatorio e
impredecible, que varía el tiempo de respuesta y no nos permite asegurar que se cumplirán los plazos, debido al
trasiego de páginas de memoria con un dispositivo de almacenamiento (trashing)
Comunicaciones
Para las comunicaciones se suelen usar conexiones o redes deterministas CAN bus o puertos serie, ya que las
redes más usuales, como Ethernet son indeterministas y no pueden garantizarnos el tiempo de respuesta. El
sistema CAN bus es utilizado para la interconexion de dispositivos electrónicos de control (ECU) en los
vehículos.
Algunos Ejemplos

MaRTE OS














EasyTasks
QNX
LynxOS
RedHat Embedded Linux
eCos (Linux)
SOOS
Ubuntu Studio (Linux)
VxWorks
Windows CE
Linchos
UNIX (Some)
DuinOS
RTAI
Symbian
Tiempo real
Un sistema en tiempo real (STR) es aquel sistema digital que interactúa activamente con un entorno con
dinámica conocida en relación con sus entradas, salidas y restricciones temporales, para darle un correcto
funcionamiento de acuerdo con los conceptos de predictibilidad, estabilidad, controlabilidad y alcanzabilidad.
Los sistemas en tiempo real están presentes en nuestra vida diaria, prácticamente en todo lo que nos rodea; en
los aviones, trenes y automóviles; en el televisor, la lavadora o el horno de microondas, en los teléfonos
celulares y en las centrales telefónicas digitales. Son un elemento imprescindible para garantizar la generación,
transmisión y distribución de la energía eléctrica y para asegurar la calidad y la seguridad de incontables
procesos industriales.
La principal característica que distingue a los STR de otros tipos de sistemas es el tiempo de interacción. Sin
embargo, antes de continuar es necesario aclarar el significado de las palabras "tiempo" y "real". La palabra
"tiempo" significa que el correcto funcionamiento de un sistema depende no sólo del resultado lógico que
devuelve la computadora, también depende del tiempo en que se produce ese resultado. La palabra "real"
quiere decir que la reacción de un sistema a eventos externos debe ocurrir durante su evolución. Como una
consecuencia, el tiempo del sistema (tiempo interno) debe ser medido usando la misma escala con que se mide
el tiempo del ambiente controlado (tiempo externo).
En México, los STR se pueden encontrar en lugares muy importantes por los servicios que prestan, por ejemplo:
Comisión Federal de Electricidad (CFE) donde se monitorean, controlan y protegen los sistemas de transmisión
y distribución que hacen llegar la energía eléctrica a las industrias y nuestros hogares. Los STR también están
presentes en el Metro de la Ciudad de México, específicamente en el área de monitoreo de tráfico de trenes; su
importancia es relevante debido a que diariamente se transportan millones de pasajeros.
Un STR tiene tres condiciones básicas:



Interactúa con el mundo real (proceso físico),
emite respuestas correctas y
cumple restricciones temporales.
En contraste con la definición de STR, un sistema rápido produce su salida sin considerar las restricciones de
tiempo del ambiente con que interactúa, para esa clase de sistemas no es importante el tiempo en el cual los
datos llegan al sistema digital sino solamente el tiempo en que la salida es producida, en otras palabras
únicamente interesa la rapidez de dar la respuesta dentro del intervalo de tiempo cuya medida, entre más
pequeña es mejor, sin importar el costo de generar esa respuesta. De igual manera, tiende a confundirse el
concepto de STR con el de sistema en línea:
Un sistema en línea es aquel que siempre debe estar encendido, disponible y generalmente conectado a una red
de computadoras y depende de la capacidad del hardware para atender peticiones de servicio y en ningún
momento está en sincronía con el mundo real ni tiene restricciones temporales. En adición a esto, un sistema
fuera de línea es aquel que no siempre está disponible para recibir y enviar información y que depende de una
base de datos previamente establecida para ejecutar su cometido. Como ejemplos de sistemas en línea se
tienen las aplicaciones de Internet como los navegadores web o la adquisición de datos a través de una tarjeta
especializada en un ambiente de tiempo compartido como Windows.
El concepto de STR no queda restringido a los sistemas digitales o de cómputo, ya que puede extenderse al
mundo vivo: humanos, animales y plantas; como ejemplo, considérese una semilla fértil, la cual llega de alguna
manera (ya sea por acción del viento, por medio del desecho de algún animal al final de su digestión, etc.) a la
tierra. Se puede asegurar que el proceso de germinación de la semilla es un sistema de tiempo real en el
ambiente y en las circunstancias en las cuales se desarrolla, ya que a estímulos del ambiente (humedad
apropiada constante, temperatura adecuada constante, luz necesaria, etc.) el sistema (la semilla) responde
dentro de sus restricciones de tiempo específicas. Si la semilla fuera solamente un sistema rápido (y no de
Tiempo Real), tan pronto como ésta tocara la tierra comenzaría su proceso de germinación, sin importar la
escasez de nutrientes del suelo o agua o estación del año, por lo que el comportamiento de la semilla no
correspondería a lo que está sucediendo en el ambiente, es decir, que el intervalo de tiempo en el que la
respuesta del sistema (semilla) se produce no sería muy importante, pero en la realidad ocasionaría que
muriera rápidamente por la falta de su adaptabilidad, al tratar de consumir nutrientes más de lo que los puede
asimilar o que se encuentren disponibles para ser absorbidos por la raíz de la planta.
Los sistemas de tiempo real (STR) son sistemas informáticos que se encuentran en multitud de aplicaciones,
desde la electrónica de consumo hasta el control de complejos procesos industriales. Están presentes en
prácticamente todos los aspectos de nuestra sociedad como, teléfonos móviles, automóviles, control de tráfico,
ingenios espaciales, procesos automáticos de fabricación, producción de energía, aeronaves, etc. Además, el
auge de los Sistemas de Tiempo Real está en constante aumento, ya que cada vez más máquinas se fabrican
incluyendo un número mayor de sistemas controlados por computador. Un ejemplo cercano es la industria del
automóvil, ya que un turismo actual de gama media incluye alrededor de una docena de estos automatismos
(ABS, airbag, etc). Otro ejemplo cotidiano son los electrodomésticos de nueva generación, que incluyen
Sistemas de Tiempo Real para su control y temporización. Hoy día son tantas las aplicaciones de estos sistemas
que su número duplica actualmente al de los sistemas informáticos "convencionales" o de propósito general.
Las previsiones son que esta diferencia vaya en constante aumento, debido fundamentalmente el elevado
crecimiento de la automatización en casi todas las facetas de la vida cotidiana. Esto convierte a esta asignatura
en un complemento muy atractivo para la formación de un Ingeniero Informático.
La característica diferenciadora de los Sistemas de Tiempo Real es que sus acciones deben producirse dentro
de unos intervalos de tiempo determinados por la dinámica del sistema físico que supervisan o controlan. Por
poner un ejemplo, el sistema de control de inyección de combustible en un motor alternativo (como los que
están presentes en los automóviles) debe realizar la inyección de la mezcla dentro del intervalo de tiempo
marcado por la rotación del motor, de otro modo el motor no funcionará correctamente. En este caso, se trata
de un sistema de tiempo real empotrado, es decir, el sistema informático se encuentra físicamente incluido en
un sistema de ingeniería más complejo. La mayoría de los sistemas de tiempo real son sistemas empotrados y
suelen tener restricciones adicionales en cuanto al uso de recursos computacionales con respecto a otros
tipos de sistemas informáticos. Además, suelen tener requisitos de seguridad y fiabilidad más severos, ya que si
el sistema falla puede ocasionar pérdidas económicas (por ejemplo, avería del motor) o incluso humanas (por
ejemplo, si el motor fuera de una aeronave).
Además, las aplicaciones empotradas no son ni mucho menos pequeñas. Un simple teléfono móvil tenía medio
millón de líneas de código en 1997, y el número de líneas de código que vuelan embarcadas en los sistemas de
control de una aeronave moderna se cuentan por millones. El tamaño actual de estas aplicaciones hace
impensable su desarrollo sin utilizar la Ingeniería del Software que es una disciplina fundamental y propia de los
Ingenieros Informáticos.
INTRODUCCIÓN
Es bien sabido que los Sistemas de Tiempo Real pueden llevar el control eventosque ocurren en el mundo real,
por lo tanto es un sistemaque responde a un estímulo externo dentro de un tiempo especificado.
Entonces los sistemas de tiempo real interactúan con el entorno que se le presente y pueden ejecutar
accionesde respuesta para determinados estímulos de dicho entorno.
Este tipo de sistemas tienen muchas características que benefician a todo el individuo que pretenda interactuar
con ellos.
A continuación se abordara a fondo el tema: "Sistemas De Tiempo Real (STR)"
DEFINICIÓN:
Básicamente los sistemas de tiempo real se definen como sistemas informáticos que tienen la capacidad de
interactuar rápidamente con su entorno físico, el cual puede realizar funciones de supervisióno control para su
mismo beneficio.
Todos los sistemas de tiempo real tienen la facultad de ejecutar actividades o tareas en de intervalos de tiempo
bien definidos.
Todas las tareas son ejecutadas inmediatamente en una forma concurrente, esto es para sincronizar el
funcionamiento del sistema con la simultaneidad de acciones que se presentan en el mundo físico.
En los sistemas de tiempo real los intervalos de tiempo en que se ejecutan las tareas se definen por un
esquema de activación y por un plazo de ejecución. En lo que respecta al esquema de activación puede ser
periódico, es decir en intervalos regulares, o también puede ser aperiódico, es decir,en respuesta a sucesos
externos que ocurren de forma irregular.
La mayoría de los STR son utilizados cuando existen requerimientos de tiempo muy rígidos en las operaciones o
en el flujo de datos, generalmente son requeridos como sistemas de control en una aplicación dedicada.
La eficienciade los STR no solo depende de la exactitud de los resultados de cómputo, sino también del momento
en que los entrega. La predictibilidad es su característica principal de este tipo de sistemas.
Este tipo de sistemas se caracterizan por tener que producir una salida, como respuesta a una entrada, en un
tiempo determinado. El intervalo de tiempo que se presenta entre la entrada y la salida debe ser muy pequeño
para que la respuesta temporal del sistema sea aceptable.
Cuando se diseña un sistema de tiempo real se pasa por varias fases:
1.- Se identifican todas las tareas que se tienen que realizar y también se identifican las restricciones
temporales que se pretenden cumplir.
2.- Posteriormente se codifican los programas que ejecutarán las tareas
3.- Posteriormente se pasa a medir el tiempo de cómputo de cada tarea y se realiza un análisis de
planificabilidad.
Este análisis consiste en aplicar unas pruebasal conjunto de tareas de tal forma que si éstas pasan el
testentonces se puede garantizar que ninguna tarea perderá su plazo de ejecución. De lo contrario si no pasan
el test se tiene que volver a comenzar desde el principio, es decir, comenzar de nuevo, utilizando otro
procesadormás potente o utilizando otros algoritmos para implementar las tareas.
GENERALIDADES DE LOS STR
Requiere técnicas de análisis, diseñoy prueba que son desconocidas en otras áreas de aplicación.
Esta muy acoplado con el mundo externo.
Opera bajo condiciones de rendimiento muy rigurosas.
Esta conducido por el hardware, software, por las características del sistema operativo, por requisitos de la
aplicación, así como por aspectos de diseño.
ELEMENTOS QUE COMPONEN UN STR
Aspectos de integración y de rendimiento.
Manejo de Interrupciones.
Bases de Datos de Tiempo Real.
Sistemas Operativos de Tiempo Real.
Lenguajes de Tiempo Real.
Sincronización y comunicación de tareas.
SISTEMAS OPERATIVOS DE TIEMPO REAL
Los SistemasOperativos de tiempo real son la plataforma para establecer un sistemade tiempo real ya que en
los SOTR no tiene importancia el usuario, sino los procesos.
Algunos ejemplos de Sistemas Operativos de tiempo real son:
VxWorks,
Solaris, Lyns OS
Spectra
Por lo regular Sistema Operativode tiempo real suele tener la misma arquitectura que un Sistema Operativo
convencional, pero su diferencia radica en que proporciona mayor prioridad a los elementos de controly
procesamiento que son utilizados para ejecutar los procesos o tareas.
El SOTR debe ser multitarea y permisible
Un SOTR debe poder asignar prioridades a las tareas
El SOTR debe proporcionar medios de comunicacióny sincronización entre tareas
Un SOTR debe poder evitar el problema de inversión de prioridades
El comportamientotemporal del SOTR debe ser conocido
CLASIFICACIÓN DE LOS SISTEMAS DE TIEMPO REAL
Los sistemas de tiempo real pueden ser de dos tipos, esto es en funciónde su severidad en el tratamiento de los
errores que puedan presentarse:
Sistemas de tiempo real blandos o Soft real-time systems:estos pueden tolerar un exceso en el tiempo de
respuesta, con una penalización por el incumplimiento del plazo. Estos sistemas garantizan que las tareas
críticas se ejecutan en tiempo. Aquí los datos son almacenados en memorias no volátiles, no utilizan técnicas de
memoriavirtual ni tiempo compartido, estas técnicas no pueden ser implementadas en hardware.
Sistemas de tiempo real duros o Hard real-time systems: aquí la respuesta fuera de término no tiene
valoralguno, y produce la falla del sistema. Estos sistemas tienen menos utilidades que los implementados por
hard, por ejemplo no pueden utilizarse para control industrial y robótico. Pero si para multimedia, supervisiónde
controles industriales y realidad virtual.
MÉTODOS DE DISEÑOS
Cuando se elabora software de tiempo real se deben incorporar una alta calidad.
Al elaborar el software de tiempo real se presentan múltiples problemas como:
Representación de interrupciones y cambio de contexto.
Comunicación y sincronización de tareas.
Grandes variaciones en las tasas de datos.
Requisitos especiales para manejo de errores y recuperación de fallos.
Procesamiento asíncrono.
Para evitar muchos de los problemas que se presentan al elaborar software de tiempo real se han establecido
algunos métodos como lo son:
Metodología de flujo de datos.
Metodología de estructura de datos.
Metodología orientada a los objetos.
REQUISITOS TEMPORALES
Tiempo real estricto (hard real-time)
– todas las acciones deben ocurrir dentro del plazo especificado
» Ejemplo: control de vuelo
Tiempo real flexible (soft real-time)
– se pueden perder plazos de vez en cuando
– el valor de la respuesta decrece con el tiempo
» Ejemplo: adquisición de datos
Tiempo real firme (firm real-time)
– se pueden perder plazos ocasionalmente
– una respuesta tardía no tiene valor
» Ejemplo: sistemas multimedia
ESTRUCTURA DE UN STR
CARACTERÍSTICAS DE LOS SISTEMAS DE TIEMPO REAL
CARACTERÍSTICAS PRIMARIAS
CARACTERÍSTICAS SECUNDARIAS
Procedimiento concurrente
Fiabilidad
Interfaz hardware
Reconfigurabilidad
Tiempo de reacción antes de los eventos Usabilidad
Arquitectura distribuida
Obligaciones
Bases de datos
Capacidad de evolución
OTRAS CARACTERISTICAS:
DETERMINISMO EN LOS STR
Este término es una parte fundamental en estos sistemas, podría decirse que es una cualidad ya que es la
capacidad de determinar con una alta probabilidad, cuanto es el tiempo que tarda una tarea en iniciar, es decir,
que los STR necesitan que ciertas tareas se comiencen a ejecutar antes que otras.
RESPONSIVIDAD EN LOS STR:
Este término se basa en el tiempo que tarda una tarea en ejecutarse. La responsividad se enfoca a 3 aspectos
los cuales son:
La cantidad de tiempo que tarda iniciar la ejecución de una interrupción
La cantidad de tiempo que se necesita para realizar las tareas que pidió la interrupción.
Los efectos de Interrupciones anidadas.
USUARIOS CONTROLADORES
Todos los el usuario tienen un mejor control de todos los procesos que se ejecutan en el sistema esto es:
Los procesos son capaces de especificar su prioridad
Los procesos son capaces de especificar el manejo de memoria que requiere
Los procesos especifican que derechostiene sobre el sistema.
CONFIABILIDAD
En los STR la confiabilidad juega un papel muy importante, ya que el sistema no debe de presentar fallos, sino
que más aun la calidad del servicio que ofrezca no debe de degradarse más allá de un límite especificado.
El sistema tiene que tener la capacidad de seguir funcionando aunque se presenten grandes catástrofes, o
fallos mecánicos. Por lo general una degradación en el servicio en un STR lleva consecuencias catastróficas.
TOLERANCIA A FALLOS
Al hablar de tolerancia a los fallos nos estamos refiriendo a la capacidad de un sistema de conservar la máxima
capacidad y los máximos datos posibles en caso de un problema grave que afecte a parte del sistema.
Al referirnos a la tolerancia a los fallos estamos hablando también de la estabilidad ya que un sistema de tiempo
real cuando le es imposible cumplir todos los plazos de ejecución de las tareas que tenia asignado en ese
momento, el sistema cumple los plazos de las tareas mas criticas y de mayor prioridad que hasta ese momento
se estaban ejecutando.
Entonces el sistema debe de fallar de manera que cuando se presente un problema en el sistema conserve gran
parte de los datos y capacidades del sistema en la mayor medida posible.
Características concretas:
Se presentan en entornos en donde deben ser aceptados y procesados una gran cantidad de sucesos, donde la
mayoría de estos sucesos son externos al sistema computacional, con un tiempo de respuesta inmediato.
Pueden ser utilizados en muchos ámbitos entre los cuales están en control industrial, conmutación telefónica,
control de vuelo, simulaciones en tiempo real., aplicaciones militares (entre otras).
Proporciona rápidos tiempos de respuesta.
Capacidad de procesar ráfagas de miles de interrupciones por segundo sin perder un solo suceso.
El proceso que tenga mayor prioridad expropia recursos.
La mayoría de los de procesos son estáticos.
La gestión de archivos se enfoca a velocidadde acceso que a la utilización eficiente del recurso.
APLICACIONES DE LOS STR
Los sistemas de tiempo real pueden tener muchísimas y con el paso del tiempo y el desarrollode nuevas
tecnologías surgen nuevos campos de utilización para estos sistemas.
Las áreas más comunes donde se aplican los servicios de un STR podrían ser:
Las telecomunicaciones
Los sistemas multimedia
El control industrial
La robótica
Los sistemas de aviónica y espaciales
Los ferrocarriles
Automóviles
Electrodomésticos de nueva generación
experimentos científicos
sistemas médicos.
SEGURIDAD EN LOS STR
Gran parte de los sistemas de tiempo real presentan requisitos de seguridadmuy complicados, lo que da como
resultado que la elaboración o desarrollo de un STR sea más complicada. Esto es que en algunos casos no se
puede permitir que ninguna tarea se ejecute fuera del intervalo especificado ni una sola vez.
ENTRADA/SALIDA EN SISTEMAS DE TIEMPO REAL
Cuando el procesamiento en tiempo real esta realizado, es necesario que la interacción con los dispositivos
externos sea también acotada en tiempo.
Entonces para establecer la transmisión de datos o información entre el sistema de tiempo real, los sensoresy
actuadores que conforman al sistema, pueden usarse diversas técnicas de buses de tiempo real, que ofrecen la
oportunidad de disponer de sensores inteligentes.
Este tipo de sensores no solo tienen la capacidad de transmitir los datos que se recolectaron, sino también
poseen la capacidad de enviar la información del instante que los datos fueron recolectados.
Ejemplos de protocolosde comunicación que utilizan los STR los cuales tienen la capacidad de reducir los
tiempos de transmisión son los siguientes:
El protocolo PAR (Positive Acknowledge or Retransmit), Implicit Flow Control, CSMA/CD (Carrier Sense Multiple
Access/Collision Detection), CAN (Control Area Network), Tokenbus, Central Master, y TDMA-TTP.
EJEMPLO QUE PLASMA LA UTILIDAD DE LOS STR
El Problema:
Hoy en día en las empresas, los problemas llegan al Director General cuando ya poco se puede hacer para
solucionarlos, ya se trata de una operación con pérdidas, una deuda incobrable o la pérdida de un cliente
importante. Es decir, cuando el perjuicio para nuestra empresa, para el cliente o para ambos es inevitable.
La Solución
Ahora bien, que seria si todos los comerciales de la empresa estuviera conectados a un sistema informático en
tiempo real que controle todas sus operaciones, autorizando las que cumplan las normas preestablecidas
(precios, riesgo, tiempos de entrega, etc.), y reteniendo las que no las cumplan para que sean autorizadas o
rechazadas por la personao personas con atribución para ello, quien recibe inmediatamente un aviso por
correo electrónico (un servicio que también puede realizarse mediante mensajes a móviles) en el que se le
indica que tiene una operación pendiente de autorizar y los parámetros que han provocado la irregularidad.
Todo esto ya realidad con en nuevo Sistema HERMES, que combina las tecnologías de telefoníamóvil e
Internetpara proporcionar un seguimiento continuo de las operaciones comerciales de la toda empresa.
CONCLUSIONES
Los sistemas de tiempo real (STR) juegan un papel muy importante ya que como todo sistema debe tener la
capacidad de satisfacer tareas en un tiempo de respuesta mínimo.
Los STR están presentes en todos los aspectos de nuestra vida diaria como aeronaves, teléfonos móviles,
automóviles, entre muchas otras aplicaciones que nos benefician ampliamente.
Se podría también concluir que los sistemas de tiempo real están en constante desarrollo puesto que con los
avances tecnológicosse construyen nuevas maquinas que operan en tiempo real y que por consiguiente
necesitan tener sistemas controlados por un computadorque tenga la capacidad de interactuar con el mundo
físico.
Los sistemas de tiempo real básicamente están integrados en un sistema de ingeniería más avanzado el cual
realiza funcionesde control, por lo que también se les llama sistemas empotrados o embedded systems.
Los sistemas de tiempo real suelen tener un reloj y un timer para verificar los tiempos reales de respuesta del
sistema. Se dice que no son términos iguales ya que un reloj le sirve al sistema únicamente para llevar un
conteo, en cambio un timer es un dispositivo que cuando llega a un estadodeterminado tiene la capacidad de
notificar que esta pasando, pero uno es el complemento del otro.
Descargar