Sistemas de tiempo real

Slides:



Advertisements
Presentaciones similares
Complejidad Computacional
Advertisements

Definición Objetivos Funciones de un S.O.
Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
UNIX COMP 240.
Diseño y Arquitectura sobre productos de software
Introducción a los sistemas de tiempo real
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
INSTITUTO TECNOLOGICO DE MINATITLAN
POLITICA DE MANTENIMIENTO BASADA EN EL EXAMEN DE LA CONDICION.
HISTORIA Y CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
Guia Diseño Robert Echeverria
Regulación PID El algoritmo de control más ampliamente extendido es el PID, pero existen muchos otros métodos que pueden dar un control de mayor calidad.
Administración de Procesos de Pruebas
Objetivo: Conocer los componentes hardware y software que constituyen un computador.
3.2.2 Arquitectura de referencia para sistemas de tiempo
M.S.C. Ivette Hernández Dávila
Gestión de Entrada / Salida
SISTEMAS OPERATIVOS.
Dirección de la Productividad
Introducción a los SSOO Sebastián Sánchez Prieto.
Tema 10: Gestión de Memoria
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Diseño del Software Diseño de datos Diseño arquitectónico
Diseño de Sistemas embebidos de Control Automático
1 Arquitectura de Sistemas de Tiempo Real (ASTR 2008/9). 5º Ingeniería en Informática. Tema 1: Introducción y conceptos básicos.
Introducción A Las Bases De Datos
ISF5501 Ingeniería de Software
CLASIFICACIÓN DE LAS COMPUTADORAS
EL SISTEMA OPERATIVO.
Características de un sistema operativo
SEGURIDAD EN SISTEMAS DE POTENCIA
Planificación de Procesos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
LENGUAJES DE PROGRAMACIÓN
Sistemas de Control y Proceso Adaptativo
Ingeniería en Sistemas de Información
COLEGIO DE CIENCIAS Y HUMANIDADES PLANTEL NAUCALPAN
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Control de Tiempo Real estricto en un robot móvil basado en MaRTE OS
PROYECTO INFORMÁTICO.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Tecnología de la Información y Comunicación 1
La Gestión y el Control de Procesos
Medición y Métricas del Software
S ISTEMAS O PERATIVOS. S ISTEMA O PERATIVO Software: equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes.
Generación De Los PC y Clasificación
Métricas de la Calidad de la Especificación.
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE ARTICULADORA: CLAUDIA MARIA RESTREPO P.
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
HISTORIA DE LOS SISTEMAS OPERATIVOS
Elementos de información
Kernel Para PDA Con Soporte a Procesos De Tiempo Real Francisco Javier Zuluaga Ramírez Asesor: Dr. Pedro Mejía Álvarez.
Elementos y tipos de sistemas operativos
Introduccion a los Sistemas en Tiempo Real
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...
Sistemas de tiempo real Msc. Rina Arauz. Sistemas de tiempo real 2 Definición (Donald Gillies) n Un sistema de tiempo real (STR) es aquel en el cual los.
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
Planificación de uso del procesador Rina Arauz. Planificación de CPU 2 UNAN-Leon La ejecución de un trabajo se compone de secuencias de procesador y de.
SOFTWARE DE COMPUTADORAS
CAPITULO III El Sistema Operativo (OS)
HISTORIA DE LA COMPUTACION ALGORITMOS Y LENGUAJES DE PROGRAMACION CARRERA: ING. INDUSTRIAL.
Sistemas de tiempo real
Transcripción de la presentación:

Sistemas de tiempo real Sebastián Sánchez Prieto

Bibliografía A. Burns and A. J. Wellings. “Real-Time Systems and their Programming Languages”. Addison-Wesley, 2nd Edition. 1996 M. H. Klein et al. “A Practitioner´s Handbook for Real-Time Analysis”. Kluwer Academic Publishers. 1993 H. Gomaa. “Software Design Methods for Real-Time Systems”. Addison-Wesley. 1993 G. De Micheli and M. Sami. “Hardware/Software Co-Design. Kluwer Academic Publishers”. 1996 B. O. Gallmeister. “Programming for the Real World. POSIX.4”. O’Reilly & Associates, Inc. 1995 D. Lewine. “POSIX. Programmer’s Guide”. O’Reilly & Associates, Inc. 1991 A. S. Tanenbaum. “Sistemas Operativos Distribuidos”. Prentice Hall. 1996 M. Barabanov. “A Linux-based Real-Time Operating System”. M. S. Thesis. Junio 1997  1999-2004 S2P, OGP & IGT

Definición (Donald Gillies) Un sistema de tiempo real (STR) es aquel en el cual los resultados son correctos, no sólo si la computación es correcta, sino también el tiempo en el cual se producen los resultados Si no se verifican las restricciones de tiempo, se dice que se ha producido un fallo en el sistema Otros han añadido: Así pues, es fundamental garantizar las restricciones de tiempo, lo cual implica que el sistema sea predecible. Además, sería deseable que el grado de utilización del sistema sea alto a la vez que se mantienen estas restricciones  1999-2004 S2P, OGP & IGT

Ejemplo Ejemplo: robot que debe coger un objeto que viaja por una cinta transportadora Sistema de tiempo real no es sinónimo de sistema rápido ni de sistema interactivo (i.e. radiotelescopio) Aunque las velocidades de proceso aumenten los STR seguirán existiendo  1999-2004 S2P, OGP & IGT

Mercado de los sistemas empotrados Tipo de procesador Millones de unidades Para ordenadores personales 100 Procesadores empotrados 300 DSP 600 Microcontroladores 8000 Año 2001 Curiosidades: Un teléfono móvil de última generación tiene más de 1 millón de líneas de código Los costes de un avión relacionados con el SW supone un 50% El 90% de las innovaciones en automóviles las proporcionan los sistemas electrónicos  1999-2004 S2P, OGP & IGT

Dónde se utilizan los STR Sistemas de mando y control Sistemas de control de procesos Sistemas de control de vuelo Sistemas de control de automóviles Sistemas de defensa Sistemas de vigilancia intensiva Sistemas multimedia Electrónica de consumo Sistemas de telecomunicación, etc.  1999-2004 S2P, OGP & IGT

Clasificación de los STR Críticos (hard real time systems): los plazos de respuesta deben respetarse en todas las circunstancias, una sola respuesta tardía a un suceso puede tener consecuencias fatales (sistemas de control de centrales nucleares o de aviones) Acríticos (soft real time systems): se puede tolerar retrasos ocasionales en la respuesta a un suceso (el sistema de control de una lavadora) ¿Qué se entiende por criticidad? En algunas ocasiones se habla de funciones de validez o de utilidad que definen la valía de los resultados en función de su tardanza  1999-2004 S2P, OGP & IGT

Otra clasificación Sistemas activados por eventos Las interrupciones determinan la evolución del sistema Pueden fallar si la carga es alta Sistemas activados por tiempo Sólo interrumpe el reloj de tiempo real Operan mejor con cargas altas (“pueden pensarse las cosas”) También hay sistemas mixtos  1999-2004 S2P, OGP & IGT

Estructura de un STR Sistema de control Indicadores Consignas Acciones Medidas Sistema controlado Entradas externas Salidas externas  1999-2004 S2P, OGP & IGT

Estructura de un STR El sistema de control (STR) actúa sobre el sistema controlado para conseguir un comportamiento definido Es muy común emplear un esquema realimentado En función de las medidas opera un algoritmo de control Ese algoritmo de control determina las acciones impuestas al sistema controlado Ejemplos: controlador PID, controlador deadbeat o filtros de Kalman Un aspecto de suma importancia son los tiempos en los que se lleva a cabo cada acción  1999-2004 S2P, OGP & IGT

Ejemplo: Control digital Controlador r(t) rk A/D Ley de control uk Referencia D/A yk A/D u(t) y(t) Sensor Planta Actuador  1999-2004 S2P, OGP & IGT

Sistemas empotrados Muchos STR son partes de otros sistemas en los que realizan operaciones de control En estos casos hablamos de sistemas empotrados o “embedded systems” Este tipo de sistemas suelen estar limitados en cuanto a recursos y no son visibles Ejemplos: Teléfonos móviles, radios, televisores, etc. Sistemas de control en automóviles Electrodomésticos  1999-2004 S2P, OGP & IGT

Características de los STR Los Sistemas de Tiempo Real (STR) llevan asociadas una serie de características básicas como las siguientes: Tamaño y complejidad Fiabilidad y seguridad Cálculos con números reales Interacción con dispositivos físicos Eficiencia Dependencia del tiempo Concurrencia Tolerancia ante fallos  1999-2004 S2P, OGP & IGT

Tamaño y complejidad Son dos aspectos ligados al software Un factor muy importante es la necesidad de realizar cambios Solución: descomponer el sistema en subsistemas pequeños  1999-2004 S2P, OGP & IGT

Fiabilidad y seguridad Es la probabilidad de proporcionar el servicio especificado Para una tasa de fallos de  averías/hora la media de tiempo entre averías MTTF=1/  Si MTTF > 109 hablamos de sistemas ultrafiables Seguridad Los sistemas críticos deben ser ultrafiables Para ciertos proyectos es necesaria una certificación oficial Los requisitos de fiabilidad y seguridad en los STR son mayores que en el resto Según Hecht y Hecht (1986), los sistemas software complejos, por cada millón de líneas de código contienen una media de 20.000 errores El 90% de esos errores pueden ser detectados con sistemas de comprobación 200 errores de los restantes se detectan durante el primer año. Los 1800 restantes permanecen sin detectar  1999-2004 S2P, OGP & IGT

¿De dónde provienen los errores? Una especificación inadecuada Errores de diseño de los componentes SW Averías en los componentes de hardware Interferencias transitorias o permanentes en los sistemas de comunicación Los errores 3 y 4 tienen un comportamiento previsible con métodos estadísticos El lenguaje de programación debe facilitar el desarrollo de sistemas seguros Se hace necesario el empleo de técnicas de prevención y tolerancia ante fallos  1999-2004 S2P, OGP & IGT

Cálculos con números reales Números asociados a magnitudes físicas asociadas al sistema controlado Los datos crudos son filtrados y convertidos a datos de ingeniería Se representan de forma aproximada en un ordenador Tipos de representaciones: coma fija y coma flotante Cuando algún dato toma valores incorrectos, se generan alarmas  1999-2004 S2P, OGP & IGT

Dependencia del tiempo Tiempos en los cuales se deben llevar a cabo determinadas acciones Tiempos de terminación de cada acción Responder a situaciones transitorias en las que no se pueden garantizar todos los plazos Realizar cambios dinámicos en el comportamiento temporal del sistema El comportamiento del sistema debe ser DETERMINISTA  1999-2004 S2P, OGP & IGT

Aspectos temporales El tiempo de respuesta puede variar (jitter) Instante de activación Límite (Deadline) Plazo máximo de respuesta Inicio Fin Tiempo de respuesta El tiempo de respuesta puede variar (jitter)  1999-2004 S2P, OGP & IGT

Concurrencia Se deben atender diversos tipos de eventos en paralelo Puede ser suficiente con un sólo procesador En ocasiones es necesario recurrir a sistemas multiprocesador ¿Cómo expresar la concurrencia desde el programa? Con ejecutivos cíclicos Con tareas independientes Los ejecutivos cíclicos son sencillos, pero: Complican la labor del programador Los programas resultantes son oscuros y poco elegantes Programas difíciles de corregir Es más difícil la descomposición Es difícil llevar el programa a un sistema multiprocesador Colocar el código de manejo de fallos es problemático  1999-2004 S2P, OGP & IGT

Concurrencia Con tareas independientes, las cuales pueden ser soportadas por: El lenguaje: caso de Ada o Modula El sistema operativo Un SOTR debe proporcionar soporte básico para tareas de tiempo real, tolerancia a fallos, determinismo, etc. Aspectos cruciales que deben considerarse: El factor tiempo Los protocolos de comunicación La asignación de recursos  1999-2004 S2P, OGP & IGT

Características de los SOTR Poseen un cambio de contexto rápido Poseen un tamaño pequeño Responden a las interrupciones externas de una forma rápida Minimizan los tiempos con interrupciones deshabilitadas Proporcionan esquemas de gestión de memoria que no afecten a la predictibilidad y proporcionan archivos de acceso rápido  1999-2004 S2P, OGP & IGT

Elementos proporcionados Con objeto de mantener las especificaciones de tiempo los SOTR: Poseen un reloj de tiempo real Proporcionan planificación basada en prioridades Proporcionan alarmas y timeouts, y Las tareas pueden activarse en intervalos de tiempo definidos  1999-2004 S2P, OGP & IGT

Lenguajes de programación Básicamente cabe considerar tres alternativas: Lenguajes ensambladores Proporcionan la máxima flexibilidad pero los desarrollos son costosos y poco fiables Lenguajes secuenciales (C, Pascal, FORTRAN, etc.) Deben tener un SOTR por debajo Lenguajes concurrentes (Ada, Modula, concurrent C, etc.) El lenguaje proporciona la concurrencia y el tiempo real  1999-2004 S2P, OGP & IGT