Conceptos en Sistemas de Tiempo Real (Real Time Systems)

Slides:



Advertisements
Presentaciones similares
INTRODUCCIÓN A LA VERIFICACION Y VALIDACION
Advertisements

ADMINISTRAR EL DESEMPEÑO Y LA CAPACIDAD
Sistemas Operativos Administración del procesador.
Planificación de Monoprocesadores
Sistema operativo Componentes de un sistema operativo
PLANEACION DE PROYECTOS
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Planificación con Prioridades Fijas
TEMA 8: DIAGRAMAS EN UML.
Introducción al tiempo real en sistemas empotrados
POLITICA DE MANTENIMIENTO BASADA EN EL EXAMEN DE LA CONDICION.
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
DSOO - María Eugenia Valencia
Estructuras en Sistemas Operativos
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
CONCURRENCIA. PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Juan Antonio Fernández Madrigal, 2004 Departamento de Ingeniería de Sistemas y Automática.
Tema 2: Técnicas de evaluación I: la observación y El registro.
Analisis de Planificación
Tema 10: Gestión de Memoria
Planificación de Tareas Aperiodicas
Sistemas Operativos Procesos.
Planificación Cíclica
Diseño e Implementación de un Sistema de Tiempo Real Distribuido
Ingeniería de Sistemas Requerimientos
Diseño de la investigación
Actividad 6. Requisitos del software, referente a la estructura y base de datos. M.C. Juan Carlos Olivares Rojas Syllabus May,
1 Arquitectura de Sistemas de Tiempo Real (ASTR 2008/9). 5º Ingeniería en Informática. Tema 1: Introducción y conceptos básicos.
SOFTWARE DE SIMULACION
GESTION DEL TALENTO HUMANO. ANÁLISIS DE LA SITUACIÓN (Estudio de Necesidades de Capacitación  Con esta etapa se cumple con la detección de necesidades.
Sistemas en tiempo real (STR)
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
5.3 APROXIMACIONES AL DISEÑO
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
DISEÑO DE CARGOS.
STR Sistemas de Tiempo Real Juan Sebastián Cabrera Sistemas de Control Embebido Universidad del Cauca.
Planificación Dinámica de Tareas
SEGURIDAD EN SISTEMAS DE POTENCIA
Planificación de Tareas Aperiodicas
Ing. Jorge A. Abraham Técnicas Digitales II
Sistema Embebidos: Características Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania.
Informática III Arquitectura de Software para aplicaciones de tiempo real estricto Ejecutivos cíclicos VS. Ejecutivos de prioridad fija Integrantes: Anibal.
Arquitectura de Von Neumann
The nesC Language: A Holistic Approach to Networked Embedded Systems Tomado de paper de: D. Gay, P. Levis, R. Behren, M. Welsh, E. Brewer, D. Culler.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.
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.
Sistemas, Procesos y Modelos
Capítulo 1. Conceptos básicos de la Estadística
HERRAMIENTAS CASE.
“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.
Métodos de Planificación
ORGANIZACIÓN Y PLANIFICACIÓN
Administración Estratégica para la Competitividad Calidad en el Servicio Dra. Icela Lozano Encinas Dra. Icela Lozano Encinas.
REQUISITOS.
Fundamentos de Sistemas Expertos
Roles de Open UP.
TIPOS DE PRUEBAS DEL SOFTWARE
INTERRUPCIONES – ABRAZO MORTAL
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Introduccion a los Sistemas en Tiempo Real
La Programación Orientado a Objetos
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
ANALISIS DE SISTEMAS PROFESOR HECTOR ARCIA.
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.
El proceso de diseño de sistemas: el paradigma de los sistemas
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Gestión de Memoria – Parte 2
Transcripción de la presentación:

Conceptos en Sistemas de Tiempo Real (Real Time Systems) Jair Jonko Araujo (jonko@cefetrs.tche.br)

Caracterización Sistemas de Tiempo Real respuestas deben ser válidas (“correctness”) y dentro de plazos (“Timeliness”) impuestos por el ambiente. Sistemas No de Tiempo Real respuestas válidas en plazos aceptables, no especificados. Una Definición [Audsley90]: Un Sistema de Tiempo Real es un sistema que produce reacciones a estímulos oriundos del ambiente dentro de intervalos de tiempos impuestos por el ambiente (es incluyendo entre estos estímulos el pasar del tiempo físico).

Caracterización Fuerte acoplamiento de un STR con su Ambiente: Proceso activado por estímulos del Ambiente Tiempos de Respuesta delimitan Estímulos/Respuestas Procedimientos deben terminar dentro de plazos (deadlines) Si terminar fuera de plazo sistema falla (falla temporal) Datos con plazos de validez: Datos desactualizados o no válidos (“outdated data”) pueden conducir a resultados o respuestas incorrectas Flujos de control en la ejecución de los procedimientos es definida por el ambiente: Imposibilidad en muchas aplicaciones del STR ejercer un control o limitación en los estímulos provenientes del ambiente

Conceptos Básicos Tarea (task ) Segmento de código cuya ejecución posee atributo temporal propio Ejemplo: método en OO, subrutina, trecho de un programa Deadline Instante máximo deseado para la conclusión de una tarea

Conceitos Básicos Tiempo real crítico ( hard real-time ) Falla temporal puede resultar en consecuencias catastróficas Necesario garantir requisitos temporales en proyecto Ejemplo: usina nuclear, industria petroquímica, misiles Tiempo real no crítico ( soft real-time ) Ejemplo: multimedia

Conceptos Básicos Modelo de Tareas (task system ) Descripción de las propiedades temporales de las tareas en el sistema Ejemplo: periódicas o no, con duración conocida o no, etc Carga de Tareas ( task load ) Descripción de cuales tareas deberan ser ejecutadas Estática: Limitada y conocida en proyecto Dinámica: Conocida solamente a lo largo de la ejecución

000Conceptos Básicos Previsibilidad ( predictability ) Capacidad de afirmar algo sobre el comportamiento futuro del sistema Determinista: Garante que todos los requisitos temporales serán cumplidos Probabilista: Provee una probabilidad para su cumplimiento La previsibilidad en STRs determina implicaciones en todos los niveles: lenguages sistemas operacionales comunicación arquitectura del computador, etc

Conceptos Básicos Escalonamiento ( scheduling ) Identifica la forma cómo recursos son adjudicados a las tareas Escalonador ( scheduler ) Componente del sistema responsable de la gerencia de recursos Escala de Ejecución( schedule ) Describe cuando cada tarea ocupa cada recurso Escalonamiento Estático ( static scheduling ) Capaz de ofrecer previsibilidad determinista Escalonamento Dinámico ( dynamic scheduling ) Capaz de ofrecer apenas previsibilidad probabilista

Conceptos Básicos Event-Triggered Evento externo genera interrupción y dispara tarea Funciona bien con carga pequeña Puede fallar en caso de carga pesada Ex: Cano estourado gera chuva de eventos

Conceptos Básicos Time-Triggered Interrupción de reloj a cada T milisegundos (tick) A cada tick algunos sensores y actuadores son apagados No existen interrupciones además de las del reloj Problema es selecionar T (carga x atraso) Ex: Relación causa-efecto en tren y cancela

Propiedades Temporales de Tareas Folga = Deadline - Liberação - Tempo de execução Atraso = MAX( 0 , Conclusão - Deadline ) Tempo de resposta = Conclusão - Chegada

Tareas Periódicas – Tarea es activada a cada P unidades de tiempo – Instantes de llegada pueden ser calculados a partir del inicial – Ejemplo: control de proceso via lazo de realimentación

Tareas Esporádicas – Instantes de llegada no son conocidos – Existe un intervalo mínimo de tiempo entre llegadas – Ejemplo: atención al botón de alarma

Conceptos Básicos Tarea Aperiódica Nada es sabido sobre las activaciones de la tarea Ejemplo: aparición de objeto en pantalla de radar Relaciones de exclusión mutua entre tareas Tareas A y B presentan exclusión mutua cuando NO pueden ejecutar simultáneamente Ejemplos: Estructura de datos compartida Archivo Controlador de periférico

Abordage para Escalonamiento TR

Abordages con garantía en proyecto Ofrece previsibilidad determinista, con análisis hecho en proyecto Carga limitada y conocida en proyecto ( Hipótesis de Carga ) Supuesto un límite para faltas ( Hipótesis de Faltas ) Dividida en dos partes: Análisis de escalonabilidad Construcción de escala de ejecución

Abordages con garantía en proyecto Ventajas – Determina en proyecto que todos los deadlines serán cumplidos – Necesario para aplicaciones críticas – Teoría sirve de base para abordages sin garantia Desventajas Necesario conocer exactamente la carga Necesario reservar recursos para el peor caso Difícil determinar el pior caso en soluciones off-the-shelf Genera enorme subutilización de recursos

Ejecutivo Cíclico Todo el trabajo de escalonamiento es hecho en proyecto Resultado es uma grade de execução ( time grid ) Grade determina cual tarea ejecuta cuando Garantia obtenida a través de una simple inspección de escala Durante la ejecución: Pequeño programa lee la grade y dispara la tarea apropiada Cuando la grade termina ella es nuevamente repetida Vantaja: Comportamiento completamente conocido Desventaja: Escalonamento muy rígido, tamaño de la grade Muy usado en aplicaciones embutidas ( Embedded Systems )

Ejecutivo Cíclico Restricciones deben ser observadas en la construcción de la grade Período, tiempo máximo de computación Precedencias, exclusión Escalonamiento puede ser: Preemptivo: tarea puede ser suspendida y despues retomada En el preemtivo: después que inicia tarea va hasta el fin

Prioridades + Test de Escalonamiento Cada tarea recibe una prioridad Prioridades pueden ser fijas o variables Escalonamiento en general es preemptivo Test ejecutado en proyecto determina escalonabilidad Test considera forma cómo prioridades son atribuidas Complejidad depende del modelo de tareas No ejecución: Escalonador dispara las tareas conforme las prioridades

Prioridades + Test de Escalonamiento Ventaja: Soporta tareas esporádicas, no tiene grade Desventaja: Tests limitados a algunos modelos de tareas Usado en aplicaciones que exigen garantia mas son muy complejas para construir una grade Políticas mas usadas Earliest Deadline First – EDF Rate Monotonic – RM (período menor – prioridad mayor) Deadline Monotonic – DM (deadline menor – mayor prioridad)

Inversion de Prioridades

Prioridades + Test de Escalonabilidad Ventaja: Soporta tareas esporádicas, no tiene grade Desventaja: Tests limitados a algunos modelos de tareas Usado en aplicaciones que exigen garantia mas son muy complejas para construir una grade Políticas más usadas Earliest Deadline First – EDF Rate Monotonic – RM (período menor – prioridad mayor) Deadline Monotonic – DM (deadline menor – mayor prioridad)

Soportes para Aplicaciones de Tiempo Real Aplicaciones son construídas a partir de los servicios ofrecidos por un sistema operacional Atender los requisitos temporales depende no solamente del código de la aplicación mas también de la colaboración del sistema operacional En el sentido de permitir previsibilidad o por lo menos un desempeño satisfactorio

Soportes para Aplicaciones de Tiempo Real Muchas veces los requisitos temporales de la aplicación son tan rigurosos que el sistema operacional es substituído por un simple núcleo de tiempo real No incluye servicios como sistema de archivos o gerencia sofisticada de memoria Núcleos de tiempo real ofrecen una funcionalidad mínima Mas son capaces de presentar excelente comportamiento temporal

Soportes para Aplicaciones de Tiempo Real Sistemas operacionales convencionales son construídos con el objetivo de presentar buen comportamiento medio Distribuyen los recursos de forma justa entre las tareas y los usuarios No existe preocupación con la previsibilidad. Mecanismos como Caches de disco, Memoria virtual, Porciones de tiempo del procesador mejoran el desempeño medio del sistema mas tornan mas difícil hacer afirmaciones sobre los tiempos de una tarea en particular

Soportes para Aplicaciones de Tiempo Real Aplicaciones con restricciones de tiempo real menos interesadas en una distribución uniforme de los recursos más interesadas en atender requisitos tales como períodos de activación y deadlines Sistemas operacionales de tiempo real atención es dedicada al comportamiento temporal servicios son definidos no solamente en términos funcionales mas también en términos temporales

Soportes para Aplicaciones de Tiempo Real Existe una variedad muy grande de Sistemas Operacionales de Tiempo Real No existe SO mejor o peor para todas las aplicaciones La diversidad de aplicaciones de STR genera una diversidad grande de SOTR