Descargar

Interacción entre tareas

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Indice Comunicación y Sincronización Comunicación con datos comunes Comunicación mediante mensajes Problemas en la Interacción entre tareas. Inversión de Prioridad Protocolos.

    edu.red

    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

    edu.red

    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.

    edu.red

    Comunicacion entre procesos mediante Buzones

    edu.red

    Coordinacion entre procesos mediante semaforos

    edu.red

    Datos en memoria compartida utilizados por varios procesos

    edu.red

    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

    edu.red

    Ejemplo: Incrementar Contador

    LDA contador INC STA contador Incrementar Contador

    LDA contador INC STA contador A B 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)

    Partes: 1, 2
    Página siguiente