Comunicación entre tareas de tiempo real

Documentos relacionados
Aplicaciones Concurrentes

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

RELOJES DE TIEMPO REAL ÍNDICE

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

Tema 5: Introducción a los Sistemas en Tiempo Real

UNA SOLUCION PARA EL MANEJO DE LA EXCLUSION MUTUA USANDO PROTOCOLO DE TECHO DE PRIORIDAD

Colegio Oficial de Peritos e Ingenieros Técnicos Industriales de Sevilla ACTIVACIÓN DE JAVA EN GOOGLE CHROME PARA VERSIONES POSTERIORES A LA V42

UPM Gestión del tiempo real

Diagramas De Casos De Uso

HP - UX. Qué es HP UX?

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Comunicación mediante mensajes

CAPITULO 6. Control de Concurrencia y Recuperación

Programación Orientada a Objetos en Java

Mensajes. Interbloqueo

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

8. Control Multivariable

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

Curso de Java Introducción a la Programación III

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI

Una Panorámica del Problema de Inversión de Prioridades en Sistemas Operativos de Tiempo Real

Mercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Programación concurrente

Threads, SMP y Microkernels. Proceso

Tema 2. Procesos. 1. Concepto de proceso

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

Concurrencia entre Procesos.

Guía práctica de estudio 04: Clases y objetos

Modulo 11. Clases y Objetos en Java

GUÍA DOCENTE Programación Concurrente y de Tiempo Real

TEMA 5: Control de la Concurrencia en Java (API Estándar)

La Herencia: Teoría (1)

Principios de Computadoras II

Inversión de prioridades: prueba de concepto y análisis de soluciones

Normalmente, los programas son ejecutados de forma secuencial. Único flujo de control

Elementos Diagramas de Clases Clase:

Contenido. Qué es el interbloqueo? Cómo prevenirlo? Cómo evitarlo? Cómo detectarlo? Interbloqueo. Cruce en un Puente. Qué es?

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

APUNTES SOBRE PROCESOS Y DEADLOCK CONCEPTO DE PROCESO 1

BLOQUEOS. Por aprendebaloncesto.

Tema 14: Sistemas Secuenciales

CDI Exclusión mutua a nivel alto. conceptos

Sistemas Distribuidos. Soporte de Sistemas Operativos

Programación Orientada a Objetos

PROGRAMACION ORIENTADA A OBJETOS EN C++

Tipos de Arquitecturas usadas en MMOG

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux

Seminario de Programación en Ada

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Foro de Investigación en Salud de Argentina

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

DIAGRAMA DE CLASES EN UML

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Sistemas Operativos Temas 4, 5 y 6. Jorge García Duque Despacho: B-202 Tutorías: Lunes 16:00-18:00 y Martes 16:00-20:00

Laboratorio de capitulo 5

Conjunto telescópico SERIE 01

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red

CCNA Discovery Networking para el hogar y pequeñas empresas

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación

CAPÍTULO 5. DESARROLLO Y PRUEBAS

LA COLABORACIÓN, UNA REALIDAD GRACIAS A LA ARQUITECTURA TECNOLÓGICA HP EGOVERNMENT FRAMEWORK

PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores

Un caso de uso es una tarea que debe poder llevarse a cabo con el apoyo del sistema que se está desarrollando, se representa mediante un óvalo.

dit Control de drenaje de una mina Índice Juan Antonio de la Puente DIT/UPM Introducción Arquitectura lógica Arquitectura física Realización en Ada

Límite de una función

Concurrencia en Java

Procesos. Planificación del Procesador.

Si bien Pascal-FC no trae algunas de las características de Pascal como:

CLASE 19 ELEMENTOS MÍNIMOS DE PROGRAMACIÓN DE REGRESO A LOS VECTORES

Diagramas de interacción

Versión 4.6 Manual de Usuario Registro de Licitadores v. 2.1 Mayo, 2004

dit Entorno de ejecución Juan Antonio de la Puente DIT/UPM UPM

LOS VIRUS IMFORMÁTICOS

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

Tecnología Eléctrica ( Ingeniería Aeronáutica )

Roles y Características

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Introducción a las redes de ordenadores y protocolos de comunicación. Ordenador que no depende de otro para su funcionamiento.

Win7 Panel de Control Opción 09 Opciones de Internet Desde Opciones de Internet podremos hacer una limpieza y control de las opciones del Sistema.

Mi primer servidor. Fernando Fernández Consultor Preventa HP ISS

Introducción a la P.O.O. Patrick Hernández Cuamatzi

UNIDAD 1 Introducción a los Algoritmos y Estructuras de Datos. 1.1 Definición de Algoritmo

Sistemas Distribuidos: Migración de Procesos

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Principios Generales de los Sistemas RT. Límites de Java Estándar en RT. La Especificación Java-RT (RTJS) Gestión de Memoria: Clases

Diseño de sistemas concurrentes

Foro de Investigación en Salud de Argentina

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)

Este sistema de manera global presenta cuatro módulos: bearerbox de Kannel, kj-

No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas:

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)


UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

Transcripción:

dit UM omunicación entre tareas de tiempo real Juan Antonio de la uente DI/UM opyright 7, Juan Antonio de la uente

Interacción entre tareas Juan Antonio de la uente 7 En la mayoría de los sistemas de interés práctico las tareas interaccionan mediante datos comunes (protegidos) mensajes En todos estos casos puede ocurrir que una tarea tenga que esperar un suceso de otra menos prioritaria Esta situación se denomina bloqueo, y produce una inversión de prioridad indeseable La inversión de prioridad no se puede eliminar completamente, pero es posible limitar su duración //7 lanificación de tareas

Ejemplo τ τ τ τ Juan Antonio de la uente 7 X Y area ta Acciones NNXYN NYYN NN NXXXXN N: ejecución de código propio X: ejecución con acceso a X Y: ejecución con acceso a Y (durante unidad de tiempo) //7 lanificación de tareas

Ejemplo: inversión de prioridad bloqueo Juan Antonio de la uente 7 τ τ τ τ 6 8 6 8 //7 lanificación de tareas

Herencia de prioridad Una forma de reducir la duración de los bloqueos es variar dinámicamente la prioridad de las tareas Juan Antonio de la uente 7 uando una tarea está bloqueando a otra más prioritaria, hereda la prioridad de ésta La prioridad dinámica de una tarea es el máximo de su prioridad básica las prioridades de todas las tareas bloqueadas por ella La herencia de prioridad es transitiva //7 lanificación de tareas

Ejemplo: herencia de prioridad Juan Antonio de la uente 7 τ τ τ τ 6 8 6 8 //7 lanificación de tareas

Duración máxima del bloqueo Juan Antonio de la uente 7 on el protocolo de herencia de prioridad, una tarea se pude bloquear como máximo una vez por cada recurso una vez por cada tarea de prioridad inferior La duración total máxima de los bloqueos es i K k K número de secciones críticas u(k,i) si - la tarea que ejecuta k es τ j, j < i y - algún τj, j > i, accede al recurso que se usa en k si no u( k, i) ( k) k tiempo de ejecución de la sección crítica k //7 lanificación de tareas 6

//7 lanificación de tareas 7 Juan Antonio de la uente 7 Ejemplo : cálculo del bloqueo Una tarea puede bloquearse por recursos a los que no accede (por ejemplo, τ ) Una tarea puede sufrir bloqueo aunque no acceda a recursos compartidos (por ejemplo, τ ) La tarea de menor prioridad (τ ) no sufre bloqueo ( ) 6,, X Y X,Y K

iempo de respuesta con bloqueos uando hay bloqueos, la ecuación del tiempo de respuesta queda así: Juan Antonio de la uente 7 i i i ' j & hp( i) i j % La solución se obtiene mediante la relación de recurrencia n w i i i ' j hp( i) w n i j j % % & j Ahora el cálculo puede ser pesimista //7 lanificación de tareas 8

rotocolos de techo de prioridad El techo de prioridad (ceiling priority) de un recurso es la máxima prioridad de las tareas que lo usan Juan Antonio de la uente 7 El protocolo del techo de prioridad (, ceiling priority protocol) consiste en : la prioridad dinámica de una tarea es el máximo de su prioridad básica y las prioridades de las tareas a las que bloquea una tarea sólo puede usar un recurso si su prioridad dinámica es mayor que el techo de todos los recursos en uso por otras tareas //7 lanificación de tareas 9

Ejemplo : techo de prioridad Juan Antonio de la uente 7 τ τ τ τ 6 8 6 8 //7 lanificación de tareas

ropiedades Juan Antonio de la uente 7 uando se usa el protocolo del techo de prioridad en un sistema monoprocesador, ada tarea se puede bloquear una vez, como máximo, en cada ciclo No puede haber interbloqueos No puede haber bloqueos encadenados La duración máxima del bloqueo es ahora max u( k, i) i K (.. K ) k //7 lanificación de tareas

rotocolo del techo de prioridad inmediato (I) Juan Antonio de la uente 7 on este protocolo, una tarea que accede a un recurso hereda inmediatamente el techo de prioridad del recurso la prioridad dinámica de una tarea es el máximo de su prioridad básica y los techos de prioridad de los recursos que usa Las propiedades son las mismas que las del protocolo del techo de prioridad, y además, si una tarea se bloquea, lo hace al principio del ciclo La duración máxima del bloqueo es igual que en : max u( k, i) i K (.. K ) k //7 lanificación de tareas

Ejemplo : techo de prioridad inmediato Juan Antonio de la uente 7 τ τ τ τ 6 8 6 8 //7 lanificación de tareas

Ejemplo : cálculo del bloqueo con I Juan Antonio de la uente 7 K ( X,Y, Y, X ) (,,, ) (,,, ) (,,, ) (,,, ) max max max max //7 lanificación de tareas

e I Juan Antonio de la uente 7 Los dos protocolos tienen las mismas propiedades,pero I es más fácil de realizar» no hay que seguir las relaciones de bloqueo transitivas I produce menos cambios de contexto» el bloqueo se produce antes de la ejecución I produce más cambios de prioridad» se hereda la prioridad techo aunque no haya bloqueo El protocolo I se conoce también con otros nombres: eiling Locking (Ada 9) riority rotect rotocol (OIX) riority eiling Emulation ( Java) Highest Locker //7 lanificación de tareas

Ejemplo τ τ τ τ τ Juan Antonio de la uente 7 F I τ Atributos temporales D Acceso a O τ τ τ 6 τ 6 τ //7 lanificación de tareas 6

Ejemplo rioridades Las prioridades de las tareas se asignan por DM (más prioridad a las tareas de menor plazo) El techo de prioridad de cada objeto protegido es la prioridad máxima de las tareas que lo usan Juan Antonio de la uente 7 τ τ τ τ Atributos temporales D 6 Acceso a O τ 6 τ //7 lanificación de tareas 7

Ejemplo loqueos max u( k, i) i K (.. K ) k Juan Antonio de la uente 7 τ τ τ τ τ Atributos temporales 6 6 D Acceso a O τ //7 lanificación de tareas 8

//7 lanificación de tareas 9 Juan Antonio de la uente 7 Ejemplo iempos de respuesta 6 6 6 6 6 6 τ 6 τ τ τ τ D Acceso a O Atributos temporales τ

esumen Juan Antonio de la uente 7 uando dos o más tareas se sincronizan se produce una inversión de prioridades e puede limitar la duración de los bloqueos producidos por la inversión de prioridades utilizando un protocolo adecuado (I,, I) sólo sirve en sistemas» planificados con prioridades fijas» con un conjunto estático de tareas periódicas y esporádicas» con comunicación mediante datos comunes protegidos (exclusión mutua) no sirve cuando hay sincronización condicional, paso de mesajes u otras formas de sincronización //7 lanificación de tareas