View
108
Download
2
Category
Preview:
Citation preview
SISTEMAS OPERATIVOS
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.
¿Cuál es su Entorno?
¿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
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
Sistemas de tiempo real críticos y acríticos
Sistemas con parada segura y sistemas con degradación aceptable
Sistemas con respuesta garantizada ysistemas que hacen lo que pueden
Sistemas con recursos adecuados einadecuados
Sistemas dirigidos por tiempoy por sucesos
Estructura 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.
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
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
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).
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).
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.
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.
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.
Ejemplo: Control de Posición
Ejemplo: Control de Fabricación
Ejemplo: Control de Procesos
Recommended