SISTEMAS EN TIEMPO REAL

SISTEMAS EN TIEMPO REAL Manuel Agustín Ortiz López Área de Arquitectura y Tecnología de Computadores Departamento de Arquitectura de Computadores, El

55 downloads 227 Views 121KB Size

Recommend Stories


Usuarios de sistemas externos en tiempo real
Usuarios de sistemas externos en tiempo real Elemento remoto GMRCUEX El elemento remoto GMRCUEX se encarga por un lado de recibir peticiones de uno o

Sistema Distribuido en Tiempo Real
Sistema Distribuido en Tiempo Real Julio Javier Castillo [email protected] Marina Elizabeth Cardenas [email protected] LIS-Laboratorio d

RELOJ DE TIEMPO REAL
RELOJ DE TIEMPO REAL Planteamiento: Utilizar el Reloj de Tiempo Real del PLC SX (RTC y/o Real Time Clock) para configurar una hora y fecha para mostra

Etiquetado emocional de música en tiempo real
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR Ingeniería Superior de Telecomunicaciones Proyecto Fin de Carrera Etiquetado emocional

Story Transcript

SISTEMAS EN TIEMPO REAL

Manuel Agustín Ortiz López Área de Arquitectura y Tecnología de Computadores Departamento de Arquitectura de Computadores, Electrónica y Tecnología Electrónica Universidad de Córdoba

Introducción

Introducción a los Sistemas en Tiempo Real • Índice: 1. Introducción. Consideraciones previas. 2. Estructura de un sistema en tiempo real. 3. Tipos de tareas. 4. Clasificación de los sistemas en tiempo real. 5. Aplicaciones de los sistemas en tiempo real. 6. Breve historia de los sistemas en tiempo real

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 1

Introducción

1. Introducción. Consideraciones previas. • Definición de sistema en tiempo real: " Un sistema en tiempo real debe producir unas salidas como respuesta a unas entradas dentro de unos límites de tiempo específicos" " Un sistema en tiempo real es aquel que debe producir respuestas correctas dentro de unos limites de tiempo". [Bennet,1993].

• Se plantean dos cuestiones: ¿ Qué significa limites de tiempo específicos? ¿ Por qué se dice "debe producir" y no dice "produce"? La respuesta a estas dos cuestiones solo se podrá tener cuando se considere una aplicación concreta: • No necesitamos el mismo tiempo de respuesta en unas aplicaciones que en otras. • No en todas las aplicaciones es necesario que el sistema responda siempre dentro de unos límites de tiempo concretos (ej. aplicaciones multimedia), mientras que en otras es crucial (piloto automático de un avión).

• ¿Qué diferencia existe entre un sistema informático cualquiera y un sistema informático en tiempo real? "Los sistemas informáticos en tiempo real son sistemas en los que la precisión del sistema no solo depende del resultado lógico de la computación sino que además depende del tiempo en el que el resultado se produjo ". [Bennet,1993] " Una respuesta tardía es una respuesta errónea".[ Bennet,1993].

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 2

Introducción

• Consideraciones importantes en los sistemas en tiempo real (STR). Ejemplo: Conductor y su coche [Krihsna,97]. Conductor: Controlador. Coche: Proceso que controla el conductor ¿Cual será la finalidad del conductor? • Llevar el coche desde su origen al destino. • Sin colisionar con ningún otro objeto o vehículo. • Manteniendo los limites de velocidad. ¿Qué elementos debe controlar el conductor? • Las ruedas, el motor y los frenos ¿Sobre que elementos actúa el conductor? • Sobre todos aquellos elementos que intervienen en la conducción, especialmente: Volante, frenos, acelerador, etc. Rendimiento del sistema conductor-coche. Considerado el conductor y el coche como sistema, ¿Cómo podríamos cuantificar el rendimiento del conductor? Y por tanto ¿Cómo mediríamos las acciones del conductor dentro del entorno en el que opera? Una medida obvia es comprobar si el conductor ha llegado a su destino. Otra medida sería cuanto tiempo ha tardado. Sin embargo estas valoraciones dependen mucho de las condiciones donde el sistema opera. Un rendimiento muy bueno seria una velocidad de 20Km. por hora durante una nevada pero malísimo en un día soleado. Supongamos el peor caso: El sistema falla (es decir el conductor no llega a su destino porque se ha salido de la carretera). ¿Concluiríamos diciendo que el rendimiento del sistema es nulo?. Sin embargo esta afirmación no es correcta dependerá de qué fue lo

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 3

Introducción

que produjo la salida de la carretera. No es lo mismo que se haya salido de la carretera por evitar una colisión de alguien que circulara en sentido contrario, que haberse salido de la carretera por un execso de velocidad al tomar una curva. En el primer caso contabilizaríamos la salida como un suceso mientras que en el segundo caso lo contabilizaríamos como un fallo. Por tanto el rendimiento no es una medida absoluta sino que depende de las circunstancias, y debería medirse el resultado obtenido respecto a todos los mejores resultados posibles. Tareas que realiza el conductor: Unas tareas son críticas para completar el objetivo y otras no. • El control de las ruedas y los frenos serían tares críticas, mientras que el apagar o encender la radio no serían tareas criticas. El control de las ruedas y los frenos son tareas de tiempo real, y deberían realizarse dentro de unos límites de tiempo específicos. Aún así el tiempo limite de finalización o tiempo máximo de realización (DEADLINE) de estas tareas depende del entorno. El tiempo máximo de control de las ruedas y los frenos no tienen por qué ser los mismos si se circula por una calle vacía que por esa misma calle cuando está colapsada por el tráfico Por ejemplo si necesito frenar no tengo por qué hacerlo con la misma rapidez si tengo un coche delante como si no lo tengo. Por tanto debemos concluir que los tiempos límite de finalización de tareas (DEADLINE) no son constantes sino que varían dependiendo del entorno. Especificación del sistema. Por otro lado supongamos que intentamos especificar de una forma precisa las responsabilidades del conductor.

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 4

Introducción

La principal responsabilidad está clara: llegar sano y salvo al destino sin cometer infracciones de tráfico. Sin embargo especificar los detalles es bien distinto, ya que deberíamos especificar de forma precisa lo que el conductor debería hacer ante cualquier eventualidad. Las especificaciones formales y su validación son las tareas más dificultosas en los sistemas en tiempo real. En resumen: • El rendimiento no es una medida absoluta sino que depende de las circunstancias, y debería medirse el resultado obtenido respecto a todos los mejores resultados posibles. • Los tiempos límite de finalización de tareas (DEADLINE) no siempre son constantes sino que varían dependiendo del entorno. • Las especificaciones formales de lo que un sistema debe realizar y su validación son las tareas más dificultosas en los sistemas en tiempo real.

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 5

Introducción

2. Estructura de un sistema en tiempo real. [Krishna,97]. • La estructura general de un sistema en tiempo real que controla un proceso cualquiera se muestra en la siguiente figura:

El estado del proceso bajo control y su entorno (presión, temperatura, velocidad, etc.) se adquiere mediante sensores, y se transmiten al controlador o computador a distinta velocidad dependiendo del parámetro

concreto que se quiere medir

(generalmente a velocidades inferiores a 1 Kbyte/s). En el sistema hay una serie de tareas (job list) que debe realizar el computador. El bloque "trigger generator " representa el mecanismo que arranca unas determinadas tareas. El resultado de la computación se traslada a los actuadores o bien al panel de control o pantallas de que disponga el operador. Las consignas a los actuadores suele hacerse también a una baja velocidad del orden de una consigna cada 25 ms. Todo control por computador presenta esta dicotomía por un lado los sensores y actuadores trabajan a baja velocidad mientras que el Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 6

Introducción

computador debe trabajar lo suficientemente rápido para realizar correctamente los algoritmos de control. En términos de velocidad de trabajo del computador en tiempo real podemos definir tres capas: Sensores y actuadores Periféricos Formatéo de datos Central de proceso

3. Tipos de tareas. [Krishna,97]. En el contexto de sistemas en tiempo real el conjunto de tareas que puede realizar un sistema se pueden clasificar de dos maneras distintas: 1. Atendiendo a la predicción del momento en que deben realizarse (momento de llegada) 2. Atendiendo a las consecuencias que tiene el que no se hayan realizado. Atendiendo al primer criterio se clasifican en: • Tareas periódicas y aperiódicas. Hay muchas tareas en un sistema que se realizan de forma periódica cada cierto tiempo. Por ejemplo en un avión se mide de forma periódica la altura, el estado de los alerones, etc. Este tipo de tareas son conocidas por el diseñador y deberían planificarse a priori.

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 7

Introducción

Sin embargo hay otros tipos de tareas que solo ocurren ocasionalmente de forma aperiódica. Por ejemplo cuando el piloto de un avión modifica la dirección del vuelo. Estas tareas por su naturaleza no son predecibles y debe reservarse un tiempo

de

computación para ellas, de forma que puedan realizarse de forma satisfactoria. Las tareas aperiodicas que se realizan muy de tarde en tarde se llaman esporádicas. Atendiendo al segundo criterio se clasifican en: • Tareas críticas y no críticas. Las tareas de tiempo real se clasifican también de acuerdo a las consecuencias que tiene el que nos se hayan concluido a tiempo. Tareas críticas son aquellas en las que de sobrepasarse su tiempo máximo de ejecución (DEADLINE) ocurre alguna catástrofe. Las tareas no criticas son aquellas que se ocupan de una tarea no critica pero en las que debe tenerse como objetivo de que la mayoría se ejecuten dentro de su tiempo máximo. Por ejemplo en los sistemas multimedia la mayoría de las tareas no son críticas y sin embargo debe procurarse que se realicen dentro de su tiempo establecido.

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 8

Introducción

4. Clasificación de los sistemas en tiempo real. • Los sistemas en tiempo real se clasifican de acuerdo a los requisitos temporales: Hard real-time Son sistemas en los que es absolutamente imperativo que las tareas (respuestas del sistema) concluyan dentro de su limite de tiempo de ejecución (DEADLINE). Sistemas de este tipo son por ejemplo un avión, una central nuclear, etc. Soft real-time Son sistemas en los que es admisible que una tarea supere su tiempo máximo de ejecución, y por tanto el sistema seguirá funcionado. Sistemas de este tipo son los sistemas multimedia, los sistemas de adquisición de datos. Los sistemas reales serán una mezcla de ambos sistemas, ya que un mismo sistema constará de tareas críticas y no críticas.

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 9

Introducción

5. Aplicaciones de los sistemas en tiempo real. • Son numerosas las aplicaciones donde se utilizan sistemas en tiempo real: • Sistemas de defensa

• Sistemas de telecomunicaciones

• Sistemas de Radar

• Sistemas de satélites

• Control de procesos

• Sistemas de control en vehículos

• Aviónica

• Sistemas de Navegación autónoma

• Control de tráfico aéreo • Sistemas de telecomunicaciones • Servidores multimedia

• Sistemas de procesamiento de señal

• Sistemas de control y adquisición de datos • Sistemas de control de centrales nucleares • Etc..

• Un grupo importante de sistemas en tiempo real son los sistemas empotrados (Embedded systems). Son sistemas diseñados para una aplicación específica. Por ejemplo un teléfono móvil, el control del abs en un coche, etc. Sin embargo un ordenador personal no sería un sistema empotrado ya que no se ha concebido para que realice una aplicación concreta. Por tanto la afirmación de que todo sistema empotrado es un sistema en tiempo real es cierta, mientras que la afirmación contraria no lo es.

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 10

Introducción

6. Breve historia de los sistemas en tiempo real. [Laplante,97]

Año Sistema

Compañía Sistema

Innovación

1947 Whirlwind

MIT/

Simulador

Memoria de ferrita

U.S. Navy

de vuelo

Tiempo de respuesta real

IBM

Defensa

Diseñado

aérea

como sistema en tiempo real

Navegación

Primer sistema de navegación

1957 SAGE

1957 Cytac

Varios

específicamente

en tiempo real 1957 Stretch

1958 Scientific 1103A

IBM

Univac

Propósito

Equipo

completamente

general

realizado con transistores

Propósito

Primer

general

interrupciones por hardware

equipo

con

(interrupciones asíncronas) 1959 SABRE

IBM

Reserva aérea

1962 Basic Executive

IBM

Propósito

Primer

general

administrador de tareas en

equipo

con

un

tiempo real 1963 Basic Executive II IBM

Propósito

Poseía

diversos

general

planificadores en tiempo real

1970 Llegada del microprocesador. Se utiliza por primera vez el término "tiempo real" en el control digital de procesos

Sistemas en Tiempo Real Manuel Ortiz. Universidad de Córdoba

Página 11

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.