Download - Sistemas Operativos David
-
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
DAVID ROJAS
PRESENTADO POR:
(MONITORES)-SEMAFOROS Y
CONCURRENCIA: EXCLUCION MUTUA
-
(MONITORES)-SEMAFOROS
-
Un monitor es un mdulo de software que consta de uno o ms
procedimientos, una secuencia de inicializacin y unos datos
locales. Las caractersticas bsicas de un monitor son las
siguientes:
1. Las variables de datos locales estn slo accesibles para los
procedimientos del monitor y no para procedimientos externos.
2. Un proceso entra en el monitor invocando a uno de sus
procedimientos.
3. Slo un proceso puede estar ejecutando en el monitor en un
instante dado; cualquier otro proceso que haya invocado al monitor
quedar suspendido mientras espera que el monitor est
disponible.
MONITOR
-
Los usuarios que intentan acceder al monitor mientras est
ocupado son bloqueados en una cola de entrada al monitor.
* CWAIT(c): Suspende la ejecucin del proceso llamado bajo la
condicin c. El monitor est ahora disponible para ser usado
por otro proceso.
* CSIGNAL(c): Reanuda la ejecucin de algn proceso
suspendido despus de un CWAIT() bajo la misma condicin.
Si hay varios procesos, elige uno de ellos; si no hay ninguno,
no hace nada.
MONITOR
-
Es importante destacar que un proceso con la marca
CSIGNAL() debe ser el prximo en entrar al monitor para
que las condiciones existentes cuando ocurri el CSIGNAL()
no sean cambiadas cuando ste entre al monitor.
Si hay al menos un proceso en una cola de condicin, un
proceso de dicha cola deber ejecutar en cuanto otro
proceso ejecute un CSIGNAL() para la condicin. As pues,
el proceso que ejecuta el CSIGNAL() debe salir
inmediatamente del monitor o suspenderse en el monitor.
MONITOR
-
Los semforos son una herramienta bsica, pero potente
y flexible, para hacer cumplir la exclusin mutua y
coordinar procesos. Sin embargo, puede resultar muy
difcil construir un programa correcto por medio de
semforos.
En los semforos, tanto la exclusin mutua como la
sincronizacin son responsabilidades del programador.
SEMAFORO
-
CONCURRENCIA:
EXCLUCION MUTUA
-
La concurrencia es el punto clave para el diseo de los Sistemas
Operativos donde vemos:
1. Comunicacin entre procesos
2. Comparticin
3. Competencia por los recursos
4. Sincronizacin de la ejecucin
5. Asignacin del tiempo de procesador a los procesos
CONCURRENCIA: EXCLUCION MUTUA
-
La concurrencia se puede presentar por causa como la
Multiprogramacin, donde el tiempo del procesador es
compartido dinmicamente entre varios procesos activos.
Aplicaciones Estructuradas: debido a los procesos de
diseo modular y programacin estructurada y por ultimo
por la estructura del sistema operativo sistemas
monoprocesadores, multiprocesadores y distribuidos.
CONCURRENCIA: EXCLUCION MUTUA
-
Hay varios elementos de gestin y diseo que surgen por causa de la
concurrencia:
1) El sistema operativo debe ser capaz de seguir la pista de los distintos
procesos activos. Esto lo hace por medio de bloques de control de
procesos.
2) El sistema operativo debe asignar y quitar los distintos recursos a
cada proceso activo. Entre estos recursos se encuentra el tiempo de
procesador, la memoria, los archivos y los dispositivos de E/S.
3) El sistema operativo debe proteger los datos y los recursos fsicos de
cada proceso contra injerencias no intencionadas de otros procesos.
4) Los resultados de un proceso deben ser independientes de la
velocidad relativa a la que se realiza la ejecucin con respecto a otros
procesos concurrentes.
CONCURRENCIA: EXCLUCION MUTUA
-
Se refiere al problema de asegurar que no hay dos procesos o hilos (en
adelante referido nicamente como procesos) puede estar en su seccin
crtica al mismo tiempo. Aqu, una seccin crtica se refiere a un perodo
de tiempo en el proceso de acceso a un recurso compartido, como la
memoria compartida. El problema de la exclusin mutua fue identificado
por primera vez y resueltos por Edsger W. Dijkstra.
EXCLUCION MUTUA