Please enable JavaScript.
Coggle requires JavaScript to display documents.
SINCRONIZACIÓN Y COMUNICACIÓN DE PROCESOS - Coggle Diagram
SINCRONIZACIÓN Y COMUNICACIÓN DE PROCESOS
EXCLUSIÓN MUTUA
1.2 BLOQUEO MEDIANTE EL USO DE VARIABLES COMPARTIDAS
Se lo hará mediante el uso de una variable compartida de tipo booleano (flag)
Se asocia a cada recurso que se comparte un flag
El flag indicará si el recurso está siendo utilizado o si está disponible
1.6 ALGORITMO PETERSON
Introduce una variable adicional llamada TURNO, es útil cuando hay un problema de petición simultánea de acceso a la sección crítica
https://www.youtube.com/watch?v=RRaP8pTU0zI
1.1 EJEMPLO 1
PROBLEMA DE LOS JARDINES
Se desea controlar el número de visitantes a unos jardines.
Asociamos el proceso P1 a un punto de entrada y el proceso P2 al otro punto de entrada
Ambos procesos usan la misma posición de memoria para guardar el valor de X
SECCIÓN CRÍTICA
Se denomina a aquellas partes de los procesos concurrentes que no pueden ejecutarse de forma concurrente
https://www.youtube.com/watch?v=s7mBCESX-qE
1.4 EJEMPLO 3
Se usa dos indicadores (flags)
Durante la espera de la liberación del recurso el proceso permanece ocupada (espera activa)
Hay un problema mayor que es el interbloqueo
1.5 EJEMPLO 4
Hacemos que el proceso desactive su propio indicador durante la fase de bloqueo
Se logra realizar satisfactoriamente si no hay una sincronización entre los dos procesos
Se tiene el problema de cierre
1.7 ALGORITMO DEKKER
Se usa igual la variable TURNO, pero ahora sirve para estableces la prioridad relativa de los dos procesos
https://www.youtube.com/watch?v=K6nvrJdpXZ8
Un método de comunicación entre procesos es el uso común de variables de datos
1.3 EJEMPLO 2
Se utiliza solo un flag
El programa no resuelve el problema de la exclusión mutua
3 MONITORES
https://www.youtube.com/watch?v=EcciuIWpt88
Es un conjunto de procedimientos que proporciona el acceso con exclusión mutua a un recurso compartido por un grupo de procesos
Se puede ver como una valla alrededor del recurso (o recursos)
No proporcionan un mecanismo para la sincronización, por uso usa una variable condición (espera y señal)
Debe usar un sistema de prioridades en la asignación del recurso
2 SEMAFOROS
2.0 INTRODUCCION
SEMAFORO BINARIO
https://www.youtube.com/watch?v=JEoFCSEDK3M
Es un indicador de condición, que registra si un recurso está disponible o no
Puede tomar do valores: 0 y 1
OPERACIONES
Inicializa
Espera (wait)
Señal (signal)
2.1 EXCLUSIÒN MUTUA CON SEMAFOROS
La operación de ESPERA
Se usara como procedimiento de bloqueo
La operación SEÑAL, se usará como procedimiento de desbloqueo
Se realiza fácilmente
2.2 EJEMPLO
4) Proceso P3 ejecuta: espera (AccesoImpresora)
5) Proceso P1 ejecuta: señal (AccesoImpresora)
3) Proceso P1 bloqueado, Proceso P2 ejecuta: espera (AccesoImpresora)
6) Proceso P2 ejecuta: señal (AccesoImpresora)
2) Proceso P1 ejecuta: espera (AccesoImpresora)
7) Proceso P3 ejecuta: señal (AccesoImpresora)
1) Inicializa (AccesoImpresora, 1)
2.3 SINCRONIZACION
El uso de semaforos hace que se pueda programar facilmente la sinconizacion entre dos tareas.
Las operaciones de espera y señal se utilizan en procesos separados
https://www.youtube.com/watch?v=rLDkdAc0NIc
2.6 VERSION MAS GENERAL DE LOS SEMAFOROS
Si el semaforo se inicializa con el numero total de recursos disponibles (n) y las operaciones de espera y señal se diseñan de modo que se impida el acceso al recurso protegido por el semaforo cuando el valor de este es menot o igual que cero
Cada vez que se solicita y obtiene un recurso, el semaforo se decrementa y se incrementa cuando se libera uno de ellos.
El semaforo binario resulta adecuado cuando hay que proteger un recurso que puede compartir varios procesos
Si la operacion de espera se ejecuta cuando el semaforo tiene un valor menor que 1, el proceso debe quedar en espera de que la ejecucion de una operacion señal libere alguno de los recursos
2.4 EJEMPLO
El semaforo se inicializa a cero de modo que cuando el proceso P1 ejecuta la operacion de espera se suspende hasta que el proceso P2 ejecuta la operacion señal. La sincronizacion se realiza perfectamente incluso si el proceso P2 ejecuta la operacion señal antes de que el proceso P1 ejecute la operacion espera, ya que en este caso el preceso P2 incrementa el semaforo y permite que p1 lo decremente y siga su ejecucion cuando alcanza la operacion de espera
3.2 SINTAXIS DEL MONITOR
El monitor exporta sus procedimientos cuando estos son públicos y son privados cuando solo pueden acceder otros procedimientos definidor
Se emplea la palabra condición para definir las variables de condición del monitor
3.3 EJEMPLO
La variable ocupado indica el estado del semáforo
Se denomina condiciones a la biblioteca donde se encuentra la definición de las variables de condición
https://www.youtube.com/watch?v=HgqcR9bQeUw