Semáforos, monitores y paso de mensajes
Transcript of Semáforos, monitores y paso de mensajes
Semáforos, monitores y
paso de mensajes.
Soluciones por hardware
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
Sem
áfo
ros
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.
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.
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.
Tipos
De
Monit
ore
s Monitor tipo monitorMonitor tipo manager Monitor tipo mediador
Monitor tipo gladiador
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.
Monit
or
tipo
monit
or
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
Monit
or
tipo
manager
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
Monit
or
tipo
media
dor
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
Monit
or
tipo
gla
dia
dor
Un monitor encapsula
el código relativo a un
recurso compartido en
un solo módulo de programa
venta
jas • mantenimiento más
simple• menos errores de programación
La interfaz del monitor
es un conjunto de funciones que representan las diferentes operaciones
que pueden hacerse
con el recurso
La implementación del
monitor garantiza la
exclusión mutua• mediante semáforos
o algún otro mecanismo
Paso
de
mensa
jes
manda un mensaje que es recibido por otro proceso que suele
esperar dicho mensaje
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
Dest
aca
mos
unas
cara
cterí
stic
as Tipos de sincronización Identificación del otro
ladoPrioridades
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
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
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
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
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
Los canales pueden ser capaces de distinguir entre mensajes de diferentes prioridades
Solu
ciones
por
hard
ware Las soluciones
hardware se dividen
en dos tiposOptimistasPesimistas
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.
Pesi
mis
tas Bloquean todo aquello
que pueda interferir.Actualizan la variable.
Desbloquean lo bloqueado al principio.