Sincronización de alto nivel y comunicación entre procesos

9
Sincronización de alto nivel y comunicación entre procesos ALVARO VELEZ VEGA CRISTOPHER ESPINOSA JOSÉ LUIS SOTO IVAN MOSQUERA

Transcript of Sincronización de alto nivel y comunicación entre procesos

Sincronización de alto nivel y comunicación entre procesos

ALVARO VELEZ VEGA

CRISTOPHER ESPINOSA

JOSÉ LUIS SOTO

IVAN MOSQUERA

Sincronización de alto nivel y comunicaciónentre procesos

Sincronización entre procesos

� Un sistema operativo multiprogramado es un caso particular de sistemaconcurrente donde los procesos compiten por el acceso a los recursoscompartidos o cooperan dentro de una misma aplicación paracomunicar información.

� Ambas situaciones son tratadas por el sistema operativo mediantemecanismos de sincronización que permiten el acceso exclusivo de formacoordinada a los recursos y a los elementos de comunicacióncompartidos.

Primitivas de sincronización alternativas

� Para lograr la distribución de procesos se requiere de mecanismos que permitan coordinar ycontrolar la ejecución de procesos en ambientes no centralizados, ya sean de manera local yremota.

� Los primeros protocolos para la distribución de procesos remotos fueron para máquinashomogéneas.

� La mayoría del control de procesos se hace a nivel de sistema operativo a través de lasllamadas del sistema.

� El sistema de archivo forma parte importante de las primitivas de sincronización entre procesos.

Alternativas de sincronización

� Semáforos

� Monitores

� Paso de mensaje

Sincronización de alto nivel y comunicaciónentre procesos

Semáforos

� Es una herramienta de sincronización Sirve para solucionar el problema de la sección crítica.

� Sirve para solucionar problemas de sincronización.

Interacción por pase de mensajes

� Se implementa por las primitivas send y receive

� El proceso emisor (E, sender) envía información (mensaje) al receptor (R, receiver).

� Ventaja: se puede implementar en sistemas distribuidos, en multiprocesador, y mono con memoria compartida.

Sincronización de alto nivel y comunicaciónentre procesos

Monitores

� Son objetos destinados a ser usados sin peligro por más de un hilo deejecución. La característica que principalmente los define es que susmétodos son ejecutados con exclusión mutua. Lo que significa, que encada momento en el tiempo, un hilo como máximo puede estarejecutando cualquiera de sus métodos.

� Esta exclusión mutua simplifica el razonamiento de implementar monitoresen lugar de código a ser ejecutado en paralelo.

Sincronización de alto nivel y comunicaciónentre procesos

Un monitor tiene cuatro componentes: inicialización, datos privados, métodos del monitor y cola de entrada.

� Inicialización: contiene el código a ser ejecutado cuando el monitor es creado

� Datos privados: contiene los procedimientos privados, que sólo pueden ser usados desde dentro del monitor y no son visibles desde fuera

� Métodos del monitor: son los procedimientos que pueden ser llamados desde fuera del monitor.

� Cola de entrada: contiene a los hilos que han llamado a algún método del monitor pero no han podido adquirir permiso para ejecutarlos aún.

Sincronización de alto nivel y comunicaciónentre procesos

La comunicación entre procesos

� Necesaria si se desea que varios procesos puedan colaborar para realizaruna misma tarea. El SO ofrece mecanismos básicos de comunicación,que permiten transferir cadenas de bytes. Deben ser los procesos que secomunican quienes interpreten el significado de las cadenas transferidaspara su labor coordinada.

� Los mecanismos de comunicación y sincronización son dinámicos. Esdecir, cuando se necesita un mecanismo de este estilo, se crea, usa ydestruye, de forma que no se establezca de forma definitiva ningúnmecanismo de comunicación, ya que ellos podrían producir efectosindeseados. Es decir, la comunicación es algo puntual.

Sincronización de alto nivel y comunicación entre procesos

Los servicios básicos de comunicación son:

� Crear: el proceso solicita la creación del mecanismo

� Enviar o escribir: el proceso emisor envía información al proceso receptor

� Recibir o leer: el proceso receptor recibe información

� Destruir: el proceso solicita la destrucción del mecanismo de comunicación

La comunicación puede ser síncrona y asíncrona:

� Síncrona: los dos procesos han de ejecutar servicios de forma simultánea. El emisorha de ejecutar el servicio enviar mientras el receptor ejecuta recibir.

� Asíncrona: el emisor hace el envío y prosigue su ejecución. El SO ofreceun almacenamiento intermedio para guardar la información enviada, hasta que elreceptor la solicite.

GRACIAS