Introducción al tiempo real en sistemas empotrados

Slides:



Advertisements
Presentaciones similares
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Advertisements

IBD Clase 14.
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
Tabla de Contenido Concurrencia.
Módulo 5 – Inspecciones en rampa
Módulo N° 7 – Introducción al SMS
Planificación contra pedido
En primer lugar presentarme…
Inteligencia Artificial
Planificación de Monoprocesadores
Introduccion a UML Wilson Peláez Hernández
UNIX COMP 240.
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Vivir en un mundo basado en redes.
Planificador de Procesos
CLASE 4 EL ENSAMBLADOR.
Planificación con Prioridades Fijas
Streaming (Retransmisión de contenidos multimedia en Internet)
PARA PARTICIPAR EN ESTE CERTAMEN, SE DEBEN DE CUMPLIR CON LOS SIGUIENTES REQUISITOS : 1.Costo Mínimo Del Vehículo £ 800, Modelo Anterior A.
Introducción a los sistemas de tiempo real
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
Sistemas Ubicuos (Parte I) 2. Arquitecturas para sistemas ubicuos
ATeDis Tecnologías de Apoyo y Ayudas Técnicas
Trascendencia de este curso Curso Introducción a la Computación 1
TEORÍA DE CONJUNTOS.
1 CONEAU Comisión Nacional de Evaluación y Acreditación Universitaria MINISTERIO DE EDUCACION 2 DE JULIO DE 2010 ACREDITACIÓN DE CARRERAS DE INGENIERÍA.
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
Expresiones Racionales
Conceptos en Sistemas de Tiempo Real (Real Time Systems)
Combinadores SK.
Estructuras en Sistemas Operativos
Comité Nacional de Información Bogotá, Julio 21 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Sistemas Operativos Distribuidos
Introducción a las Señales Aleatorias ISAL
Ingeniería del Software
INTRODUCCIÓN A LA PROGRAMACIÓN
CULENDARIO 2007 Para los Patanes.
Reunión de los requerimientos de la red
UPV - EHU Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Control de procesos y sincronización.
La transformada de Laplace
Introducción al tiempo real en sistemas empotrados
UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real.
Procedimientos Estándares de Operación Sanitaria (SSOP)
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.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD DE MÁLAGA Departamento de Tecnología Electrónica Málaga, 10 de Octubre de 2002 AUTOR:
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
Análisis Diseño y Desarrollo
Administración del Procesador
Solución de problema Herramientas aplicables
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
1 LOS PROBLEMAS DE DISEÑO EN INGENIERÍA: CONCEPTO Y FORMULACIÓN NELSON VÍLCHEZ UNIVERSIDAD TECNOLÓGICA DEL CENTRO COORDINACIÓN DE INGENIERÍA.
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
UPV - EHU Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Sistemas Ubicuos 3. Plataformas y.
Analisis de Planificación
Tema 10: Gestión de Memoria
Planificación de Tareas Aperiodicas
Planificación Cíclica
Diseño e Implementación de un Sistema de Tiempo Real Distribuido
UPV - EHU Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Sistemas Ubicuos 3. Gestión del contexto.
STR Sistemas de Tiempo Real Juan Sebastián Cabrera Sistemas de Control Embebido Universidad del Cauca.
Planificación Dinámica de Tareas
Introducción al tiempo real en sistemas empotrados
Planificación de Tareas Aperiodicas
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.
Sistemas Ubicuos 5. Contexto
Métodos de Planificación
Introduccion a los Sistemas en Tiempo Real
Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...
Transcripción de la presentación:

Introducción al tiempo real en sistemas empotrados Master en Ingeniería de Sistemas Empotrados Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea Introducción al tiempo real en sistemas empotrados Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Contenido Introducción Soporte de interrupciones Conceptos de sistemas operativos Planificación en sistemas de tiempo real Mecanismos de sincronización y comunicación Planificación de tiempo real con recursos compartidos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Planificación en sistemas de tiempo real CONTENIDO Introducción Modelo de tareas de tiempo real Criterios para la planificación en tiempo real Políticas de planificación para tiempo real Planificación con tareas aperiódicas BIBIOGRAFIA Q. Li: Real-Time concepts for embedded systems. CMP Books, 2003. J. Liu: Real-Time Systems, Prentice-Hall, 2000 H. Kopetz: Real-Time Systems: design principles for distributed embedded applications. Kluwer, 1997. J.A. de la Puente et al: Introducción a los sistemas de tiempo real. http://polaris.dit.upm.es/~aalonso/doctorado/str.html#Transparencias J.A. de la Puente: Diseño de sistemas de tiempo real. http://www.depeca.uah.es/docencia/doctorado/cursos04_05/82622/documentos/str/Puente-Desarrollo-str.pdf Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Introducción Dado un conjunto de tareas, se trata de planificar su ejecución de forma que todas ellas cumplan los plazos. Requiere políticas de planificación específicas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Introducción Enfoques (1) Algunos sistemas operativos soportan procesos de “clase de tiempo real”. Son procesos con prioridades estáticas más altas que los procesos de tiempo compartido. Ejemplos: Unix SVR4, Windows Sólo adecuados para sistemas flexibles (soft real-time): Contienen código no expulsable en el núcleo. En general, demasiado voluminosos para sistemas empotrados y poco fiables. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Introducción Enfoques (2) Enfoque de máquina virtual Un núcleo RT planifica el SO como una tarea más. Ejemplo: RT-Linux El núcleo RT intercepta las interrupciones del hardware, por lo que la ejecución del SO puede ser interrumpida en cualquier momento. Es posible comunicar tareas mediante colas FIFO. (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Introducción Enfoques (3) Sobre la máquina desnuda: fabricar un núcleo básico ad-hoc con un planificador de tareas de tiempo real. Costoso en tiempo de desarrollo. (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Introducción Enfoques (4) Sistemas Operativos de Tiempo Real (RTOS) específicos. Flexibles Ejemplos: LynxOS, QNX, VxWorks, FreeRTOS, MARTE (Univ. de Cantabria)… Estándar POSIX: apartados para sistemas de tiempo real que definen normas y servicios específicos a incluir. (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real Acción. Mínima cantidad de cómputo en un sistema de tiempo real. Ejemplo: decodificar un cuadro de video. Requiere un recurso de cómputo. Tarea. Conjunto de acciones repetidas a lo largo del tiempo. Ejemplo: visualizar una secuencia de video. τ = <J1, J2, …> Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real J0 J1 J2 r0 d0 r1 d1 r2 d2 r3 Instante de activación de la acción, rk La acción puede empezar a ejecutarse. límite de la acción, dk. La acción debe haber terminado Tarea periódica: rk = r0 + kT Habitualmente: rk+1 = di y entonces el periodo es: T = dk − rk Tarea aperiódica: rk+1 − rk variable. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real rk dk Dk Ck Jk Rk Plazo de ejecución, Dk = dk − rk Condición necesaria: Ck < Dk Tiempo de respuesta, Rk Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real Plazos Plazo estricto Todas las acciones deben ocurrir dentro del plazo Los fallos pueden ser catastróficos Ejemplo: sistema de control de vuelo Plazo flexible Se pueden incumplir plazos de vez en cuando El valor de la respuesta decrece con el paso del tiempo Ejemplo: sistema de adquisición Plazo firme Se pueden perder plazos ocasionalmente Las respuestas fuera de plazo no tienen valor Ejemplo: Sistemas multimedia Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real Plazos (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real Plazos Sistemas garantizados Plazos estrictos Validación Sistemas de esfuerzo óptimo (best-effort) Plazos flexibles Requisitos estadísticos Criterios de Calidad de Servicio (QoS): Tasa de cumplimiento del plazo Tiempos de respuesta etc Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Modelo de tareas de tiempo real Parámetros N tareas periódicas 1 procesador Parámetros temporales de las tareas: Tarea i : (Φi, Ti, Ci, Di) Una acción Ji,k Se activa en ri,k = Φi + kTi Debe terminar antes de di,k = Φi + kTi + Di Habitualmente: Di = Ti Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Criterios para la planificación en tiempo real Dado un conjunto de tareas de tiempo real {1, 2, …, N} el objetivo es proporcionar una planificación viable. Condición necesaria para la viabilidad (para tareas periódicas): U=∑ Ci/Ti < 1 Tareas aperiódicas: encontrar periodo mínimo (si es posible) y expresarlas como periódicas con ese periodo. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Criterios para la planificación en tiempo real La viabilidad es un criterio absoluto en sistemas de plazo estricto. Sistemas de plazo no estricto: Plazo flexible: minimizar la magnitud de los retrasos. Plazo firme: minimizar el número de retrasos. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Criterios para la planificación en tiempo real Ejemplo Φ T C D 1 4 1 2 6 3 12 2 4 3 ¿viable? Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real Tipos de planificación Según cuándo se elabora la planificación: Planificación estática Todos los parámetros temporales son fijos y conocidos. Puede establecerse un hiperperiodo (m.c.m. de todos los Ti). El plan se elabora antes de la ejecución y se almacena en una tabla. El planificador se limita a consultar la tabla en determinados instantes para seleccionar la tarea a ejecutar. Planificación dinámica No existe un plan preestablecido. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. Ejecutivo cíclico Planificación estática con un esquema periódico. Φ T C D 1 4 1 2 6 3 12 2 4 3 Periodo principal: H = mcm(Ti) = 12 Periodo secundario: TS = 4 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. Ejecutivo cíclico Plan cíclico: Ciclo secundario Acciones a activar 1 1 2 3 2 1 4 3 1 2 T2 no se puede poner en el segundo porque el ejecutivo podría lanzarla inmediatamente (por ejemplo, si otras son aperiódicas, se modelan como periódicas, y no se lanzan). El ejecutivo cuenta con encontrase las tareas ya liberadas. 1 2 3 1 4 1 2 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. Ejecutivo cíclico ¿Cómo definir el periodo secundario, TS? Condiciones: La ejecución de cada acción debe caber en un ciclo. Debe ser un divisor entero del periodo de alguna tarea (y por lo tanto de H). Entre el periodo de activación de una acción y su tiempo límite debe de haber al menos un ciclo completo. Si la ejecución de una tarea rebasa el límite, no se pueden lanzar las del siguiente ciclo. Para poder definir los ciclos de la misma duración. Para garantizar que la tarea de mayor frecuencia se ejecuta siempre. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. Ejecutivo cíclico Φ T C D 1 4 1 2 6 3 12 5 No es posible cumplir simultáneamente las condiciones (1) y (3). Solución: segmentar tareas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real Políticas de planificación para tiempo real. Ejecutivo cíclico con segmentación de tareas Φ T C D 1 4 1 2 6 31 12 2 32 - 3 1 2 31 1 32 1 2 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Sólo apto para tareas periódicas. Políticas de planificación para tiempo real. Ejecutivo cíclico. Limitaciones. En general, el problema de construir el plan cíclico es muy complejo (NP-duro). Sólo apto para tareas periódicas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. Basadas en prioridades Las tareas son expulsables. Admiten tareas aperiódicas (y esporádicas). Prioridades fijas: Rate Monotonic (RM). Mayor prioridad para las tareas de menor periodo. Deadline Monotonic (DM). Mayor prioridad para las tareas de plazo más corto. (RM y DM son equivalentes cuando Di = Ti). Prioridades dinámicas: Earliest Deadline First (EDF). Se planifica la tarea cuyo plazo está más cercano a expirar. La condición de viabilidad (U<1) es necesaria y suficiente para que EDF encuentre una forma de cumplir todos los plazos. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. RM Φ T C D 1 4 1 2 6 3 12 2 4 3 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. DM vs RM Φ T C D 1 4 1 2 6 3 12 2 4 3 9 1 2 4 3 RM 4 D4 se cumple! 1 2 4 3 DM Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. EDF Φ T C D 1 4 1 2 6 3 12 2 4 3 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Políticas de planificación para tiempo real. EDF Φ T C D 1 4 1 2 6 3 12 2 4 3 9 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Planificación con tareas aperiódicas Tarea aperiódica Se activa como respuesta a un suceso externo. Puede tener restricciones de tiempo o no. Tarea esporádica: Tarea aperiódica con restricciones de tiempo críticas. Objetivos: Garantizar plazos de las tareas críticas (esporádicas y periódicas). Buenos tiempos de respuesta para las aperiódicas no críticas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

Planificación con tareas aperiódicas. Políticas Procesamiento en segundo plano Prioridades bajas para las tareas aperiódicas no críticas. Procesamiento por interrupciones Las tareas aperiódicas se tratan inmediatamente. Reserva de ancho de banda Reserva a priori de capacidad de CPU para tareas aperiódicas. Se procesan inmediatamente. Extracción dinámica de holgura Reserva de capacidad de CPU para tareas aperiódicas en tiempo de ejecución. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores