Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 PDF
4 PDF
Temas 4, 5 y 6
Proceso P { Proceso Q {
shared tipo x; shared tipo x;
................. .................
REGION x DO BEGIN REGION x DO BEGIN
Seccin Crtica; Seccin Crtica;
END; END;
................. .................
} }
COBEGIN P;Q; COEND;
Sistemas Operativos. 2009-2010 Herramientas de Sincronizacin de Alto Nivel
Regiones Crticas (III). Exclusin Mutua
Problemas de la implementacin:
Conlleva evaluar todas las condiciones B cada vez que
un proceso accede a la seccin crtica.
Los procesos se desordenan.
Sistemas Operativos. 2009-2010 Herramientas de Sincronizacin de Alto Nivel
Monitores(I). Introduccin
Objetivo: aislar el cdigo de sincronizacin del
cdigo de los procesos.
S S S S
Proceso A I I
DATOS
I I Proceso B
N N N N
C. C. C. C.
f1 f4
Internas
f2 DATOS f5
f3 Inicio() f6
MONITOR
Internas
DATOS
Inicio()
[condition v]:
semaforo v_sem(0);
int v_count = 0;
[Monitor.f()]:
wait(mutex); if (next_count > 0)
f(); signal(next);
siguiente(); else signal(mutex);
Sistemas Operativos. 2009-2010 Herramientas de Sincronizacin de Alto Nivel
Monitores(VII). Implementacin
[signal(v)]: Tipo 1 (cont. sealado)
if (v_count > 0) {
next_count++;
signal(v_sem);
wait(next);
next_count--;
}
[wait(v)]: Tipo 1 (cont. Sealado)
v_count++;
siguiente(); if (next_count > 0)
wait(v_sem); signal(next);
v_count--; else signal(mutex);
Sistemas Operativos. 2009-2010 Herramientas de Sincronizacin de Alto Nivel