tema0397
TRANSCRIPT
![Page 1: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/1.jpg)
Robiro A. Asuaje L. 11/25/09 1
Universidad Centro Occidental“Lisandro Alvarado“Decanato de Ciencias
COORDINACIÓN Y SINCRONIZACIÓN
ENTRE
PROCESOS
![Page 2: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/2.jpg)
Robiro A. Asuaje L. 11/25/09 2
PROCESOS CONCURRENTES
➤ CONCURRENCIA: Capacidad del sistema operativo de realizar actividades simultáneas
➤ PROCESOS CONCURRENTES: Si dos o más procesos pueden ser ejecutados por el computador en paralelo, diremos que dichos procesos son concurrentes.
![Page 3: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/3.jpg)
Robiro A. Asuaje L. 11/25/09 3
TIPOS DE PROCESOS
◆ INDEPENDIENTES ◆ COOPERATIVOS:
Sincronización
![Page 4: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/4.jpg)
Robiro A. Asuaje L. 11/25/09 4
ESTRUCTURA DE CONTROL PARA INDICAR CONCURRENCIA
COBEGIN
acción 1;
acción 2; Conjunto de instrucciones
. que
. se ejecutarán en paralelo.
acción n
COEND
![Page 5: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/5.jpg)
Robiro A. Asuaje L. 11/25/09 5
ESTRUCTURA DE CONTROL PARA INDICAR CONCURRENCIA
➤ Ejemplo 1:Determinar el valor máximo entre A,B,C,D suponiendo que el computador tiene disponible la función MAX (X1,X2)
COBEGIN
M1:=MAX(A,B);
M2:=MAX(C,D);
COEND
M:=MAX(M1,M2);
![Page 6: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/6.jpg)
Robiro A. Asuaje L. 11/25/09 6
ESTRUCTURA DE CONTROL PARA INDICAR CONCURRENCIA
➤ Ejemplo 2: Evaluar la siguiente expresión númerica R:=(A+B)*(C+D)-(E-F)
COBEGIN
R1:=A+B;
R2:=C+D;
R3:=E-F;
COEND
R4:=R1*R2;
R5:=R4-R3;
![Page 7: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/7.jpg)
Robiro A. Asuaje L. 11/25/09 7
ESTRUCTURA DE CONTROL PARA INDICAR PARALELISMO
➤ Ejemplo 3:
A:=5;
COBEGIN
WRITE (A);
A:=0;
COEND
![Page 8: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/8.jpg)
Robiro A. Asuaje L. 11/25/09 8
CONDICIÓN DE CARRERA
➤ Cuando se maneja sincronización estándar y se observan actualizaciones al mismo tiempo, en la cual una se va a hacer primero que la otra, se denomina “Condición de Carrera".
![Page 9: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/9.jpg)
Robiro A. Asuaje L. 11/25/09 9
PRIMITIVAS DE EXCLUSIÓN MUTUA
➤ Se implementan a través de dos instrucciones:
– ENTRAR_EXCLUSION_MUTUA
– SALIR_EXCLUSION_MUTUA
![Page 10: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/10.jpg)
Robiro A. Asuaje L. 11/25/09 10
program Exclusion_Mutua;
var Frecuencia:Integer;
Ejecucion:boolean;
Procedure Observador;
begin
while Ejecucion do
begin
Observar_Evento;
ENTRAR_EXCLUSION_MUTUA;
Frecuencia:=Frecuencia+1;
SALIR_EXCLUSION_MUTUA
end
end;
Procedure Reportero;
begin
while Ejecucion do
begin
ENTRAR_EXCLUSION_MUTUA;
write(Frecuencia);
Frecuencia:=0;
SALIR_EXCLUSION_MUTUA;
end
end;
![Page 11: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/11.jpg)
Robiro A. Asuaje L. 11/25/09 11
PRIMITIVAS DE EXCLUSIÓN MUTUA
BEGIN
Frecuencia:=0;
COBEGIN
Observador;
Reportero;
COEND
END.
![Page 12: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/12.jpg)
Robiro A. Asuaje L. 11/25/09 12
SECCIÓN CRÍTICA
◆ La exclusión mutua permite el manejo adecuado de los procesos concurrentes asíncronos.
◆ Cuando un proceso obtiene acceso a datos y recursos compartidos, se dice que el conjunto de instrucciones que los manipulan conforman una SECCIÓN CRÍTICA
![Page 13: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/13.jpg)
Robiro A. Asuaje L. 11/25/09 13
REQUISITOS QUE SE DEBEN CUMPLIR PARA EL MANEJO DE SECCIONES CRÍTICAS
➤ Exclusión Mutua:
Si un proceso se está ejecutando en su sección crítica, entonces ningún otro proceso se puede estar ejecutando en su sección critica en ese mismo tiempo.
![Page 14: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/14.jpg)
Robiro A. Asuaje L. 11/25/09 14
➤Progreso: Si ningún proceso se está ejecutando en su sección
crítica y existen procesos que desean entrar a sus
secciones críticas, entonces sólo aquellos procesos
que no se encuentran ejecutando otras actividades,
pueden participar en la decisión de cuál será el
siguiente en entrar en la sección crítica y esta
selección no puede postergarse indefinidamente.
REQUISITOS QUE SE DEBEN CUMPLIR PARA EL MANEJO DE SECCIONES CRÍTICAS
![Page 15: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/15.jpg)
Robiro A. Asuaje L. 11/25/09 15
REQUISITOS QUE SE DEBEN CUMPLIR PARA EL MANEJO DE SECCIONES CRÍTICAS
➤ Espera Limitada:
Debe existir un límite sobre el número de veces que se permite que los demás procesos entren en su sección crítica, después de que un proceso haya efectuado una solicitud de entrar a su sección crítica y antes que la solicitud sea concedida. No se puede posponer a un proceso en espera indefinida para entrar a su sección crítica.
![Page 16: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/16.jpg)
Robiro A. Asuaje L. 11/25/09 16
ESPERA ACTIVA
➤Mientras un proceso se encuentre esperando a que otro proceso termine de culminar las actividades de su sección critica, se dice que el proceso que espera se encuentra en ESPERA ACTIVA.
![Page 17: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/17.jpg)
Robiro A. Asuaje L. 11/25/09 17
SINCRONIZACIÓN DE PROCESOS
SEMÁFORO:
Es una variable numérica entera de tipo protegida (sólo la maneja el sistema operativo) que se manipula a través de operaciones atómicas bien definidas:
* WAIT = DOWN = P(S): while S < = 0 do;
S:=S-1;
* SIGNAL = UP = V(S): S:=S+1;
![Page 18: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/18.jpg)
Robiro A. Asuaje L. 11/25/09 18
SINCRONIZACIÓN DE PROCESOS
Adicionalmente definiremos un procedimiento:
INICIA_SEMAFORO (S,VALOR);
donde se asigna el contenido de valor al semáforo S. (S := VALOR;)
Los semáforos y sus operaciones se encuentran implementadas en el núcleo (KERNEL) del sistema operativo.
![Page 19: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/19.jpg)
Robiro A. Asuaje L. 11/25/09 19
SINCRONIZACIÓN DE PROCESOS
➤ Usos:– Para el manejo de las secciones críticas.– Para el acceso y uso de recursos.
➤ TIPOS:
- Binarios: Toman solamente los valores 0 ó 1.
- Contadores: Su contenido puede ser mayor de 1.
![Page 20: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/20.jpg)
Robiro A. Asuaje L. 11/25/09 20
IMPLEMENTACIÓN DE LAS OPERACIONES SOBRE SEMÁFORO SIN ESPERA OCIOSA
TYPE SEMAFORO = RECORD
Valor: Integer;
Lista: Lista_de_procesos.
END;
P(S): S.Valor:=S.Valor-1;
If S.Valor < 0 then begin
Agregar proceso de Semáforo.lista;
Bloquear (Proceso)
end;
![Page 21: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/21.jpg)
Robiro A. Asuaje L. 11/25/09 21
IMPLEMENTACIÓN DE LAS OPERACIONES SOBRE SEMÁFORO SIN ESPERA OCIOSA
V(S): S.Valor := S.Valor +1;
If S.Valor <= 0
then begin
Remover proceso de Semáforo.Lista;
Activar (Proceso)
end;
![Page 22: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/22.jpg)
Robiro A. Asuaje L. 11/25/09 22
USO DE SEMÁFOROS PARA EL MANEJO DE SECCIONES CRÍTICAS
Program semaforo;
var Activo:semaforo;
Ejecucion:boolean;
Procedure proceso_uno;
begin
while Ejecucion do
begin
Actividades_preliminares_uno;
P(Activo);
Seccion_critica_uno;
V(Activo);
otras_actividades_uno;
end
end;
Procedure proceso_dos;
begin
while Ejecucion do
begin
Actividades_preliminares_dos;
P(Activo);
Seccion_critica_dos;
V(Activo);
otras_actividades_dos;
end
end;
![Page 23: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/23.jpg)
Robiro A. Asuaje L. 11/25/09 23
IMPLEMENTACIÓN DE LAS OPERACIONES SOBRE SEMÁFORO SIN ESPERA OCIOSA
BEGIN
IniciaSemaforo(Activo,1);
COBEGIN
Proceso_uno;
Proceso_dos;
COEND
END.
![Page 24: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/24.jpg)
Robiro A. Asuaje L. 11/25/09 24
PROBLEMA DEL PRODUCTOR Y CONSUMIDOR
Program Productor_y_consumidor;
var critica,vacios,llenos:Semaforo;
Procedure Productor;
begin
while ejecucion do
begin
obtener_dato;
P(Vacios);
P(Critica);
Introducir_dato_buffer;
V(Critica);
V(Llenos);
end
end;
Procedure Consumidor;
begin
while ejecucion do
begin
P(Llenos);
P(Critica);
Tomar_dato_buffer;
V(Critica);
V(Vacios);
Utilizar_Dato
end
end;
![Page 25: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/25.jpg)
Robiro A. Asuaje L. 11/25/09 25
PROBLEMA DEL PRODUCTOR Y CONSUMIDOR
BEGIN (*principal*)
IniciaSemaforo (critica, 1);
IniciaSemaforo (vacios, n);
IniciaSemaforo (llenos, 0);
COBEGIN
Productor;
Consumidor;
COEND;
END. (*PRODUCTOR_Y_CONSUMIDOR*)
![Page 26: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/26.jpg)
Robiro A. Asuaje L. 11/25/09 26
PROBLEMA DEL BARBERO DORMILONProgram Barbero_Dormilon;
var barbero,cliente,critica:semaforo
Esperando:Integer
Ejecucion:Boolean;
Procedure Barbero;
begin
while ejecucion do
begin
P(clientes);
P(critica);
Esperando=Esperando-1;
V(Barberos);
V(critica);
Cortar_el_pelo;
end
end;
procedure cliente;
begin
P(critica);
If esperando<Cantidad_Sillas;
then begin
Esperando:=Esperando+1;
V(clientes);
V(critica);
P(barbero);
Obtener_corte_de_pelo;
end
else V(critica);
end;
![Page 27: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/27.jpg)
Robiro A. Asuaje L. 11/25/09 27
PROBLEMA DEL BARBERO DORMILON
BEGIN (*principal*)
IniciaSemaforo (clientes,0);
IniciaSemaforo (barbero,0);
IniciaSemaforo (critica,1);
COBEGIN
Barbero;
Clientes;
COEND
END.
![Page 28: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/28.jpg)
Robiro A. Asuaje L. 11/25/09 28
HARDWARE DE SINCRONIZACIÓN
1- TEST_AND_SET
Es una instrucción de hardware especial que permite probar y modificar el contenido de un dato “atómicamente".
function Test_And_Set (var valor:boolean):boolean;
begin
Test_and_set:=valor;
Valor:=True;
end
![Page 29: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/29.jpg)
Robiro A. Asuaje L. 11/25/09 29
Uso del Test_and_Set
Entrar:= False;Repeat
While Test_and_Set ( Entrar ) do ;
SECCIÓN CRÍTICA
Entrar := False;
Until Ejecución = False
![Page 30: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/30.jpg)
Robiro A. Asuaje L. 11/25/09 30
HARDWARE DE SINCRONIZACIÓN
2- La instrucción SWAP
Es una instrucción de hardware especial que permite intercambiar el contenido de dos datos (o variables) “atómicamente".
Procedure SWAP (A,B) ;
var temp:boolean;
begin
temp:=a;
a:=b;
b:=temp
end
![Page 31: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/31.jpg)
Robiro A. Asuaje L. 11/25/09 31
Uso del SWAPEntrar:= False;REPEAT
Clave:= True;Repeat
SWAP (Entrar, Clave);until Clave = false
SECCIÓN CRÍTICA
Entrar := False;
UNTIL Ejecución = false;
![Page 32: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/32.jpg)
Robiro A. Asuaje L. 11/25/09 32
MONITORES
➤ Es una herramienta de sincronización.➤ Posee una estructura propia. Es una colección
de procedimientos, variables y estructuras de datos que se agrupan en un módulo especial.
➤ Los procesos pueden llamar a los procedi-mientos de un monitor siempre que lo re-quieran, pero no pueden accesar directamente las estructuras de datos internas del monitor.
![Page 33: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/33.jpg)
Robiro A. Asuaje L. 11/25/09 33
MONITORES: CARACTERÍSTICAS
1- Sólo un proceso puede estar activo en el monitor en un mismo instante.
2- Los monitores son una construcción de lenguaje de programación.
3- Cuando un proceso X llama a un procedimiento del monitor, las primeras instrucciones del procedimiento chequearán si otro proceso Y está actualmente activo dentro del monitor. Si es así, el proceso llamador X será suspendido hasta que el otro proceso Y abandone el monitor.
4- Las variables locales de un monitor sólo pueden ser accesadas por los procedimientos definidos internamente en el monitor.
5- Libera al programador de la necesidad de exclusión mutua.
![Page 34: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/34.jpg)
Robiro A. Asuaje L. 11/25/09 34
CÓMO MANEJAN LOS MONITORES, LA SINCRONIZACION DE PROCESOS MANEJO DE LOS RECURSOS COMPARTIDOS.
◆ 1- Uso de variables de condición.◆ 2- Estas variables de condición se accesan con dos
operaciones:
* WAIT (espera)
* SIGNAL (señalar)◆ 3- La operación WAIT(x) significa que el proceso que
la invoca, es suspendido hasta que otro proceso invoque la operación Signal (x).
Esto significa que la operación SIGNAL(X) "despier-ta" a un proceso suspendido sobre la variable de condición X.
![Page 35: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/35.jpg)
Robiro A. Asuaje L. 11/25/09 35
MONITORES: Ejemplo.Monitor ASIGNADOR_RECURSO;Var
Recurso_uso:Boolean;Recurso_libre: Condition;
Procedure Obtener_Recurso; Procedure Devolver_Recurso;
Begin BeginIf Recurso_Uso Recurso_uso:= False; then Wait (Recurso_libre) Signal (Recurso-Libre)
end; end;BEGIN (* Principal *) Recurso_uso:= False;END.
![Page 36: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/36.jpg)
Robiro A. Asuaje L. 11/25/09 36
COMUNICACION ENTRE PROCESOS
Esquemas de comunicación:
i) Memoria compartida:
- Los procesos se comunican a través de
variables compartidas.
- El sistema operativo provee la memoria
compartida.
- El programador tiene la responsabilidad de
proveer comunicación.
![Page 37: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/37.jpg)
Robiro A. Asuaje L. 11/25/09 37
COMUNICACIÓN ENTRE PROCESOS
ii) Sistema de mensajes:
- El sistema operativo tiene la responsa-
bilidad de proveer comunicación.
- Operaciones:
* SEND (enviar) Los mensajes
pueden ser de
tamaño
* RECEIVE (recibir) fijo o variable
![Page 38: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/38.jpg)
Robiro A. Asuaje L. 11/25/09 38
COMUNICACION ENTRE PROCESOS
ENLACE DE COMUNICACION (LINK)
- Debe existir entre dos procesos que
deseen comunicarse.
- Pueden ser:
Físicos: - Memoria Compartida.
- Bus de Hardware.
- Red de Interconexión.
Lógico: Deben definirse e
implementarse.
![Page 39: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/39.jpg)
Robiro A. Asuaje L. 11/25/09 39
COMUNICACION ENTRE PROCESOS
TIPOS DE COMUNICACION.
A- Directa: - Proceso fuente y proceso
destino.
- Operaciones:
SEND (P,Mensaje)
RECEIVE (Q,Mensaje)
- Simétrica: Comunicación uno
a uno.
![Page 40: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/40.jpg)
Robiro A. Asuaje L. 11/25/09 40
COMUNICACION ENTRE PROCESOS
PROPIEDADES DEL LINK EN LA COMUNICACION DIRECTA
i) Se establece automáticamente entre
cada par de procesos comunicantes.
ii) Entre cada par de procesos que se
comunican existe sólo un "LINK".
iii) Un Link está asociado exactamente
con dos procesos.
iv) El link es bidireccional.
![Page 41: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/41.jpg)
Robiro A. Asuaje L. 11/25/09 41
COMUNICACION ENTRE PROCESOS
Ejemplo: Caso Productor - Consumidor.
Procedure Productor; Procedure Consumidor;
Begin Begin
Repeat Repeat
. .
. .
Producir un_item en next p Receive(productor,next c)
. .
SEND(consumidor,next p) consumir item desde next c
. .
Until False Until False
End; End;
![Page 42: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/42.jpg)
Robiro A. Asuaje L. 11/25/09 42
COMUNICACION ENTRE PROCESOS
B. INDIRECTA: - Los mensajes son enviados y
recibidos a través de buzones
- Cada buzón tiene su propia
identificación.
- Operaciones: SEND(A,mensaje)
RECEIVE(A,mensaje)
donde A es el buzón.
- Asimétrica: Es de uno a varios.
![Page 43: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/43.jpg)
Robiro A. Asuaje L. 11/25/09 43
COMUNICACION ENTRE PROCESOS
PROPIEDADES DEL LINK EN LA COMUNICACION INDIRECTA.
i) Se establece entre dos procesos si tiene un
buzón compartido.
ii) Un Link puede estar asociado con más de dos procesos.
iii) Entre cada par de procesos que se
comunican puede existir más de un Link.
iv) Puede ser unidireccional o bidireccional.
![Page 44: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/44.jpg)
Robiro A. Asuaje L. 11/25/09 44
COMUNICACION ENTRE PROCESOS
PROPIETARIOS DE UN BUZON (MAILBOX).
- Un proceso P = Propietario -> P sólo lee de A.
Q = Usuario -> Q sólo escribe en A
- El sistema Operativo:
Ofrece mecanismos para:
i) Crear un nuevo buzón.
ii) Enviar y recibir mensajes.
iii) Destruir un buzón.
buzón
PQ
A
![Page 45: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/45.jpg)
Robiro A. Asuaje L. 11/25/09 45
COMUNICACION ENTRE PROCESOS
PIPES:
-Generalmente se usa entre un proceso enviador y un
proceso consumidor.
- Los mensajes son de tamaño fijo.
BUFFERING:
Se refiere a la cantidad de mensajes que pueden residir temporalmente en “un link”.
Esta propiedad puede verse como una "cola de mensajes” que está relacionada (unida) al link.
![Page 46: Tema0397](https://reader033.vdocument.in/reader033/viewer/2022060205/55a0b0971a28ab2d078b4831/html5/thumbnails/46.jpg)
Robiro A. Asuaje L. 11/25/09 46
COMUNICACION ENTRE PROCESOS
FORMAS (COLAS)
i) Capacidad cero: - El link no puede tener ningún
mensaje esperando en el.
ii) Capacidad Limitada: A lo sumo “n“ mensajes pueden
residir en la cola del link.
iii) Capacidad Ilimitada: La cola tiene potencialmente
longitud infinita.