Sistema de Tiempo Real

22
SISTEMAS OPERATIVOS SISTEMA DE TIEMPO REAL

Transcript of Sistema de Tiempo Real

Page 1: Sistema de Tiempo Real

SISTEMAS OPERATIVOS

SISTEMA DE TIEMPO REAL

Page 2: Sistema de Tiempo Real

¿Qué es un sistema de Tiempo Real?

Un sistema de tiempo real es un sistema informático en el que es significativo el tiempo en el que se producen sus acciones.

No es suficiente que las acciones del sistema sean correctas lógicamente, sino que, además, deben producirse dentro de un intervalo de tiempo determinado

Esto es debido a que el sistema está conectado a un proceso externo del que recibe estímulos a los que debe responder con suficiente rapidez para evitar que evolucione a un estado indeseable.

Los sistemas de tiempo real son aquellos que interactúan con el mundo exterior donde el tiempo es un factor importante.

Page 3: Sistema de Tiempo Real

¿Cuál es su Entorno?

Page 4: Sistema de Tiempo Real

¿Cuáles son sus características?

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

Page 5: Sistema de Tiempo Real

Clasificación de los STR

Según las propiedades del sistema controlado Sistemas críticos y sistemas acríticos Sistemas con parada segura y sistemas con degradación

aceptable

Según las propiedades del sistema de tiempo real Sistemas con tiempo de respuesta garantizado y sistemas

que hacen lo que pueden Sistemas con recursos adecuados y sistemas con recursos

inadecuados Sistemas dirigidos por tiempo y sistemas dirigidos por

eventos

Page 6: Sistema de Tiempo Real

Sistemas de tiempo real críticos y acríticos

Page 7: Sistema de Tiempo Real

Sistemas con parada segura y sistemas con degradación aceptable

Page 8: Sistema de Tiempo Real

Sistemas con respuesta garantizada ysistemas que hacen lo que pueden

Page 9: Sistema de Tiempo Real

Sistemas con recursos adecuados einadecuados

Page 10: Sistema de Tiempo Real

Sistemas dirigidos por tiempoy por sucesos

Page 11: Sistema de Tiempo Real

Estructura Sistema de Tiempo Real

Page 12: Sistema de Tiempo Real

Diseño y Fases de STR

Cuando se diseña un sistema de tiempo real se pasa por varias fases:

Se identifican todas las tareas que se tienen que realizar y también se identifican las restricciones temporales que se pretenden cumplir.

Posteriormente se codifican los programas que ejecutarán las tareas

Posteriormente se pasa a medir el tiempo de cómputo de cada tarea y se realiza un análisis de planificabilidad.

Page 13: Sistema de Tiempo Real

Sistemas Empotrados

Muchos sistemas de tiempo real son componentes de otros sistemas, en los que realizan funciones de control En este caso se dice que se trata de sistemas empotrados (embedded systems)

Ejemplos automóviles electrónica de consumo: teléfonos, radios, televisores electrodomésticos periféricos de computador

Características A menudo, el computador no es visible desde fuera Los recursos son limitados

Page 14: Sistema de Tiempo Real

Lenguaje de Programación

Un lenguaje de programación de sistemas de tiempo real debe facilitar la realización de sistemas concurrentes, fiables, con un comportamiento temporal analizable.

Hay tres clases de lenguajes de interés para STR: Lenguajes ensambladores, Flexibles y eficientes, pero

costosos y poco fiables

Lenguajes secuenciales (Fortran, Pascal, C, ...) Necesitan un SO para concurrencia y tiempo real

Lenguajes concurrentes (Modula, Ada, ...) Concurrencia y tiempo real incluidos en el lenguaje

Page 15: Sistema de Tiempo Real

Sistema de Tiempo Real: Lenguaje C

Es un lenguaje muy utilizado para programación de sistemas

Es un lenguaje estructurado, con bloques sin tipado fuerte muy flexible (pero a veces poco seguro)

No tiene integrada la concurrencia ni el tiempo real se consigue invocando servicios del sistema operativo de forma explícita

No facilita la descomposición en módulos ni la programación con objetos se puede hacer con C++ (una extensión de C para programar con objetos).

Page 16: Sistema de Tiempo Real

Sistema de Tiempo Real: Lenguaje ADA

Es un lenguaje diseñado específicamente para sistemas de tiempo real empotrados, concurrencia tiempo real acceso al hardware e interrupciones

Es un lenguaje imperativo, descendiente de Pascal estructura en bloques fuertemente tipado.

Está pensado para construir sistemas grandes y cambiantes, paquetes (módulos) y esquemas genéricos, extensión de tipos con herencia, biblioteca jerárquica, interfaces normalizadas con otros lenguajes (C, Fortran).

Page 17: Sistema de Tiempo Real

Sistema de Tiempo Real: Lenguaje ADA 95

Es la versión actual normalizada de AdaLa norma define un núcleo común para todas las

implementaciones unos anexos especializados para: Programación de sistemas Sistemas de tiempo real Sistemas distribuidos Sistemas de información Cálculo numérico Fiabilidad y seguridad

Los anexos definen paquetes de biblioteca mecanismos de implementación no añaden sintaxis ni vocabulario al lenguaje.

Page 18: Sistema de Tiempo Real

Sistemas Operativos de Tiempo Real

Los sistemas operativos convencionales no son adecuados para realizar sistemas de tiempo real No tienen un comportamiento determinista No permiten garantizar los tiempos de respuesta

Un sistema operativo de tiempo real debe soportar Concurrencia: Procesos ligeros (threads) con memoria común Temporización: Medida de tiempos y ejecución periódica Planificación: prioridades fijas con desalojo, acceso a recursos

con protocolos de herencia de prioridad Dispositivos de E/S: acceso a recursos de hardware e

interrupciones.

Page 19: Sistema de Tiempo Real

Algunos Sistemas Operativos de Tiempo Real

VxWorks: De Wind River, que es subsidiaria de Intel desde julio de 2009 con soporte para multiprocesadores, IPv6 y un sistema de archivos con protección de memoria o sea que las tareas no pueden alterar la memoria de trabajo de otras tareas. Funciona en las plataformas de embebidos más populares, se usa con un IDE para Windows/Linux, que normalmente incluye depurador, simulador y herramientas de análisis.

QNX: De QNX, subsidiaria de Research in Motion (los del Blackberry) desde mayo de 2010 símil Unix, ofrece funcionalidad parecida al VxWorks. En 2007 fue abierto el código de su núcleo

RTLinux: Basado en Linux

FreeRTOS: Es gratuito.

Page 20: Sistema de Tiempo Real

Ejemplo: Control de Posición

Page 21: Sistema de Tiempo Real

Ejemplo: Control de Fabricación

Page 22: Sistema de Tiempo Real

Ejemplo: Control de Procesos