Sin t - PowerPoint PPT Presentation

About This Presentation
Title:

Sin t

Description:

El uso de se ales se produce a traves de sem foros ... Mas a menudo, cooperan. para un fin com n o compiten por la utilizaci n de los. recursos. ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 32
Provided by: laboratori65
Category:
Tags: menudo | sin

less

Transcript and Presenter's Notes

Title: Sin t


1
Interacción entre Tareas
Dr. Pedro Mejía Alvarez Sección de
Computación. CINVESTAV-IPN
2
Indice
  • Comunicación y Sincronizacion
  • Comunicación con datos comunes
  • Comunicación mediante mensajes
  • Problemas en la Interacción entre tareas.
  • Inversión de Prioridad
  • Protocolos.

3
Interacción entre tareas
  • En la mayoría de los sistemas de interés
    práctico las
  • tareas interaccionan mediante
  • datos comunes (protegidos)
  • mensajes
  • señales
  • La interacción puede darse entre tareas con
    distintas
  • prioridades.
  • El acceso a datos comunes debe protegerse.
  • El uso de mensajes se produce a traves de
    buzones.
  • El uso de señales se produce a traves de
    semáforos
  • En todos estos casos puede ocurrir que una
    tarea
  • tenga que esperar un suceso de otra menos
  • prioritaria

4
Comunicación y Sincronización
  • Raras veces los procesos de un sistema son
  • independientes unos de otros. Mas a menudo,
    cooperan
  • para un fin común o compiten por la
    utilización de los
  • recursos.
  • Para ello, es necesario realizar operaciones de
  • comunicación y sincronización entre procesos.
  • Dos procesos se comunican cuando hay una
    transferencia de
  • información de uno a otro.
  • Dos procesos estan sincronizados cuando hay
    restricciones
  • en el orden en que se ejecutan sus acciones.
  • Los dos conceptos estan relacionados.
  • Hay distintas formas de abordar el problema
  • Datos comunes.
  • Mensajes.

5
Comunicacion entre procesos mediante Buzones
6
Coordinacion entre procesos mediante semaforos
7
Datos en memoria compartida utilizados por varios
procesos
8
Comunicacion con datos comunes
  • En un sistema monoprocesador, la forma mas
    directa
  • de comunicación entre dos o mas procesos
    consiste
  • en compartir datos comunes.
  • El acceso incontrolado a variable comunes
  • Puede producir resultados anomalos.
  • Se dice que hay una condicion de carrera cuando
  • el resultado de la ejecucion depende del orden
    en
  • que se intercalan las instrucciones de dos o
    mas
  • procesos.
  • Se trata de una situacion que hay que evitar

9
Ejemplo
A
B
Incrementar Contador LDA contador INC STA
contador
Incrementar Contador LDA contador INC STA
contador
Contador 0
  • El resultado final puede ser 1 o 2
  • Depende de las velocidades relativas de los
    procesos.
  • Para evitar este problema hay que asegurar que
    las
  • Operaciones con variable comunes sean atómicas.
  • Deben de usarse mecanismos de exclusión mutua
    (p.ej. Semàforos)

10
Comunicacion mediante mensajes
  • Las tareas se pueden comunicar y sincronizar
  • mediante mensajes.
  • Esta forma de comunicacion no necesita de
    memoria
  • comun.
  • Es posible utilizar buzones como mencanismo de
  • comunicación.
  • Hay tres aspectos de interes
  • Sincronizacion.
  • Identificacion del proceso emisor y receptor.
  • Estructura de los mensajes

11
Diagrama de secuencia de mensajes
  • Representan la interacción
  • entre procesos mediante
  • el intercambio de mensajes
  • El tiempo va hacia abajo

B
A
B
send
receive
Buzón
12
Sincronización en el envío de mensajes
  • El proceso receptor siempre espera si el mensaje
  • no ha llegado todavia.
  • Para el proceso emisor hay tres modelos basicos
  • Comunicación asíncrona el emisor continua su
    ejecución.
  • Comunicación síncrona (cita) el emisor espera a
    que
  • el receptor reciba el mensaje.
  • Invocación remota (cita extendida) el emisor
    espera a que
  • el receptor reciba el mensaje, y la respuesta
    de éste.

13
Comunicación Asíncrona
  • El numero de mensajes que
  • pueden enviarse depende del
  • tamaño del buzón.
  • El emisor puede saturar el
  • buzón (si no hay receptcion) y
  • hasta entonces bloquearse.
  • El receptor puede bloquearse si
  • el buzón se encuentra vacio.

A
B
send
Buzón
receive
14
Comunicación Síncrona
  • El buzón acepta solo un mensaje
  • Al enviar un mensaje el emisor
  • espera (bloqueado) hasta que el
  • receptor ha recibido el mensaje.
  • Lo mismo ocurre cuando el
  • receptor ejecuta el receive primero.

A
B
send
Buzón
receive
mensaje
A send(m) receive (ack)
B receive(m) send (ack)
15
Invocación Remota
  • El buzón acepta solo un mensaje
  • Al enviar un mensaje el emisor
  • espera (bloqueado) hasta que el
  • receptor ha recibido el mensaje.
  • Lo mismo ocurre cuando el
  • receptor ejecuta el receive primero.

A
B
send
mensaje
receive
bloqueo
reply
A s_send(m) s_receive (ack)
B s_receive(m) preparar reply s_send(r)
16
Estructura de los mensajes
  • El mensaje podria llevar los siguentes campos
  • Encabezado.
  • Identificador del emisor.
  • Identificador del receptor.
  • Longitud del mensaje
  • Mensaje.
  • Campo de ack.
  • Campo de seguridad
  • El contenido del mensaje deberia poder ser de
    cualquier
  • tipo.

17
Identificación del emisor y el receptor
  • Identificación directa o indirecta
  • Directa el emisor identifica explicitamente al
    receptor
  • send mensaje to proceso
  • Indirecta se utiliza un intermediario (buzón,
    canal,
  • tubería, etc)
  • send mensaje to buzón
  • Simetria
  • Comunicacion simétrica el emisor identifica al
    receptor
  • y viceversa.
  • send mensaje to proceso (buzón)
  • receive mensaje from proceso (buzón)
  • Comunicacino Asimétrica el receptor acepta
    mensajes
  • de cualquier emisor o buzón.

18
Problemas con la Interacción entre tareas
  • Cuando dos o mas tareas comparten datos, sen
    envian
  • mensajes o se sincronizan entre si, 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

19
Ejemplo 1
X
Y
20
Ejemplo 1 inversión de prioridad
bloqueo
a1
ax
ay
a2
b1
by
by
b2
c1
d1
dx
dx
d2
0 2 4 6
8 10 12
14 16 18
21
Herencia de prioridad
  • Una forma de reducir la duración de los
    bloqueos es
  • variar dinámicamente la prioridad de las
    tareas
  • Cuando una tarea está bloqueando a otra más
  • prioritaria, hereda la prioridad de está
  • 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

22
Ejemplo 1 herencia de prioridad
a1
ax
ay
a2
b1
by
by
b2
c1
d1
dx
dx
d2
0 2 4 6
8 10 12
14 16 18
23
Duración máxima de bloqueo
  • Con el protocolo de herencia de prioridad, una
    tarea
  • se puede bloquear como máximo
  • una vez por cada sección crítica
  • una vez por cada tarea de prioridad inferior
  • La duración total máxima de los bloqueos es
  • donde
  • K es el número de recursos compartidos
  • C es el tiempo durante el cual la
    tarea j accede al
  • recurso K(0 si no usa el recurso)

j,k
24
Ejemplo 1 cálculo de bloqueo
  • B C C 246
  • B C 4
  • B C 4
  • B 0
  • Una tarea puede bloquearse por recursos a los
    que no
  • accede (por ejemplo, 2)
  • Una tarea puede sufrir bloqueo aunque no acceda
    a
  • recursos compartidos (por ejemplo, 3)
  • La tarea de menor prioridad ( 4) no sufre
    bloqueo

1
2,Y
4, X
2
4, X
4, X
3
4
25
Tiempo de respuesta con bloqueos
  • Cuando hay bloqueos, la ecuación del tiempo de
  • respuesta queda así

La solución se obtiene mediante la relación
de recurrencia
26
Protocolos de techo de prioridad
  • El techo de prioridad de un recurso es la
    máxima
  • prioridad de las tareas que lo usan
  • El protocolo del techo de prioridad 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

27
Ejemplo 1 techo de prioridad
a1
ax
ay
a2
by
b1
by
b2
c1
d1
dx
dx
d2
dx
0 2 4 6
8 10 12
14 16 18
28
Propiedades
  • Cuando se usa el protocolo del techo de
    prioridad en
  • un sistema monoprocesador,
  • Cada tarea se puede bloquear una vez, como
    máximo, en
  • cada ciclo
  • No puede haber interbloqueos
  • No puede haber bloqueos encadenados
  • Se consigue la exclusión mutua sin mecanismos
    de
  • protección adicionales
  • La duración máxima del bloqueo es ahora
  • B max C
  • lc(i) es el conjunto de recursos que pueden
    bloquear i

j,k
felp(f),k lc(i)
29
Protocolo del techo de prioridadinmediato
  • Con 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
  • Es más fácil de implementar que el protocolo
    básico
  • Es más eficiente ( menos cambios de contexto )

30
Ejemplo 1 techo de prioridadinmediato
a1
ax
ay
a2
b1
by
b2
c1
d1
dx
d2
0 2 4 6
8 10 12
14 16 18
31
Resumen
  • Un método de planificación tiene dos partes
  • un algoritmo de reparto de recursos
  • un método de análisis del comportamiento
    temporal
  • El método clásico se basa en un ejecutivo
    cíclico
  • el análisis es inmediato (por construcción)
  • es poco flexible y de bajo nivel
  • Un método mejor se basa en el uso de
    prioridades fijas
  • las prioridades se asignan por orden de
    período, plazos o de
  • forma arbitraria
  • se puede analizar el tiempo de respuesta de las
    tareas
  • se pueden analizar tareas con interacción si se
    usa un protocolo
  • de herencia o techo de prioridad
Write a Comment
User Comments (0)
About PowerShow.com