Está en la página 1de 11

Primitivas de sincronización

Dekker y Peterson

Asignatura : Programación avanzada


Dra. Susana A. Sánchez N.
Reglas de sincronización
1 Un proceso no se puede apoderar de la CPU.
2. Existe un tiempo determinado para que cada proceso realice su trabajo
Un proceso que se esta ejecutando no puede ser sacado de su sección crítica
por otro proceso. Debe desalojar el propio proceso.
Se desconoce la velocidad de los procesos.
3. Siempre será necesario realizar 3 corridas a los pseudocódigos de manera
que se puedan ver todas las posibles vías.
- El proceso 1 corre más rápido que el proceso 2
- El proceso 2 corre más rápido que el proceso 1
- El proceso 1 y el proceso 2 corren al mismo tiempo
Exclusión mutua
El hecho de que solo un proceso a la vez se puede encontrar en la
sección crítica.

Región crítica
Sección crítica
• Fragmentos de código que contiene variables compartidas
• En un programa podemos tener 1 o mas secciones críticas.

Sección crítica Sección crítica

Sección crítica
La sección crítica
• N procesos todos compitiendo para usar datos compartidos.
• Cada proceso tiene un segmento de código llamado sección crítica, en
la cual todos los datos compartidos son accedidos.
• Problema: asegurar que cuando un proceso está ejecutando en su
sección crítica, no se le permite a otro proceso ejecutar en su
respectiva sección critica.
Primera versión(alternancia entre procesos,
prioridad al proceso 1)
Segunda versión (no se garantiza la exclusión)
Tercera versión (bloqueo mutuo)
Cuarta versión (postergación indefinida)
quinta versión (versión final)
Algoritmo de Peterson (versión final)

También podría gustarte