SlideShare a Scribd company logo
1 of 22
Download to read offline
SINCRONIZACIÓN DE PROCESOS
EL PROBLEMA DE LA SECCIÓN CRÍTICA

   Cada proceso tiene un
    segmento de código, llamado
    sección crítica, en el que el
    proceso puede modificar
    variables comunes, actualizar
    una tabla, escribir en un
    archivo, etc.

   Dos procesos no pueden
    ejecutar su sección crítica al
    mismo tiempo.
EL PROBLEMA DE LA SECCIÓN CRÍTICA
   Cualquier solución a este problema deberá tener
    3 requisitos:

       Exclusión mutua. Si el proceso P está
        ejecutándose en su sección crítica, los demás
        procesos no pueden estar ejecutando sus
        secciones críticas.
EL PROBLEMA DE LA SECCIÓN CRÍTICA

    Progreso. Si ningún proceso está ejecutando
     su sección crítica y algunos procesos desean
     entrar en sus correspondientes secciones
     críticas, sólo aquellos procesos que no estén
     ejecutando sus secciones restantes pueden
     participar en la decisión de cuál será el
     siguiente que entre en su sección crítica, y esta
     selección no se puede posponer
     indefinidamente.
EL PROBLEMA DE LA SECCIÓN CRÍTICA

    Espera limitada. Existe un límite en el
     número de veces que se permite que otros
     procesos entren en sus secciones críticas
     después de que un proceso haya hecho una
     solicitud para entrar en su sección crítica y
     antes de que la misma haya sido concedida.
EL PROBLEMA DE LA SECCIÓN CRÍTICA
   En un instante pueden estar activos varios
    procesos en modo kernel en el sistema, pudiendo
    producir posibles condiciones de carrera.

   Se usan dos métodos generales para gestionar las
    secciones críticas en los sistemas operativos,
    cuando se encuentran ejecutando en modo kernel:

       Kernels apropiativos. Un kernel apropiativo
        permite que un proceso sea desalojado mientras se
        está ejecutando. Debe ser diseñado para asegurar que
        los datos compartidos del kernel no se vean afectados
        por posibles condiciones de carrera de los procesos.
EL PROBLEMA DE LA SECCIÓN CRÍTICA

       Kernels no apropiativos. Un kernel no apropiativo
        no permite que un proceso que se esté ejecutando en
        modo kernel sea desalojado; se ejecutará hasta que
        salga de dicho modo, hasta que se bloquee o hasta
        que ceda voluntariamente el control de la CPU.


   Ejemplos:
     No apropiativos: Windows XP, 2000, UNIX
      tradicional, Linux versiones previas a 2.6
     Apropiativos: Linux a partir de 2.6, SOLARIS
SOLUCIÓN DE PETERSON
   No hay garantías de que la solución de Peterson
    funcione correctamente en arquitecturas
    informáticas modernas.

   La solución de Peterson se restringe a dos
    procesos que van alternando la ejecución de sus
    secciones críticas y de sus secciones restantes: Pi,
    Pj.

   Esta solución requiere 2 estructuras de datos:
SOLUCIÓN DE PETERSON
   La estructura del proceso Pi
SOLUCIÓN DE PETERSON
   Para demostrar que esta solución es correcta, se
    tiene que cumplir que:

     La exclusión mutua se conserva.
     El requisito de progreso se satisface.
     El requisito de espera limitada se cumple
HARDWARE DE SINCRONIZACIÓN
   Las regiones críticas deben protegerse mediante
    cerrojos.

   Un proceso debe colocar un cerrojo antes de
    entrar en sección crítica y liberarlo cuando salga
    de la misma.

   Se deben implementar funciones a nivel de
    instrucciones de máquina que cumplan con los 3
    requisitos para resolver el problema de la sección
    crítica.
SEMÁFOROS
   Son herramientas más simples de implementar que
    los cerrojos por instrucciones de hardware.

   Un semáforo es una variable entera a la que sólo se
    puede acceder por 2 operaciones: wait() y signal().




   Pueden ser semáforos binarios (cerrojos mútex) o
    semáforos contador.
SEMÁFOROS
   Se puede usar semáforos binarios para abordar el
    problema de la sección crítica en el caso de
    múltiples procesos, usando un semáforo mútex,
    inicializado con el valor 1 y cada proceso Pi se
    organiza de esta forma:
SEMÁFOROS

   Los semáforos contadores se pueden usar para
    controlar el acceso a un recurso formado por un
    número finito de instancias.

   El semáforo se inicializa con el número de
    recursos disponibles.

   Cada proceso que desee usar el recurso ejecuta
    una operación wait () en el semáforo
    (decrementando la cuenta).
SEMÁFOROS

   Cuando un proceso libera el recurso, ejecuta una
    operación signal () (incrementando la cuenta).

   Cuando la cuenta del semáforo llega a 0, todos las
    instancias del recurso estarán en uso. Los
    procesos que deseen usar una instancia del
    recurso se bloquearán hasta que la cuenta sea
    mayor que 0.
PRINCIPALES PROBLEMAS DE
SINCRONIZACIÓN

   Problema del buffer limitado

   Problema de los lectores – escritores
       Los procesos escritores tengan acceso exclusivo a la
        base de datos compartida.

       El primer problema de los lectores-escritores,
        requiere que ningún lector se mantenga en espera a
        menos que un escritor haya obtenido ya permiso.
PRINCIPALES PROBLEMAS DE
SINCRONIZACIÓN

       El segundo problema de los lectores-escritores
        requiere que, una vez que un escritor está preparado,
        dicho escritor realice la escritura tan pronto como sea
        posible


   Problema de la cena de los filósofos

       Considere cinco filósofos que gastan sus vidas en
        pensar y comer. Los filósofos comparten una mesa
        redonda con cinco sillas, una para cada filósofo. En el
        centro de la mesa hay una fuente de arroz y la mesa
        se ha puesto con sólo cinco palillos
   Cuando un filósofo piensa, no se relaciona con sus colegas.
    De vez en cuando, un filósofo siente hambre v trata de
    tomar los palillos más próximos a él (los palillos que se
    encuentran entre él y sus vecinos de la izquierda y la
    derecha).
   Un filósofo sólo puede coger un palillo cada vez.
    Obviamente, no puede coger un palillo que esté en manos
    de un vecino de mesa.
   Cuando un filósofo hambriento ha conseguido dos palillos,
    come sin soltar sus palillos. Cuando termina de comer, los
    coloca de nuevo sobre la mesa y vuelve a pensar
PRINCIPALES PROBLEMAS DE
SINCRONIZACIÓN
   Formas de corregir los problemas de sincronización.

       Los monitores proporcionan mecanismos de sincronización
        para compartir tipos abstractos de datos.

       Las variables de condición proporcionan un método
        mediante el que un procedimiento de un monitor puede
        bloquear su ejecución hasta recibir la señal de que puede
        continuar.

       Solaris, Windows XP y Linux proporcionan mecanismos
        como semáforos, mútex, bloqueos mediante bucles sin fin y
        variables de condición para controlar el acceso a datos
        compartidos.
PRINCIPALES PROBLEMAS DE
SINCRONIZACIÓN

    Transacciones atómicas

        Una transacción es una unidad de programa que se debe
         ejecutar atómicamente; es decir, todas las operaciones
         asociadas con ella se ejecutan hasta completarse, o no se
         ejecuta ninguna de las operaciones.

        Para asegurar la atomicidad a pesar de los fallos del
         sistema, podemos usar un registro de escritura anticipada.
PRINCIPALES PROBLEMAS DE
SINCRONIZACIÓN

      Todas las actualizaciones se escriben en el registro, que se
       almacena en un medio de almacenamiento estable.

      Si se produce un fallo catastrófico del sistema, la informa-
       ción contenida en el registro se usa para restaurar el estado
       de los elementos de datos actualizados (undo y redo).

      Para disminuir el trabajo de buscar en el registro después
       de haberse producido un fallo del sistema, podemos usar un
       mecanismo de puntos de comprobación (checkpoint).
PRINCIPALES PROBLEMAS DE
SINCRONIZACIÓN

    Los métodos más utilizados para el control de
     transacciones concurrentes son:

        Protocolos de bloqueo (uso de cerrojos)

        Esquemas de ordenación mediante marcas temporales
         (timestamp).

More Related Content

What's hot

Sincronizacion Procesos
Sincronizacion ProcesosSincronizacion Procesos
Sincronizacion Procesos
David Lilue
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
AcristyM
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
Abimael hernandez
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutua
tatyseli
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
Kim Sorel Rush
 
Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
Abimael hernandez
 

What's hot (20)

Sincronizacion Procesos
Sincronizacion ProcesosSincronizacion Procesos
Sincronizacion Procesos
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutua
 
Unidad 2 Sistemas Operativos.
Unidad 2 Sistemas Operativos.Unidad 2 Sistemas Operativos.
Unidad 2 Sistemas Operativos.
 
Concepto de semáforo, exclusión mutua y sección critica.
Concepto de semáforo, exclusión mutua y sección critica.Concepto de semáforo, exclusión mutua y sección critica.
Concepto de semáforo, exclusión mutua y sección critica.
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
 
Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
 
Algoritmos de Dekker
Algoritmos de DekkerAlgoritmos de Dekker
Algoritmos de Dekker
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
Proceso
ProcesoProceso
Proceso
 
2.4 Cuestionario de comunicacion entre procesos
2.4 Cuestionario de comunicacion entre procesos2.4 Cuestionario de comunicacion entre procesos
2.4 Cuestionario de comunicacion entre procesos
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
acti27 de oct
acti27 de octacti27 de oct
acti27 de oct
 

Similar to 6 sincronizacion de_procesos

S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
AcristyM
 
Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
fernel902
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
ADOLFO BORJA
 

Similar to 6 sincronizacion de_procesos (20)

Actividad 4
Actividad 4Actividad 4
Actividad 4
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Gestion de nucleo
Gestion de nucleoGestion de nucleo
Gestion de nucleo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Monitores
MonitoresMonitores
Monitores
 
Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
 
27 de oct
27 de oct27 de oct
27 de oct
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
 
SYSTEM
SYSTEMSYSTEM
SYSTEM
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Tema3 procesos
Tema3 procesos Tema3 procesos
Tema3 procesos
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos
 
Sistema Operativo UNIX
Sistema Operativo UNIXSistema Operativo UNIX
Sistema Operativo UNIX
 
27 de oct
27 de oct27 de oct
27 de oct
 
Sistemas operativos II
Sistemas operativos IISistemas operativos II
Sistemas operativos II
 

Recently uploaded

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 

Recently uploaded (20)

Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 

6 sincronizacion de_procesos

  • 2. EL PROBLEMA DE LA SECCIÓN CRÍTICA  Cada proceso tiene un segmento de código, llamado sección crítica, en el que el proceso puede modificar variables comunes, actualizar una tabla, escribir en un archivo, etc.  Dos procesos no pueden ejecutar su sección crítica al mismo tiempo.
  • 3. EL PROBLEMA DE LA SECCIÓN CRÍTICA  Cualquier solución a este problema deberá tener 3 requisitos:  Exclusión mutua. Si el proceso P está ejecutándose en su sección crítica, los demás procesos no pueden estar ejecutando sus secciones críticas.
  • 4. EL PROBLEMA DE LA SECCIÓN CRÍTICA  Progreso. Si ningún proceso está ejecutando su sección crítica y algunos procesos desean entrar en sus correspondientes secciones críticas, sólo aquellos procesos que no estén ejecutando sus secciones restantes pueden participar en la decisión de cuál será el siguiente que entre en su sección crítica, y esta selección no se puede posponer indefinidamente.
  • 5. EL PROBLEMA DE LA SECCIÓN CRÍTICA  Espera limitada. Existe un límite en el número de veces que se permite que otros procesos entren en sus secciones críticas después de que un proceso haya hecho una solicitud para entrar en su sección crítica y antes de que la misma haya sido concedida.
  • 6. EL PROBLEMA DE LA SECCIÓN CRÍTICA  En un instante pueden estar activos varios procesos en modo kernel en el sistema, pudiendo producir posibles condiciones de carrera.  Se usan dos métodos generales para gestionar las secciones críticas en los sistemas operativos, cuando se encuentran ejecutando en modo kernel:  Kernels apropiativos. Un kernel apropiativo permite que un proceso sea desalojado mientras se está ejecutando. Debe ser diseñado para asegurar que los datos compartidos del kernel no se vean afectados por posibles condiciones de carrera de los procesos.
  • 7. EL PROBLEMA DE LA SECCIÓN CRÍTICA  Kernels no apropiativos. Un kernel no apropiativo no permite que un proceso que se esté ejecutando en modo kernel sea desalojado; se ejecutará hasta que salga de dicho modo, hasta que se bloquee o hasta que ceda voluntariamente el control de la CPU.  Ejemplos:  No apropiativos: Windows XP, 2000, UNIX tradicional, Linux versiones previas a 2.6  Apropiativos: Linux a partir de 2.6, SOLARIS
  • 8. SOLUCIÓN DE PETERSON  No hay garantías de que la solución de Peterson funcione correctamente en arquitecturas informáticas modernas.  La solución de Peterson se restringe a dos procesos que van alternando la ejecución de sus secciones críticas y de sus secciones restantes: Pi, Pj.  Esta solución requiere 2 estructuras de datos:
  • 9. SOLUCIÓN DE PETERSON  La estructura del proceso Pi
  • 10. SOLUCIÓN DE PETERSON  Para demostrar que esta solución es correcta, se tiene que cumplir que:  La exclusión mutua se conserva.  El requisito de progreso se satisface.  El requisito de espera limitada se cumple
  • 11. HARDWARE DE SINCRONIZACIÓN  Las regiones críticas deben protegerse mediante cerrojos.  Un proceso debe colocar un cerrojo antes de entrar en sección crítica y liberarlo cuando salga de la misma.  Se deben implementar funciones a nivel de instrucciones de máquina que cumplan con los 3 requisitos para resolver el problema de la sección crítica.
  • 12. SEMÁFOROS  Son herramientas más simples de implementar que los cerrojos por instrucciones de hardware.  Un semáforo es una variable entera a la que sólo se puede acceder por 2 operaciones: wait() y signal().  Pueden ser semáforos binarios (cerrojos mútex) o semáforos contador.
  • 13. SEMÁFOROS  Se puede usar semáforos binarios para abordar el problema de la sección crítica en el caso de múltiples procesos, usando un semáforo mútex, inicializado con el valor 1 y cada proceso Pi se organiza de esta forma:
  • 14. SEMÁFOROS  Los semáforos contadores se pueden usar para controlar el acceso a un recurso formado por un número finito de instancias.  El semáforo se inicializa con el número de recursos disponibles.  Cada proceso que desee usar el recurso ejecuta una operación wait () en el semáforo (decrementando la cuenta).
  • 15. SEMÁFOROS  Cuando un proceso libera el recurso, ejecuta una operación signal () (incrementando la cuenta).  Cuando la cuenta del semáforo llega a 0, todos las instancias del recurso estarán en uso. Los procesos que deseen usar una instancia del recurso se bloquearán hasta que la cuenta sea mayor que 0.
  • 16. PRINCIPALES PROBLEMAS DE SINCRONIZACIÓN  Problema del buffer limitado  Problema de los lectores – escritores  Los procesos escritores tengan acceso exclusivo a la base de datos compartida.  El primer problema de los lectores-escritores, requiere que ningún lector se mantenga en espera a menos que un escritor haya obtenido ya permiso.
  • 17. PRINCIPALES PROBLEMAS DE SINCRONIZACIÓN  El segundo problema de los lectores-escritores requiere que, una vez que un escritor está preparado, dicho escritor realice la escritura tan pronto como sea posible  Problema de la cena de los filósofos  Considere cinco filósofos que gastan sus vidas en pensar y comer. Los filósofos comparten una mesa redonda con cinco sillas, una para cada filósofo. En el centro de la mesa hay una fuente de arroz y la mesa se ha puesto con sólo cinco palillos
  • 18. Cuando un filósofo piensa, no se relaciona con sus colegas. De vez en cuando, un filósofo siente hambre v trata de tomar los palillos más próximos a él (los palillos que se encuentran entre él y sus vecinos de la izquierda y la derecha).  Un filósofo sólo puede coger un palillo cada vez. Obviamente, no puede coger un palillo que esté en manos de un vecino de mesa.  Cuando un filósofo hambriento ha conseguido dos palillos, come sin soltar sus palillos. Cuando termina de comer, los coloca de nuevo sobre la mesa y vuelve a pensar
  • 19. PRINCIPALES PROBLEMAS DE SINCRONIZACIÓN  Formas de corregir los problemas de sincronización.  Los monitores proporcionan mecanismos de sincronización para compartir tipos abstractos de datos.  Las variables de condición proporcionan un método mediante el que un procedimiento de un monitor puede bloquear su ejecución hasta recibir la señal de que puede continuar.  Solaris, Windows XP y Linux proporcionan mecanismos como semáforos, mútex, bloqueos mediante bucles sin fin y variables de condición para controlar el acceso a datos compartidos.
  • 20. PRINCIPALES PROBLEMAS DE SINCRONIZACIÓN  Transacciones atómicas  Una transacción es una unidad de programa que se debe ejecutar atómicamente; es decir, todas las operaciones asociadas con ella se ejecutan hasta completarse, o no se ejecuta ninguna de las operaciones.  Para asegurar la atomicidad a pesar de los fallos del sistema, podemos usar un registro de escritura anticipada.
  • 21. PRINCIPALES PROBLEMAS DE SINCRONIZACIÓN  Todas las actualizaciones se escriben en el registro, que se almacena en un medio de almacenamiento estable.  Si se produce un fallo catastrófico del sistema, la informa- ción contenida en el registro se usa para restaurar el estado de los elementos de datos actualizados (undo y redo).  Para disminuir el trabajo de buscar en el registro después de haberse producido un fallo del sistema, podemos usar un mecanismo de puntos de comprobación (checkpoint).
  • 22. PRINCIPALES PROBLEMAS DE SINCRONIZACIÓN  Los métodos más utilizados para el control de transacciones concurrentes son:  Protocolos de bloqueo (uso de cerrojos)  Esquemas de ordenación mediante marcas temporales (timestamp).