Please enable JavaScript.
Coggle requires JavaScript to display documents.
Mecanismos de sincronización y su relación con modelos de comunicación.,…
Mecanismos de sincronización y su relación con modelos de comunicación.
Características:
Por un lado, algunos procesos cooperan para lograr un objetivo común.
Por otro lado, los procesos compiten por el uso de unos recursos limitados, como el procesador, la memoria o los ficheros.
Los distintos procesos dentro de un ordenador no actúan de forma aislada.
Estas dos actividades de cooperación y competición llevan asociada la necesidad de algún tipo de comunicación entre los procesos. Parte de este tema lo dedicaremos a estudiar mecanismos de comunicación entre los procesos.
Esta relacionada con la interacción entre los procesos, la comunicación refiere el paso de información de un proceso a otro, la sincronización corresponde al cumplimiento de las dependencias temporales entre diferentes procesos.
Implementación:
Nuevo flujo de canalización de E / S: Pipe.SinkChannel y Pipe.SourceChannel;
Flujo de caracteres de canalización: PipedWriter y PipedReader;
Flujo de bytes de canalización: PipedInputStream y PipedOutputStream;
Los métodos relacionados del mecanismo de espera / notificación son los métodos básicos del nivel de objeto en Java, y cualquier objeto tiene este método:
notifyAll: despierta todos los hilos en espera en el objeto e ingresa a la cola de contención de bloqueo de objeto.
Esperar: el hilo entra en el estado de espera, no competirá por el objeto de bloqueo y también se puede establecer el tiempo de espera.
notificar: notifica aleatoriamente a un subproceso que espera en el objeto para que vuelva al estado de espera.
Funcionamiento:
Según el modo de nombrar origen y destino:
Comunicación directa: proceso a proceso.
Comunicación indirecta: basada en puertos o buzones.
Según la capacidad del enlace:
Comunicaciónsíncrona: el enlace tiene capacidad = 0.
Comunicación asíncrona: el enlace tiene capacidad > 0.
Comunicación por mensajes:
Operaciones básicas (proporcionadas por el Sistema Operativo):
send(dst,mensaje): enviar un mensaje a un destino.
receive(org,mensaje): recibir un mensaje de un origen.
Dependiendo del tipo de comunicación, entre estos se encuentran:
Comunicación asincrónica.
Persistente.
Comunicación directa.
Directa.
Indirecta.
Algoritmos que ejemplifiquen cada mecanismos:
Sentencia de temporización(timeout):
Se activa si el selectpermanece en espera el tiempo especificado.
Sentencia de finalización coordinada(terminate):
Se activa, concluyendo el proceso, si todos los procesos hermanos (del mismo cobegin) han concluido o se encuentran en un selectcon una alternativa “terminate”.
Envío de un mensaje:
Se activa cuando se acepta el envío de un mensaje.
Recepción de un mensaje:
Se activa cuando se recibe un mensaje
Alternativa por defecto (else):
Se ejecuta si al entrar en el select no se acepta alguna alternativa que esté dispuesta.
Universidad del Valle de México
Materia: Programación concurrente
Docente: José Urquidez Ramírez
Alumna: Guadalupe de la Cruz Xalocan