Semáforos, monitores y paso de mensajes

31
Semáforos, monitores y paso de mensajes. Soluciones por hardware

Transcript of Semáforos, monitores y paso de mensajes

Page 1: Semáforos, monitores y paso de mensajes

Semáforos, monitores y

paso de mensajes.

Soluciones por hardware

Page 2: Semáforos, monitores y paso de mensajes

Definic

ión

Un semáforo es una estructura diseñada para sincronizar dos o

más o procesos, de modo que su ejecución se realice de

forma ordenada y sin

conflictos entre ellos

Page 3: Semáforos, monitores y paso de mensajes

Sem

áfo

ros

Page 4: Semáforos, monitores y paso de mensajes

Com

o F

unci

ona

Para evitarlo, se idearon

los semáforos. Un semáforo básico es una

estructura formada por

una posición de memoria y dos instrucciones, una para

reservarlo y otra para

liberarlo. A esto se le

puede añadir una cola

de threads para recordar

el orden en que se hicieron las peticiones.

Page 5: Semáforos, monitores y paso de mensajes

Méto

do p

ara

la

sincr

oniz

aci

ón d

e

pro

ceso

s

Cuando el S.O. ejecuta una llamada, comprueba el valor que hay en la posición de memoria del semáforo, y si es distinta de cero, se limita a restarle 1 y devolver el control al programa; sin embargo, si ya es cero, duerme al proceso que hizo la petición y lo mete en la cola de procesos, en espera de que el semáforo se ponga a un valor distinto de cero.

Page 6: Semáforos, monitores y paso de mensajes

Monit

ore

s

 Un monitor es un conjunto de procedimientos que

proporciona el acceso con

exclusión mutua a un

recurso o conjunto de

recursos (datos o dispositivos), se lo puede

ver como una valla alrededor del recurso (o

recursos),de modo que los

procesos que quieran

utilizarlo deben entrar

dentro de ella.

Page 7: Semáforos, monitores y paso de mensajes

Tipos

De

Monit

ore

s Monitor tipo monitorMonitor tipo manager  Monitor tipo mediador

Monitor tipo gladiador

Page 8: Semáforos, monitores y paso de mensajes

Monit

or

tipo

monit

or

Es el monitor más simple de todos pues

solo tiene tres estados

y las funciones internas son muy sencillas.

Page 9: Semáforos, monitores y paso de mensajes

Monit

or

tipo

monit

or

Page 10: Semáforos, monitores y paso de mensajes

Monit

or

tipo

manager es muy similar al

monitor tipo monitor,

la diferencia esencial

es que un proceso que

es reiniciado debe abandonar el monitor

Page 11: Semáforos, monitores y paso de mensajes

Monit

or

tipo

manager

Page 12: Semáforos, monitores y paso de mensajes

Monit

or

tipo

media

dor Este monitor fue

propuesto por C.A.R.

Hoare, tiene la característica de compensar las desventajas de los monitores tipo monitor

y tipo managEer

Page 13: Semáforos, monitores y paso de mensajes

Monit

or

tipo

media

dor

Page 14: Semáforos, monitores y paso de mensajes

Monit

or

tipo

gla

dia

dor

tiene la característica

fundamental de solo

tener un punto de consistencia interno,

ocurre cuando el proceso que está activo abandona este

estado y sigue dentro

del monitor

Page 15: Semáforos, monitores y paso de mensajes

Monit

or

tipo

gla

dia

dor

Page 16: Semáforos, monitores y paso de mensajes

Un monitor encapsula

el código relativo a un

recurso compartido en

un solo módulo de programa

Page 17: Semáforos, monitores y paso de mensajes

venta

jas • mantenimiento más

simple• menos errores de programación

Page 18: Semáforos, monitores y paso de mensajes

La interfaz del monitor

es un conjunto de funciones que representan las diferentes operaciones

que pueden hacerse

con el recurso

Page 19: Semáforos, monitores y paso de mensajes

La implementación del

monitor garantiza la

exclusión mutua• mediante semáforos

o algún otro mecanismo

Page 20: Semáforos, monitores y paso de mensajes

Paso

de

mensa

jes

manda un mensaje que es recibido por otro proceso que suele

esperar dicho mensaje

Page 21: Semáforos, monitores y paso de mensajes

El paso de mensajes

es imprescindible en

sistemas distribuidos

dado que en este caso no existen recursos directamente compartidos para

intercambiar información entre los

procesos

Page 22: Semáforos, monitores y paso de mensajes

Dest

aca

mos

unas

cara

cterí

stic

as Tipos de sincronización Identificación del otro

ladoPrioridades

Page 23: Semáforos, monitores y paso de mensajes

Tipos

de

sincr

oniz

aci

ón El paso de mensajes

puede ser síncrono o

asíncrono depende de

lo que haga el remitente antes de seguir procesando

Page 24: Semáforos, monitores y paso de mensajes

el remitente puede esperar

hasta que se haya ejecutado la

recepción correspondiente al

otro lado; es el método de la

comunicación síncrona

el remitente puede seguir

procesando sin esperar al

receptor; es el método de la

comunicación asíncrona

el remitente puede esperar

hasta que el receptor haya

contestado al mensaje recibido;

es el método de la involucración

remota

Page 25: Semáforos, monitores y paso de mensajes

Identi

fica

ción d

el

otr

o la

do

Se pueden distinguir

varias posibilidades en

cómo dos procesos envían y reciben sus

mensajes

Page 26: Semáforos, monitores y paso de mensajes

usan nombres únicos

para identificar tanto el

remitente como el receptor  tienen que

especificar exactamente

con que proceso quieren

comunicarse solo el remitente especifica el destino

a ninguna de las dos

partes le interesa cual

será el proceso al otro

lado

Page 27: Semáforos, monitores y paso de mensajes

Prio

ridades Para el paso de

mensajes su usa muchas veces el concepto de un canal

entre el remitente y el

receptor o también entre los buzones de

mensajes y sus lectore

Page 28: Semáforos, monitores y paso de mensajes

Los canales pueden ser capaces de distinguir entre mensajes de diferentes prioridades

Page 29: Semáforos, monitores y paso de mensajes

Solu

ciones

por

hard

ware Las soluciones

hardware se dividen

en dos tiposOptimistasPesimistas

Page 30: Semáforos, monitores y paso de mensajes

Opti

mis

tas

Consideran que lo mas

probable es que no haya conflictos, y si los hay sea en número

reducido, por lo que permiten cualquier acceso a la variable compartida. En caso

de conflicto, mantienen la integridad del sistema

descartando las actualizaciones.

Page 31: Semáforos, monitores y paso de mensajes

Pesi

mis

tas Bloquean todo aquello

que pueda interferir.Actualizan la variable.

Desbloquean lo bloqueado al principio.