400 likes | 590 Views
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 Universidad de Málaga. Planificación de Procesos en Sistemas en Tiempo Real. Introducción. Hardware para Sistemas en T.R.
E N D
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 Universidad de Málaga
Planificación de Procesos en Sistemas en Tiempo Real Introducción Hardware para Sistemas en T.R. Tema II. Microprocesadores Tema III. Interfaces Tema IV. Interrupciones Tema V. Redes Software para Sistemas en T.R. Tema VI. Planificación Tema VII. Sistemas Operativos Tema VIII. Programación Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación de Procesos en Sistemas en Tiempo Real • Teoría de la Planificación de Procesos de Tiempo Real • Modelado de Procesos y Conceptos Generales • Taxonomía de los Algoritmos de Planificación • Planificadores por Prioridades • Planificación con Prioridades Estáticas (RMS) • Planificación con Prioridades Dinámicas (EDF) • Conclusiones • Bibliografía Básica y Bibliografía Original Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Procedimiento: Planificar los recursos del sistema de acuerdo a ciertos algoritmos, de tal manera que la temporización del sistema sea predecible, comprensible y mantenible. Teoría de la Planificación de Procesos de Tiempo Real(Real-Time Scheduling Theory) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Propósito: Satisfacer las restricciones temporales de los procesos concurrentes de un sistema informático en tiempo real. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
PROCESOS Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Periódicos o Síncronos Esporádicos o Asíncronos Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
pp tiempo rp cp dp Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL procesos periódicos Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
mine tiempo ce de Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL procesos esporádicos Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
mine tiempo ce de Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL reducción de esporádicos a periódicos = pa ra=0 = ca = da Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
p2(1) p2(2) pp p1(1) p3(1) p3(2) p1(2) tiempo rp cp dp Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL sincronización entre procesos Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL conceptos generales • Planificación: asignación de tiempo de procesador a los procesos • Factor de Uso del Procesador (U): tiempo durante el que el procesador está asignado a algún proceso, si se aplica cierta planificación • Planificador: algoritmo que genera una planificación • Planificación Admisible: planificación que respeta las restricciones temporales de los procesos • Planificación Estable: planificación admisible que respeta las restricciones temporales de los procesos más importantes (“críticos”) bajo sobrecarga transitoria • Optimalidad de Planificadores: un planificador es óptimo si, existiendo una planificación admisible, encuentra una planificación admisible • Test de Planificabilidad: algoritmo que permite saber si existe una planificación admisible para un conjunto de procesos Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Modelado de Procesos y Conceptos Generales PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL conceptos relativos a procesos concurrentes • Hiperperíodo: mínimo común múltiplo de los períodos de todos los procesos del sistema. • Planificación Expulsiva (preemptive): planificación en la que un proceso puede quitarle a otro el recurso del procesador en cualquier momento • Planificación No Expulsiva (non-preemptive): planificación en la que un proceso debe terminar su uso del procesador antes de cedérselo a otro (suele ser NP-hard) • Relación de Precedencia: relación entre dos procesos o subprocesos que implica que uno debe terminar su ejecución antes de que el otro comience Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación de Procesos de Tiempo Real Monoprocesador Estática (off-line) Dinámica (on-line) Con sobrecarga Con precedencias RMS EDF / MLF Taxonomía de los Algoritmos de Planificación PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Planificación de Procesos de Tiempo Real Monoprocesador Multiprocesador / Distribuida Estática (off-line) Dinámica (on-line) (Liu y Layland, 1973) RMS (Liu y Layland, 1973) EDF / MLF Computación imprecisa MUF Robado de Ciclos / Sobrecarga Con esporádicos Con inversión de prioridades Con sobrecarga Compartiendo recursos Con precedencias (Chetto et al., 1990) (Sha et al., 1986) Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificadores por Prioridades PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • Prácticamente la totalidad de los planificadores actuales. • Se le asigna una prioridad a cada proceso (off-line u on-line). • En cada momento se ejecuta el proceso disponible de mayor prioridad. • En los algoritmos que siguen, se supone planificación expulsiva. • La planificación por prioridad reduce el número de planificaciones admisibles que pueden encontrarse, pero aún así la optimalidad está garantizada en ciertos casos. • No es criterio válido para obtener una planificación admisible el otorgar mayor prioridad a los procesos más importantes. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
P1 P2 tiempo 20 24 48 Planificadores por Prioridades PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • Ejemplo de asignación de prioridades por importancia: c1=8 r1=0 d1=24 p1=24 c2=20 r2=0 d2=44 p2=44 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • Requisitos: procesos independientes y periódicos, ri=0, planificación expulsiva, tiempos de respuesta (deadlines) iguales a los períodos (di=pi). • Algoritmo de asignación de prioridades: tendrá más prioridad el proceso que tenga un período menor (asignación de prioridad monotónica en frecuencia). • Optimalidad: el algoritmo es óptimo. • Test de planificabilidad: el factor de uso del procesador debe ser menor o igual que el factor de uso garantizado del procesador. < Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
P1 P2 tiempo 8 24 32 36 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=8 r1=0 d1=24 p1=24 c2=20 r2=0 d2=44 p2=44 U = 8/24+20/44 = 0.79< UG2 = 2(21/2-1) = 0.83 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Planificación RMS estable (con sobrecarga) • Objetivo: bajo tiempos de cómputo medios, obtener tiempo real duro (hard) para todos los procesos. Bajo tiempos de cómputo máximos (sobrecarga),obtener tiempo real duro para procesos críticos y blando (soft) para procesos no críticos. necesario [U]críticos< [UGn]críticos [Um]todos< [UGn]todos [máx(pi)]críticos< [mín(pj)]no-críticos necesario Se puede forzar • Paso previo: considerar críticos a procesos no críticos que violen III. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Fase 1 Fase 2 Fase 1 Fase 2 Fase 1 Fase 2 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Forzado de la condición III de estabilidad • Algoritmo de Transformación de Períodos: modificar los períodos de algunos procesos sin modificar los procesos, hasta cumplir la condición III de estabilidad. • Dos acciones posibles para modificar el sistema: se repiten hasta que se cumpla la condición. • Acción A: ampliar el período de un proceso no-crítico. Se desglosa el proceso Pi en k procesos, cada uno con período k*piy con su primera activación desplazada. • Acción B: reducir el período de un proceso crítico. Se ejecuta el proceso Pi en k fases consecutivas, cada una con período pi /k. • Bucle:mientras haya algún proceso conflictivo (crítico con período mayor que un no-crítico, o viceversa), aplicarle la acción correspondiente. Si se violan las condiciones I ó II de estabilidad, deshacer el cambio. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
RMS P1 P2 P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
RMS P1 P2 P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Transformación de Períodos (chequeo de condiciones) Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 No se puede incluir P2 como crítico: no se cumple la condición I (U=1.1) [U]críticos< [UGn]críticos : 0.59 < 1 : se cumple [Um]todos< [UGn]todos : 0.64 < 0.78 : se cumple [máx(pi)]críticos< [mín(pj)]no-críticos : 17 < 9 : no se cumple Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Transformación de Períodos (Acción A sobre P2) Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 • Transformación de P2: se desglosa en 2 procesos P21 y P22 con: c21=5 r21=0 cm21=2 d21=18 p21=18 c22=5 r22=0 cm22=2 d22=18 p22=18 (Primera activación de P22 en t=9) Cumple las tres condiciones de estabilidad Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
RMS P1 P21 P22 P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c21=5 r21=0 cm21=2 d21=18 p21=18 c22=5 r22=0 cm22=2 d22=18 p22=18 (Primera activación de P22 en t=9) c3=15 r3=0 cm3=5 d3=28 p3=28 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
RMS P1 P21 P22 P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c21=5 r21=0 cm21=2 d21=18 p21=18 c22=5 r22=0 cm22=2 d22=18 p22=18 (Primera activación de P22 en t=9) c3=15 r3=0 cm3=5 d3=28 p3=28 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Transformación de Períodos (Acción B sobre P1) Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c1=10 r1=0 cm1=4 d1=17 p1=17 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 • Transformación de P1: se secuencia en 2 fases, cada una con: Cumple las tres condiciones de estabilidad c’1=5 r’1=0 cm’1=2 d’1=8.5 p’1=8.5 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
RMS f1 f2 f1 f2 f1 f2 f1 f2 P’1 P2 P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c’1=5 r’1=0 cm’1=2 d’1=8.5 p’1=8.5 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
RMS f1 f2 f1 f2 f1 f2 f1 f2 P’1 P2 P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 Planificación con Prioridades Estáticas (Rate Monotonic Scheduling = RMS) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL c’1=5 r’1=0 cm’1=2 d’1=8.5 p’1=8.5 c2=5 r2=0 cm2=2 d2=9 p2=9 c3=15 r3=0 cm3=5 d3=28 p3=28 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • Requisitos: procesos independientes y periódicos, ri=0, planificación expulsiva, tiempos de respuesta (deadlines) iguales a los períodos (di=pi). • Algoritmo de asignación de prioridades: tendrá más prioridad el proceso que tenga un tiempo límite menor (tiempo en el que cumplirá su próximo deadline) • Optimalidad: el algoritmo es óptimo. Buen comportamiento respecto al número de expulsiones (bajo), respecto a otros algoritmos. • Test de planificabilidad: el factor de uso del procesador debe ser menor o igual a 1 (U<1). Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Planificación EDF para procesos dependientes • Objetivo: producir una planificación admisible que respete las precedencias temporales de los procesos. • Procedimiento: algoritmo de Chetto et al. de revisión de los tiempos límite. • Optimalidad: sigue siendo óptimo: si hay solución, encuentra una solución. • Test de planificabilidad (U<1): deja de ser válido: si, aún existiendo solución con procesos independientes, no existiera solución en el caso de procesos dependientes, el algoritmo EDF con los tiempos límites revisados proporcionaría una planificación no admisible. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL Algoritmo de Chetto et al. de revisión de tiempos límite • Procedimiento: transforma los tiempos límite para conseguir un sistema idéntico que cumpla las restricciones de precedencia. • Fase I: enumeración de todos los procesos a ejecutar, según el hiperperíodo. • Fase II: obtención del grafo de precedencia (GdP). • Fase III: obtención del orden topológico inverso de los procesos en el GdP. • Fase IV: obtención de los tiempos límite sin revisar (di) • Fase V: cálculo de tiempos límite revisados (d*i=mín(di,mín{d*k-ck:Pi→Pk})) Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
P1 P2 P3 Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL P1={P11,P12} c11=4 c12=4 r1=0 d1=32 p1=32 P2={P21,P22 ,P23 ,P24} c21=4 c22=4 c23=4 c24=4 r2=0 d2=64 p1=64 P3={P31,P32} c31=8 c31=8 r3=0 d3=64 p3=64 • Fase I: enumeración de todos los procesos a ejecutar, según el hiperperíodo. P11(1), P12(1), P11(2), P12(2), P21(1), P22(1), P23(1), P24(1), P31(1), P32(1) Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
P11(1) P12(1) P11(2) P12(2) P21(1) P22(1) P23(1) P24(1) P31(1) P32(1) Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL P1={P11,P12} c11=4 c12=4 r1=0 d1=32 p1=32 P2={P21,P22 ,P23 ,P24} c21=4 c22=4 c23=4 c24=4 r2=0 d2=64 p1=64 P3={P31,P32} c31=8 c31=8 r3=0 d3=64 p3=64 • Fase II: obtención del grafo de precedencia (GdP). Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
P11(1) P12(1) P11(2) P12(2) P21(1) P22(1) P23(1) P24(1) P31(1) P32(1) Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL P1={P11,P12} c11=4 c12=4 r1=0 d1=32 p1=32 P2={P21,P22 ,P23 ,P24} c21=4 c22=4 c23=4 c24=4 r2=0 d2=64 p1=64 P3={P31,P32} c31=8 c31=8 r3=0 d3=64 p3=64 • Fase III: obtención del orden topológico inverso de los procesos en el GdP. P12(2) , P24(1) , P32(1) , P11(2) , P23(1) , P12(1) , P22(1) , P31(1) , P11(1) , P12(1) Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
32 32 64 64 P11(1) P12(1) P11(2) P12(2) 64 64 64 64 P21(1) P22(1) P23(1) P24(1) 64 64 P31(1) P32(1) Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL P1={P11,P12} c11=4 c12=4 r1=0 d1=32 p1=32 P2={P21,P22 ,P23 ,P24} c21=4 c22=4 c23=4 c24=4 r2=0 d2=64 p1=64 P3={P31,P32} c31=8 c31=8 r3=0 d3=64 p3=64 • Fase IV: obtención de los tiempos límite sin revisar (di=k.pi) Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
P11(1) P12(1) P11(2) P12(2) P21(1) P22(1) P23(1) P24(1) P31(1) P32(1) Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL P1={P11,P12} c11=4 c12=4 r1=0 d1=32 p1=32 P2={P21,P22 ,P23 ,P24} c21=4 c22=4 c23=4 c24=4 r2=0 d2=64 p1=64 P3={P31,P32} c31=8 c31=8 r3=0 d3=64 p3=64 • Fase V: cálculo de tiempos límite revisados (d*i=mín(di,mín{d*k-ck:Pi→Pk})) mín(32,32-4,56-4) =28 mín(32,60-4)=32 mín(64,64-4)=60 mín(64)=64 mín(32,32-4,56-4) =28 mín(64,60-4,64-8) =56 mín(64,64-4)=60 mín(64)=64 mín(64,60-4,64-8) =56 mín(64)=64 P12(2) , P24(1) , P32(1) , P11(2) , P23(1) , P12(1) , P22(1) , P31(1) , P11(1) , P12(1) Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
mín(32,32-4,56-4) =28 mín(32,60-4)=32 mín(64,64-4)=60 mín(64)=64 P11(1) P12(1) P11(2) P12(2) mín(32,32-4,56-4) =28 mín(64,60-4,64-8) =56 mín(64,64-4)=60 mín(64)=64 P1 P21(1) P22(1) P23(1) P24(1) mín(64,60-4,64-8) =56 mín(64)=64 P2 P31(1) P32(1) P3 tiempo 0 5 10 15 20 25 30 35 40 45 50 55 60 65 Planificación con Prioridades Dinámicas (Earliest Deadline First = EDF) PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • Cronograma: U=8/32+16/64+16/64=3/4 Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Conclusiones PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • La planificación de tareas es de vital importancia en los sistemas en tiempo real. • En general, el problema es complicado e incluso irresoluble en tiempo polinomial. • Existen aproximaciones razonables que permiten obtener soluciones en casos cercanos a los prácticos. • Los sistemas operativos y lenguajes de programación juegan un papel imprescindible en la planificación de tareas de tiempo real, pero actualmente sólo implementan planificación guiada por prioridades. • La planificación de tiempo real es un área de gran desarrollo en los últimos años. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Bibliografía Básica PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • BURNS A. y WELLINGS A. (2001). “Real-Time Systems and Programming Languages”, 3ª edición, Addison-Wesley, ISBN 0-201-72988-1. (CAPÍTULO 13) • LIU J.W.S. (2000). “Real-Time Systems". Prentice Hall, ISBN 0-13-099651-3 (CAPÍTULOS 4,6,12) • DE LA PUENTE J.A. (1988). “Planificación de la Ejecución de Procesos en Sistemas en Tiempo Real”, Universidad Politécnica de Valencia, Apuntes. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga
Introducción Modelo de Procesos Taxonomía Algoritmos de Planificación Bibliografía Original PLANIFICACIÓN DE PROCESOS EN SISTEMAS EN TIEMPO REAL • HILLIER F.S. y LIEBERMAN G. J. (1991). “Introducción a la Investigación de Operaciones”. Mc.Graw Hill Interamericana. • STANKOVIC J.A. (1988). "Misconceptions About Real-Time Computing. A Serious Problem for Next-Generation Systems". IEEE Computer vol. 21, no. 10. • RAMAMRITHAM K. y STANKOVIC J.A. (1994). "Scheduling Algorithms and Operating Systems Support for Real-Time Systems". Proceedings of the IEEE, vol. 82, no. 1 • XU J. y PARNAS D.L. (1993). "On Satisfying Timing Constraints in Hard-Real-Time Systems". IEEE Transactions on Software Engineering, vol. 19, no. 1, pp. 70-84 • GHOSH K., MUKHERJEE B., y SCHWAN K. (1994). "A Survey of Real-Time Operating Systems". Informe Técnico GIT-CC-93/18 del Instituto Tecnológico de Georgia. • LIU C.L. y LAYLAND J.W. (1973). "Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment". Journal of the Association for Computing Machinery, vol. 20, no. 1, pp. 46-61. • SHA L., LEHOCZKY J.P. y JENSEN E.D. (1986). "Solutions for Some Practical Problems in Prioritized Preemptive Scheduling". Proceedings of the IEEE Real-Time Systems Symposium. • CHETTO H., SILLY M., BOUTENCHOUF T. (1990). "Dynamic Scheduling of Real-Time Tasks under Precedence Constraints". The Journal of Real-Time Systems, vol. 2, pp. 181-194. Juan Antonio Fernández Madrigal, 2003 Departamento de Ingeniería de Sistemas y Automática Universidad de Málaga