Introducción n a los Sistemas de Tiempo Real (RTS)

Documentos relacionados
Lección 13: Introducción a los sistemas de tiempo real

Planificación de Procesos

Software de Tiempo Real. Software de Tiempo Real. Consideraciones generales. Software en Tiempo Real. Conceptos Básicos. Consideraciones generales

TEMA I - Introducción a los Sistemas en Tiempo Real

Introducción. Requerimientos

DISEÑO DE UN SISTEMA DE CONTROL EN TIEMPO REAL PARA EL KERNEL DEL SISTEMA OPERATIVO UTILIZANDO MATLAB-SIMULINK

PROGRAMA DE CURSO. Horas de Cátedra ,5 5,5. Resultados de Aprendizaje

Planificación con prioridades

dit Planificación de tareas de tiempo real Juan Antonio de la Puente DIT/UPM UPM Copyright 2007, Juan Antonio de la Puente

Capítulo 5: Despacho de CPU

5.- Despacho de CPU. Utilización máxima de CPU con multiprogramación. Ciclo CPU I/O Ejecución de un proceso = ciclo de CPU (ejecución) y espera de I/O

Introducción a los Sistemas de Tiempo Real

Análisis Rate Monotonic (RMA)

Introducción a los Sistemas en Tiempo Real

DISEÑO, IMPLEMENTACIÓN Y VALIDACIÓN DE UNA BIBLIOTECA DE ALGORITMOS DE SINCRONIZACIÓN PARA WSN

ANALISIS Y DISEÑO DE ALGORITMOS DE PLANIFICACIÓN DE TIEMPO REAL EN SISTEMAS DE MULTIPROCESAMIENTO

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos. Comprender la tarea y la elección de un planificador.

Interfaz USB genérica para comunicación con dispositivos electrónicos

Programación concurrente

Sistemas de Tiempo Real Planificación de Sistemas de Tiempo Real

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador.

Un importante problema para sistemas de la nueva generación

El scheduler O(1) de Linux

Tema 12: El sistema operativo y los procesos

Tareas e ISRs. Tareas. Tareas. Lic. José H. Moyano Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Definición de S. Tiempo Real

Introducción a los sistemas de tiempo real

Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6

Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6

SISTEMAS EN TIEMPO REAL

Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 5

Tiempo real. Juan Antonio de la Puente DIT/UPM. Tiempo real. Comprender el papel del tiempo en el diseño y realización de sistemas de tiempo real

Centro de Investigación y de Estudios Avanzados del IPN Departamento de Ingeniería Eléctrica Sección Computación

Criterios básicos de diseño (generales y con RTOS) Sistemas embebidos para tiempo real

Planificación dinámica de tareas

Memoria. Otros temas sobre cachés

Basado en S.O. de William Stallings / 5ed. y S.O. de Jesús Carretero (y otros). Universidad Simón Bolívar

Memoria. Otros temas sobre cachés

UPM Gestión del tiempo real

Memoria Principal. Operating System Concepts 8th Edition

Introducción a los Sistemas de Tiempo Real Í d n i dice

Gestión de la Memoria y Memoria Virtual

Raúl Finker de la Iglesia Director: Koldo Basterretxea Oyarzabal Universidad del País Vasco/Euskal Herriko Unibertsitatea

8 abril 2014 IFEMA Madrid spain.ni.com/nidays. spain.ni.com

Sumario Prólogo Unidad didáctica 1. Introducción a los sistemas operativos Objetivos de la Unidad... 12

Sistemas Operativos. Procesos

1.9 Año 2000 y años siguientes

Introducción a los Sistemas Operativos

Tecnología de software para sistemas de tiempo real

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador (extracto de las transparencias del libro)

Sistemas Operativos Scheduling de Procesos

Planificaciones Seminario de Electrónica. Docente responsable: ALBERTO JORGE ARMANDO. 1 de 5

1.1.-TARJETA DAQ NI PCI-6024E y BNC2120. Figura 1: TARJETA BNC2120 NATIONAL INSTRUMENTS

Tecnología de sistemas de tiempo real

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática.

GESTION DE LA MEMORIA

1- UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES. Tecnicatura Universitaria en Programación de Sistemas

Sistemas de Tiempo Real

Introducción a memorias cache

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

SISTEMAS OPERATIVOS. Ing. Raúl Alberto Rojas Reátegui

Introducción a los sistemas de tiempo real. Informática III Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA - UNR

Memoria virtual. 6. La: memoria. Fundamentos de Computadores Ingeniería de Telecomunicación. Departamento de Automática Escuela Politécnica Superior

Concepto de Planificación Planificación: forma o criterio que se sigue a la hora de decidir que proceso debe entrar en ejecución.

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Desarrollo de un Sistema Gráfico para Análisis, Diseño y Monitoreo de Tareas de Tiempo Real. Tesis que presenta Ángel Fajardo Ortiz

Sistemas Distribuidos. Prog. Distribuida bajo Internet

Sistemas Operativos. Introducción. Tema 6

Sistema de memoria. Introducción

Introducción a los Sistemas Operativos

Sistemas Operativos de Tiempo-Real

Sistemas Operativos de tiempo-real

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Arquitectura del PLC. Dpto. Electrónica, Automática e Informática Industrial)

Diseñando Hardware a la Medida con el Módulo de LabVIEW FPGA. ni.com/fpga

SISTEMAS OPERATIVOS. Informática Básica

SISTEMAS CON PLC CAP2: AUTOMATIZACION LÓGICA CABLEADA Y LÓGICA PROGRAMADA. Expositor: Ing. Elmer E. Mendoza Trujillo 03/04/ SISTEMAS CON PLC

Sistemas Operativos. Curso 2016 Introducción

Sistemas Operativos Embebidos

Planificación multiprocesador y de tiempo real

UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO INGENIERÍA EN COMPUTACIÓN

Planificación multiprocesador y de tiempo real

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

INFORMATICA III. Capítulo I: Plataformas

Sistemas Distribuidos. Soporte de Sistemas Operativos

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

GUÍA DE ESTUDIO TEMA 8. SISTEMAS EN TIEMPO REAL. MODELOS. JERAQUÍA. SINCRONIZACIÓN

Implementación de Hardware / Software para Control Difuso

Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

Tema 1 Introducción. Indice. Definición Ejemplos de aplicación Conceptos básicos Tipos de sistemas Características de STR críticos Construcción de STR

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN

ARQUITECTURA DEL COMPUTADOR

ATM: Traffic Management

Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino

Computación Conociendo la herramienta de cálculo. La Computadora

Horas teóricas: 1 Horas prácticas: 4 Total de Horas: 5 Total de créditos: 6 Microcontroladores

Transcripción:

Introducción n a los Sistemas de Tiempo Real (RTS) Wolfgang Freund Wolfgang.Freund@usm.cl Marzo 2007

El Escenario RTS Interfaz Hombre - Máquina Instrumentación Operador Sistema de Tiempo Real Objeto a Controlar

Dominio Sistemas Embebidos Sistemas de Tiempo Real

RTS: Definición El éxito de tareas en tiempo real no dependen tan sólo del resultado lógico de la operación sino también del tiempo de ocurrencia. Un sistema de tiempo real no implica necesariamente rapidez, más bien puntualidad. Si un resultado es temporalmente consistente no lo define la velocidad de procesamiento sino las variables de entorno.

Ejemplo Uso de Airbags como un sistema de seguridad pasiva en automóviles.

Ejemplo (cont.) Airbags: principio de operación

Procesos vs Tareas En sistemas de propósitos generales, la unidad básica de ejecución es el proceso o hebra, caracterizados por sus tiempos de respuesta.

Procesos vs Tareas (cont.) En RTS la unidad básica de ejecución se denominan tarea (task), y puede ser caracterizada entre otros factores por su tiempo de ejecución y su deadline. latencia tarea holgura evento inicio deadline término

Deadline Este concepto fue acuñado por primera vez en la prisión de Andersonville, durante la guerra civil en Norteamérica.

Deadline (cont.) En RTS se pueden identificar tres tipos de deadlines: Soft-Deadline el resultado tiene validez aún después de la deadline. Firm-Deadline el resultado no es válido después de la deadline. Hard-Deadline el resultado puede ser una catástrofe

Clasificación n de RTS Existen básicamente 2 tipos: Hard Real-Time Systems Debe garantizar el éxito de tareas críticas. Soft Real-Time Systems Tareas críticas deben tener mayor prioridad sobre otras tareas.

El modelo de tarea en RTS Existen 3 tipos de tareas: Periódicas Esporádicas Aperiodicas El modelo más usado es el de tareas periódicas que puede ser modelar como: t = (o, p, c, d) t i es la instancia i de la tarea t

Ej.: Control de Nivel de un Estanque Actuador h Sensores v

Ej.: Control de Nivel de un Estanque (cont.) tarea de control r con tiempo de ejecución c, offset o, y periodo p, donde p = 2,5c, y o = 0,5c : tiempo de ejecución c offset o periodo r 0 r 1 r 2 r 3 r 4 r 5 análisis de factibilidad: 0 p 2p 3p 4p 5p n i= 0 ci p i = 0,4 = 1 tiempo

Ej.: Control de Nivel de un Estanque (cont.) Se añade ahora una tarea de monitoreo para estadística s con tiempo de ejecución 2,5c, offset 1,5c y periodo 3p: r 0 r 1 r 2 r 3 r 4 r 5 s 0 s 1 0 p 2p 3p 4p 5p tiempo análisis de factibilidad: n i= 0 ci p i = 1 2,5 + 2,5 3(2,5) = 0,73 1

Ej.: Control de Nivel de un Estanque (cont.) Si la tarea de monitoreo tiene offset 0, manteniendo el periodo se tiene para: non-preemptive scheduling r 0 r 1 r 2 r 3 r 4 r 5 s 0 s 1 0 p 2p 3p 4p 5p tiempo

Ej.: Control de Nivel de un Estanque (cont.) preemptive scheduling (RM) r 0 r 1 r 2 r 3 r 4 r 5 s 0 s 1 r 0 r 1 r 2 r 3 r 4 r 5 0 p 2p 3p 4p 5p tiempo

RTS Scheduling: : Taxonomía RTS scheduling soft hard Off-line On-line preemptive Non-preemptive dynamic static preemptive Non-preemptive preemptive Non-preemptive

RTS Scheduling: : Algoritmos Rate Monotonic Earliest Deadline First Least Stack Time First In First Out

Rate Monotonic (RM) Scheduling RM scheduling se aplica a tareas que cumplen con las siguientes condiciones: Una tarea de completar su trabajo dentro del periodo No hay dependencias entre tareas Cada burst de CPU es del mismo largo Toda tarea no-peri periódica no tiene deadline No hay overhead por el cambio de contexto

Earliest Deadline First (EDF) Scheduling EDF scheduling asigna prioridades dinámicas de acuerdo a la deadline: Cuanto más pronto la deadline, mayor prioridad; cuanto más m s tarde la deadline,, menor prioridad Se aplica también n a tareas no-peri periódicas No se requiere un burst de CPU constante Debe anunciar su deadline

Real-Time Scheduling Example 1

Real-Time Scheduling Example 2

Ejemplo: Misión n Espacial

Ejemplo: Misión n Espacial (cont.) El 4 de julio de 1997 la misión espacial Mars Pathfinder aterriza en forma exitosa en la superficie de Marte y comienza a recabar información.. todos piensan que la misión n fue un éxito total! Pocos días d más m s tarde el autómata comienza a reinicializarse cada cierto tiempo con la respectiva pérdida p de datos en la transmisión n de la información Al comienzo se atribuyó la falla al hardware, sin embargo la causa era la inversión n de prioridad de tareas que no fue considerado en el diseño o del software de tiempo real.

Sistemas Operativos de Tiempo Real (RTOS) Una alternativa para el diseño o de sistemas de tiempo real. Reemplaza el modelo del (gran) lazo principal Incorpora los conceptos de tareas, prioridades, latencia, etc,.

RTOS: Ejemplo RT-Linux Inspirado en MERT (Bell Labs 1978). RT-Linux usa una emulación de interrupciones. Pequeño o y simple. Linux es una tarea osciosa de RT-Linux.

RTOS: Ejemplo RT-Linux (cont.) Incorpora algoritmos RM y EDF para itineración de tareas Mejor esfuerzo entre atención de rutinas de interrupción y el jitter en la itineración de tareas Soporta operación de timers en modo one shot y periódico dico.

Arquitectura de RT-Linux RT Fifo User Process RT Fifo X Windows Linux Kernel RT Process Display Disk Network Peripheral Device

OS vs. RTOS Non-RT 40 35 30 Min AVG MAX jitter [ms] 25 20 15 10 5 0 0 2 4 6 8 10 12 14 16 18 20 Expected Wait-Time [ms]

OS vs. RTOS (cont.) 18 16 14 12 LXRT-Min LXRT-AVG LXRT-MAX LXRT jitter [us] 10 8 6 4 2 0 0 2 4 6 8 10 12 14 16 18 20 Expected Wait-Time [ms]

OS vs. RTOS (cont.) Non-RT Ticks Millones 45 40 35 30 25 20 15 10 5 Min AVG MAX LXRT-Min LXRT-AVG LXRT-MAX 0 100 1100 2100 3100 4100 5100 6100 7100 8100 9100 Delay [us]

RTOS distribuidos Tiempo Global: buscando un algorítmo de sincronización de relojes: Sincronización n interna Sincronización n externa