introducción a los sistemas de tiempo real...

33
Introducci Introducci ó ó n a los Sistemas n a los Sistemas de Tiempo Real (RTS) de Tiempo Real (RTS) Wolfgang Wolfgang Freund Freund [email protected] [email protected] Marzo 2007 Marzo 2007

Upload: lamdat

Post on 06-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

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

WolfgangWolfgang [email protected]@usm.cl

Marzo 2007Marzo 2007

El Escenario RTSEl Escenario RTS

OperadorSistema de

Tiempo RealObjeto a Controlar

Interfaz Hombre - Máquina Instrumentación

DominioDominio

Sistemas Embebidos

Sistemas de Tiempo Real

RTS: DefiniciRTS: Definicióónn

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.

EjemploEjemplo

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

Ejemplo (cont.)Ejemplo (cont.)

Airbags: principio de operación

Procesos Procesos vsvs TareasTareas

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 Procesos vsvs Tareas (cont.)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.

evento

tarea

deadline

latencia holgura

términoinicio

DeadlineDeadline

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

DeadlineDeadline (cont.)(cont.)

En RTS se pueden identificar tres tipos de deadlines:

Soft-Deadlineel resultado tiene validez aún después de la deadline.

Firm-Deadlineel resultado no es válido después de la deadline.

Hard-Deadlineel resultado puede ser una catástrofe

ClasificaciClasificacióón de RTSn de RTS

Existen básicamente 2 tipos:Hard Real-Time Systems

Debe garantizar el éxito de tareas críticas.

Soft Real-Time SystemsTareas críticas deben tener mayor prioridad sobre otras tareas.

El modelo de tarea en RTSEl modelo de tarea en RTS

Existen 3 tipos de tareas:PeriódicasEsporádicasAperiodicas

El modelo más usado es el de tareas periódicas que puede ser modelar como:

t = (o, p, c, d)ti es la instancia i de la tarea t

Ej.: Control de Nivel de un EstanqueEj.: Control de Nivel de un Estanque

h

v

Actuador

Sensores

Ej.: Control de Nivel de un Estanque Ej.: Control de Nivel de un Estanque (cont.)(cont.)

tarea de control r con tiempo de ejecución c, offset o, y periodo p, donde p = 2,5c, y o = 0,5c :

r1 r2 r3 r4 r5r0

tiempo

periodo

tiempo de ejecución c

offset o

análisis de factibilidad:

14,00

=≤=∑=

n

ii

i

pc

0 p 2p 3p 4p 5p

Ej.: Control de Nivel de un Estanque Ej.: Control de Nivel de un Estanque (cont.)(cont.)

Se añade ahora una tarea de monitoreo para estadística scon tiempo de ejecución 2,5c, offset 1,5c y periodo 3p:

r1 r2 r3 r4 r5r0

tiempo

análisis de factibilidad:

173,0)5,2(3

5,25,2

10

≤=+=∑=

n

ii

i

pc

0 p 2p 3p 4p 5p

s0 s1

Ej.: Control de Nivel de un Estanque Ej.: Control de Nivel de un Estanque (cont.)(cont.)

Si la tarea de monitoreo tiene offset 0, manteniendo el periodo se tiene para:

non-preemptive scheduling

r1 r2 r3 r4 r5r0

tiempo0 p 2p 3p 4p 5p

s0 s1

Ej.: Control de Nivel de un Estanque Ej.: Control de Nivel de un Estanque (cont.)(cont.)

preemptive scheduling (RM)

r1 r2 r3 r4 r5r0

tiempo0 p 2p 3p 4p 5p

s0 s1

r1 r2 r3 r4 r5r0

RTS RTS SchedulingScheduling: Taxonom: Taxonomíía a

RTS scheduling

soft hard

dynamic static

preemptive Non-preemptive preemptive Non-preemptive

On-lineOff-line

preemptive Non-preemptive

RTS RTS SchedulingScheduling: Algoritmos: Algoritmos

Rate MonotonicRate MonotonicEarliestEarliest DeadlineDeadline FirstFirstLeastLeast StackStack TimeTimeFirstFirst In In FirstFirst OutOut

RateRate MonotonicMonotonic (RM) (RM) SchedulingScheduling

RM scheduling se RM scheduling se aplicaaplica a a tareastareas queque cumplencumplencon con laslas siguientessiguientes condicionescondiciones::

UnaUna tareatarea de de completarcompletar susu trabajotrabajo dentrodentro del del periodoperiodoNo hay dependencias entre tareasNo hay dependencias entre tareasCada Cada burstburst de CPU es del mismo largode CPU es del mismo largoToda tarea noToda tarea no--periperióódica no tiene dica no tiene deadlinedeadlineNo hay No hay overheadoverhead por el cambio de contextopor el cambio de contexto

Earliest Deadline First (EDF) Earliest Deadline First (EDF) SchedulingScheduling

EDF scheduling EDF scheduling asignaasigna prioridadesprioridades dindináámicasmicas de de acuerdoacuerdo a la deadline:a la deadline:

CuantoCuanto mmááss pronto la deadline, mayor pronto la deadline, mayor prioridadprioridad; ; cuanto mcuanto máás tarde la s tarde la deadlinedeadline, menor prioridad, menor prioridadSe aplica tambiSe aplica tambiéén a tareas non a tareas no--periperióódicasdicasNo se requiere un No se requiere un burstburst de CPU constantede CPU constanteDebe anunciar su Debe anunciar su deadlinedeadline

RealReal--Time Scheduling Example 1Time Scheduling Example 1

RealReal--Time Scheduling Example 2Time Scheduling Example 2

Ejemplo: MisiEjemplo: Misióón Espacial n Espacial

Ejemplo: MisiEjemplo: Misióón Espacial (cont.)n Espacial (cont.)

El 4 de El 4 de juliojulio de 1997 la de 1997 la misimisióónn espacialespacial Mars Pathfinder aterriza aterriza en forma exitosa en la superficie de Marte y comienza a recabar en forma exitosa en la superficie de Marte y comienza a recabar informaciinformacióón n ……. todos piensan que la misi. todos piensan que la misióón fue un n fue un ééxito total!xito total!

Pocos dPocos díías mas máás tarde el auts tarde el autóómata comienza a mata comienza a reinicializarsereinicializarse cada cada cierto tiempo con la respectiva pcierto tiempo con la respectiva péérdida de datos en la rdida de datos en la transmisitransmisióón de la informacin de la informacióón n ……

Al comienzo se atribuyAl comienzo se atribuyóó la falla al hardware, sin embargo la la falla al hardware, sin embargo la causa era la inversicausa era la inversióón de prioridad de tareas que no fue n de prioridad de tareas que no fue considerado en el diseconsiderado en el diseñño del software de tiempo real.o del software de tiempo real.

Sistemas Operativos de Tiempo Real Sistemas Operativos de Tiempo Real (RTOS)(RTOS)

Una alternativa para el diseUna alternativa para el diseñño de sistemas de o de sistemas de tiempo real.tiempo real.Reemplaza el modelo delReemplaza el modelo del–– (gran) lazo principal (gran) lazo principal ––Incorpora los conceptos de tareas, prioridades, Incorpora los conceptos de tareas, prioridades, latencia, latencia, etcetc, , ……..

RTOS: Ejemplo RTRTOS: Ejemplo RT--LinuxLinux

InspiradoInspirado en MERT (Bell Labs 1978).en MERT (Bell Labs 1978).RTRT--Linux Linux usausa unauna emulaciemulacióónn de de interrupcionesinterrupciones..PequePequeñño y simple.o y simple.Linux Linux eses unauna tareatarea osciosaosciosa de RTde RT--Linux.Linux.

RTOS: Ejemplo RTRTOS: Ejemplo RT--Linux (cont.)Linux (cont.)

IncorporaIncorpora algoritmosalgoritmos RM y EDF RM y EDF paraparaitineraciitineracióónn de de tareastareasMejorMejor esfuerzoesfuerzo entreentre atenciatencióónn de de rutinasrutinas de de interrupciinterrupcióónn y el jitter en la y el jitter en la itineraciitineracióónn de de tareastareasSoportaSoporta operacioperacióónn de timers en de timers en modomodo –– one one shot shot –– y y periperióódicodico..

Arquitectura de RTArquitectura de RT--LinuxLinux

User Process

RT Fifo

RT Fifo

RT Process

Peripheral Device

Linux Kernel

NetworkDisk

X Windows

Display

OS vs. RTOSOS vs. RTOS

Non-RT

0

5

10

15

20

25

30

35

40

0 2 4 6 8 10 12 14 16 18 20Expected Wait-Time [ms]

jitte

r [m

s]

Min

AVG

MAX

OS vs. RTOS (cont.)OS vs. RTOS (cont.)

LXRT

0

2

4

6

8

10

12

14

16

18

0 2 4 6 8 10 12 14 16 18 20

Expected Wait-Time [ms]

jitte

r [us

]

LXRT-Min

LXRT-AVG

LXRT-MAX

OS vs. RTOS (cont.)OS vs. RTOS (cont.)

Non-RT

0

5

10

15

20

25

30

35

40

45

100 1100 2100 3100 4100 5100 6100 7100 8100 9100

Mill

ones

Delay [us]

Tick

s

MinAVGMAXLXRT-MinLXRT-AVGLXRT-MAX

RTOS distribuidosRTOS distribuidos

TiempoTiempo Global: Global: buscandobuscando un un algoralgoríítmotmo de de sincronizacisincronizacióónn de de relojesrelojes::

SincronizaciSincronizacióón internan internaSincronizaciSincronizacióón externan externa