Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Programación: Conceptos de Concurrencia (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

17
Mecanismos de comunicación y sincronización entre procesos.

Independientemente del mecanismo de comunicación / sincronización entre los procesos, los lenguajes de programación concurrente deberán proveer primitivas adecuadas para la especificación e implementación de las mismas.
De un lenguaje de programación concurrente se requiere:
Indicar las tareas o procesos que pueden ejecutarse concurrentemente.
Mecanismos de exclusión mútua.
Mecanismos de comunicación entre los procesos.

Recordar el ejemplo de ADA.

Monografias.com

18
Programación Distribuida

Los métodos de sincronización que han visto se basan en leer y escribir variables compartidas, lo cual significa que los programas concurrentes se ejecuten sobre hardware con acceso a memoria compartida.
Las arquitecturas de memoria distribuida son cada vez más habituales. Esto implica procesadores + memoria local + red de comunicaciones + otro mecanismo de comunicación/sincronización—-> mensajes.
Para escribir programas sobre una arquitectura de memoria distribuida, es necesario definir la interfaz con el sistema de comunicaciones—> primitivas de pasaje de mensajes —> los procesos no comparten memoria, sino canales (físicos o lógicos).

Monografias.com

19
Programación Distribuida

Los programas concurrentes que se comunican por mensajes se denominan programas distribuidos. Esto supone la ejecución sobre una arquitectura de memoria distribuída, aunque puedan ejecutarse sobre una arquitectura de memoria compartida ( o híbrida).
En un programa distribuido los canales son el único objeto que los procesos comparten ===> no hay acceso concurrente a variables y la exclusión mutua no requiere ningún mecanismo especial.
Entre los mecanismos para la programación distribuida (que dependen del modo en que interactúan los procesos) tenemos productores-consumidores, clientesservidores e interacción entre pares.

Monografias.com

20
Programación Distribuida. Conceptos de pasaje de mensajes.

Los canales pueden proveer comunicaciones half-duplex o full-duplex. A su vez estas comunicaciones pueden ser asincrónicas (no bloqueantes) o sincrónicas (bloqueantes).
Las combinaciones dan lugar a AMP, SMP, RPC y Rendezvous que son los 4 mecanismos (equivalentes funcionalmente ya que pueden intercambiarse) cuya sintaxis y semántica serán nuestro objetivo.
El pasaje de mensajes (AMP o SMP) puede verse como una extensión de semáforos con datos. En RPC y Rendezvous se combina la interfaz procedural de los monitores con pasaje de mensajes implícito.
Si bien decimos que son equivalentes, veremos que AMP y SMP son mejores para modelos tipo productor-consumidor o pares interactivos, mientras RPC y Rendezvous serán más útiles para esquemas C-S.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter