SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Sincronización de procesos
5.1. Antecedentes:
5.2. El problema de la sección crítica
5.3. Hardware de sincronización
5.4. Semáforos
5.5. Problemas clásicos de sincronización

5.6. Monitores
5.7. Sincronización en Java
Sincronización de Procesos
5.1. Antecedentes:

Un proceso es cooperativo si puede afectar o ser afectado por los otros procesos que
se están ejecutando en el sistema

• La cooperación entre procesos requiere: la ejecución concurrente de los mismos,
mecanismos de comunicación y mecanismos de sincronización
• Un problema clásico de procesos cooperativos es el problema del productor-
consumidor


 Productor:                                      Consumidor:
 repeat                                          repeat
      ........                                          while contador =n do nada;
      producir un elemento en sigp                      sigc:=buffer[sale];
                                                        sale:=sale+1 mod n;
      …………..
                                                        ………..
       while entra +1 mod n=sale do nada;
                                                 Consumir el elemento que esta en
       buffer[ entra]:=sigp;
                                                 sigc
       entra:=entra+1 mod n;
                                                 …….
 until false ;
                                                 until false ;
• Los códigos pueden ser modificados como sigue:
   Productor:                             Consumidor:
   repeat                                 repeat
   ........                               while contador =n do nada;
   producir un elemento en sigp           sigc:=buffer[sale];
   …………..                                 sale:=sale+1 mod n;
   while contador =n do nada;             contador:=contador -1;
   buffer[ entra]:=sigp;                  ………..
   entra:=entra+1 mod n;                  Consumir el elemento que esta en sigc
   contador:=contador +1;                 …….
   until false ;                          until false ;




• Cada rutina es correcta pero pueden no funcionar correctamente correcta,
cuando son ejecutadas concurrentemente

• La situación en la que varios procesos acceden y manipulan el mismo dato
concurrentemente, y el resultado de la ejecución depende del particular orden
en que los accesos tienen lugar, es llamada condición de competencia
• Se requiere alguna forma de sincronización para garantizar que solo un
proceso a la vez puede estar manipulando el dato.
5.2. El problema de la sección crítica
Dado un conjunto n de procesos, cada proceso tiene un segmento de código,
llamado sección crítica, en la cual los procesos pueden cambiar variables comunes,
actualizar una tabla, grabar un archivo, etc.

La característica importante del sistema es que, cuando un proceso se esta
ejecutando en su sección crítica; ningún otro proceso puede ejecutarse en su
sección crítica.

En un sistema, la ejecución de las secciones críticas de los procesos debe ser
mutuamente excluyentes en el tiempo.
El problema de la sección crítica consiste en diseñar un protocolo que los procesos
puedan usar para cooperar.

Cada proceso debe solicitar permiso para ingresar a su sección crítica.

La sección de código que implementa esta solicitud es la sección de ingreso.
La sección crítica puede ir seguida de una sección de egreso.

El código que queda es la sección restante.
Una solución al problema de la sección crítica debe satisfacer los tres requisitos si
•Mutua exclusión.
•Progreso
•Espera limitada.
Estructura general de un proceso

                                           repeat

               Sección de ingreso




                   Sección crítica

                   Sección de egreso

                Sección restante
until false;
5.3. Hardware de sincronización
En sistemas de un procesador, el problema de las secciones críticas podría
ser resuelto simplemente si pudiéramos deshabilitar las interrupciones
mientras una variable compartida está siendo actualizada.
• Esta solución no es factible para un sistema con varios procesadores
debido a la demora que implica el pasaje de mensajes.
• En muchos sistemas existen instrucciones de hardware que pueden ser
usadas para resolver el problema de las secciones críticas.
• Estas instrucciones permiten ejecutar atómicamente las operaciones de:
– chequear y modificar el contenido de una palabra, o
– intercambiar el contenido de dos palabras
Definición de la instrucción Evaluar-y-Asignar.
repeat
 function Evaluar-y-Asignar(var objetivo: boolean):boolean;
begin
           Evaluar-y-Asignar:=objetivo;
           Objetivo:=true;
End


Implementación de la mutua exclusión con Evaluar-y-Asignar

                                                             repeat
                while Evaluar-y-Asignar(cerradura) do nada




                            Sección crítica
                   Cerradura:= false
                             Sección restante
 until false;
5.4. Semáforos
Las soluciones por hardware presentadas no son fáciles de generalizar a
problemas más complejos.
• Esta dificultad se puede superar usando una herramienta de sincronización
llamada semáforo.
• Un semáforo S es una variable entera que solo es accedida a través de dos
operaciones atómicas: esperar(wait) y señal(signal)
Las definiciones de estas operaciones son:
          espera(S): while S<= 0 do nada;
                        S:=S-1;
            señal(S):    S:= S+1;


-Podemos usar semáforos para resolver el problema de la sección crítica
con n procesos.
- Todos los procesos comparten un semáforo, mutex (de mutual exclusión,
mutua exclusión ) que recibe el valor inicial a 1.
- También podemos usar semáforos para resolver problemas de
sincronización.
Implementación de la mutua exclusión con SEMÁFOROS


repeat
               espera(mutex)

                 Sección crítica
                   Señal(mutex);



                    Sección restante
until false;
5.5. Problemas clásicos de sincronización
- El problema de buffer limitado
ºSe le utiliza con frecuencia para ilustrar la potencia de las primitivas de
sincronización.
ºSupondremos que la reserva consiste en n buffers, cada uno de los cuales
puede contener un elemento.
ºEl semáforo mutex asegura la mutua exclusión de los accesos a la reserva de
buffers e inicialmente tiene el valor 1.
º los semáforos vacios y llenos cuentan el numero de buffers vacios y llenos,
respectivamente.
ºEl semáfor vacios asume el valor inical n; llenos de inicia con el valor 0.
- El problema de los lectores y escritores
-Un objeto de datos(como un archivo o registro) se va a compartir
entre varios procesos concurrentes.
-Algunos de esos procesos quizá sólo deseen leer el contenido del
objeto compartido, pero otros podrían querer actualizarlo.
- Distinguimos entre estos dos tipos de procesos llamados
lectores(solo están interesados en leer) y escritores a los demás.
- El problema de los filósofos comensales

Weitere ähnliche Inhalte

Was ist angesagt?

Casos de prueba
Casos de pruebaCasos de prueba
Casos de prueba481200601
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesosmastermind87
 
Nucleo del sistema operativo
Nucleo del sistema operativoNucleo del sistema operativo
Nucleo del sistema operativoEmily_Fdez
 
Sicronización entre procesos
Sicronización entre procesosSicronización entre procesos
Sicronización entre procesosglocom15
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas OperativosG Hoyos A
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threadsLiNo Candelario
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesosGiant_serch
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Mapa conceptual computacion paralela
Mapa conceptual   computacion paralelaMapa conceptual   computacion paralela
Mapa conceptual computacion paralelaEduardo Suarez
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acidJefer Lee Parra
 
Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamientoguest1db220
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosECCI
 

Was ist angesagt? (20)

Casos de prueba
Casos de pruebaCasos de prueba
Casos de prueba
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
 
Nucleo del sistema operativo
Nucleo del sistema operativoNucleo del sistema operativo
Nucleo del sistema operativo
 
Sicronización entre procesos
Sicronización entre procesosSicronización entre procesos
Sicronización entre procesos
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threads
 
Monografia de pipeline
Monografia de pipelineMonografia de pipeline
Monografia de pipeline
 
Mecanismos de semaforo
Mecanismos de semaforoMecanismos de semaforo
Mecanismos de semaforo
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Mapa conceptual computacion paralela
Mapa conceptual   computacion paralelaMapa conceptual   computacion paralela
Mapa conceptual computacion paralela
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acid
 
Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamiento
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Control de-flujo
Control de-flujoControl de-flujo
Control de-flujo
 

Andere mochten auch

Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutuatatyseli
 
Procesamiento paralelo
Procesamiento paraleloProcesamiento paralelo
Procesamiento paralelowarrionet
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesosAbimael hernandez
 
gestiones de la computadora para windows 7
gestiones de la computadora para windows 7gestiones de la computadora para windows 7
gestiones de la computadora para windows 720151612
 
Bloqueos En Sistemas Distribuidos
Bloqueos En Sistemas DistribuidosBloqueos En Sistemas Distribuidos
Bloqueos En Sistemas Distribuidosyramirez
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegamavi
 
Fundamento de sistema operativo
Fundamento de sistema operativoFundamento de sistema operativo
Fundamento de sistema operativodelio2021
 
Versiones de ubuntu
Versiones de ubuntuVersiones de ubuntu
Versiones de ubuntuandroiko
 
Semáforos, monitores y paso de mensajes
Semáforos, monitores y paso de mensajesSemáforos, monitores y paso de mensajes
Semáforos, monitores y paso de mensajesdruckern
 
Programacion Concurrente
Programacion ConcurrenteProgramacion Concurrente
Programacion Concurrenteismaelrubino
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoriaguestaff6d2
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosCESAR
 
Los Sistemas Operativos
Los Sistemas OperativosLos Sistemas Operativos
Los Sistemas OperativosMiguel Alfonso
 
Proteccion y Seguridad en los Sistemas Operativos
Proteccion y Seguridad en los Sistemas OperativosProteccion y Seguridad en los Sistemas Operativos
Proteccion y Seguridad en los Sistemas OperativosEduardo Gomez
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 

Andere mochten auch (20)

Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutua
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Procesamiento paralelo
Procesamiento paraleloProcesamiento paralelo
Procesamiento paralelo
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
 
Bloqueo mutuo
Bloqueo mutuoBloqueo mutuo
Bloqueo mutuo
 
gestiones de la computadora para windows 7
gestiones de la computadora para windows 7gestiones de la computadora para windows 7
gestiones de la computadora para windows 7
 
Bloqueos En Sistemas Distribuidos
Bloqueos En Sistemas DistribuidosBloqueos En Sistemas Distribuidos
Bloqueos En Sistemas Distribuidos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Fundamento de sistema operativo
Fundamento de sistema operativoFundamento de sistema operativo
Fundamento de sistema operativo
 
Versiones de ubuntu
Versiones de ubuntuVersiones de ubuntu
Versiones de ubuntu
 
MODULO SELECCION
MODULO SELECCIONMODULO SELECCION
MODULO SELECCION
 
Semáforos, monitores y paso de mensajes
Semáforos, monitores y paso de mensajesSemáforos, monitores y paso de mensajes
Semáforos, monitores y paso de mensajes
 
Programacion Concurrente
Programacion ConcurrenteProgramacion Concurrente
Programacion Concurrente
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Los Sistemas Operativos
Los Sistemas OperativosLos Sistemas Operativos
Los Sistemas Operativos
 
Proteccion y Seguridad en los Sistemas Operativos
Proteccion y Seguridad en los Sistemas OperativosProteccion y Seguridad en los Sistemas Operativos
Proteccion y Seguridad en los Sistemas Operativos
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 

Ähnlich wie SICRONIZACION DE PROCESOS

S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 
15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulink15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulinkFrank Arias Beltran
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2Luis Cigarroa
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSSelqit Mgw
 
Definición y análisis de un problema
Definición y análisis de un problemaDefinición y análisis de un problema
Definición y análisis de un problemaJoaquin Lara Sierra
 
6 sincronizacion de_procesos
6 sincronizacion de_procesos6 sincronizacion de_procesos
6 sincronizacion de_procesosKaren Navarro
 
Parcial II de Sistema de Operación – Semestre 201415
Parcial II de Sistema de Operación – Semestre 201415Parcial II de Sistema de Operación – Semestre 201415
Parcial II de Sistema de Operación – Semestre 201415Viviana Trujillo
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentepuracastillo
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
Usando Twisted para hacer aplicaciones de escritorio no bloqueantes
Usando Twisted para hacer aplicaciones de escritorio no bloqueantesUsando Twisted para hacer aplicaciones de escritorio no bloqueantes
Usando Twisted para hacer aplicaciones de escritorio no bloqueantesMartín Volpe
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programaciónAnsd
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facilDariana Acuariogv
 

Ähnlich wie SICRONIZACION DE PROCESOS (20)

S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
Ajax: introducción
Ajax: introducciónAjax: introducción
Ajax: introducción
 
Examen 2 s,o,
Examen 2 s,o,Examen 2 s,o,
Examen 2 s,o,
 
15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulink15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulink
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
 
Definición y análisis de un problema
Definición y análisis de un problemaDefinición y análisis de un problema
Definición y análisis de un problema
 
Tema0397
Tema0397Tema0397
Tema0397
 
6 sincronizacion de_procesos
6 sincronizacion de_procesos6 sincronizacion de_procesos
6 sincronizacion de_procesos
 
Comunicación entre Procesos
Comunicación entre ProcesosComunicación entre Procesos
Comunicación entre Procesos
 
Parcial II de Sistema de Operación – Semestre 201415
Parcial II de Sistema de Operación – Semestre 201415Parcial II de Sistema de Operación – Semestre 201415
Parcial II de Sistema de Operación – Semestre 201415
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Usando Twisted para hacer aplicaciones de escritorio no bloqueantes
Usando Twisted para hacer aplicaciones de escritorio no bloqueantesUsando Twisted para hacer aplicaciones de escritorio no bloqueantes
Usando Twisted para hacer aplicaciones de escritorio no bloqueantes
 
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
 
17961921.ppt
17961921.ppt17961921.ppt
17961921.ppt
 
Sistema opertivo
Sistema opertivoSistema opertivo
Sistema opertivo
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programación
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 

Kürzlich hochgeladen

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
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
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Ángel Encinas
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
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...Lourdes Feria
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Kürzlich hochgeladen (20)

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...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
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.
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
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
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
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...
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

SICRONIZACION DE PROCESOS

  • 1. Sincronización de procesos 5.1. Antecedentes: 5.2. El problema de la sección crítica 5.3. Hardware de sincronización 5.4. Semáforos 5.5. Problemas clásicos de sincronización 5.6. Monitores 5.7. Sincronización en Java
  • 2. Sincronización de Procesos 5.1. Antecedentes: Un proceso es cooperativo si puede afectar o ser afectado por los otros procesos que se están ejecutando en el sistema • La cooperación entre procesos requiere: la ejecución concurrente de los mismos, mecanismos de comunicación y mecanismos de sincronización • Un problema clásico de procesos cooperativos es el problema del productor- consumidor Productor: Consumidor: repeat repeat ........ while contador =n do nada; producir un elemento en sigp sigc:=buffer[sale]; sale:=sale+1 mod n; ………….. ……….. while entra +1 mod n=sale do nada; Consumir el elemento que esta en buffer[ entra]:=sigp; sigc entra:=entra+1 mod n; ……. until false ; until false ;
  • 3. • Los códigos pueden ser modificados como sigue: Productor: Consumidor: repeat repeat ........ while contador =n do nada; producir un elemento en sigp sigc:=buffer[sale]; ………….. sale:=sale+1 mod n; while contador =n do nada; contador:=contador -1; buffer[ entra]:=sigp; ……….. entra:=entra+1 mod n; Consumir el elemento que esta en sigc contador:=contador +1; ……. until false ; until false ; • Cada rutina es correcta pero pueden no funcionar correctamente correcta, cuando son ejecutadas concurrentemente • La situación en la que varios procesos acceden y manipulan el mismo dato concurrentemente, y el resultado de la ejecución depende del particular orden en que los accesos tienen lugar, es llamada condición de competencia • Se requiere alguna forma de sincronización para garantizar que solo un proceso a la vez puede estar manipulando el dato.
  • 4. 5.2. El problema de la sección crítica Dado un conjunto n de procesos, cada proceso tiene un segmento de código, llamado sección crítica, en la cual los procesos pueden cambiar variables comunes, actualizar una tabla, grabar un archivo, etc. La característica importante del sistema es que, cuando un proceso se esta ejecutando en su sección crítica; ningún otro proceso puede ejecutarse en su sección crítica. En un sistema, la ejecución de las secciones críticas de los procesos debe ser mutuamente excluyentes en el tiempo. El problema de la sección crítica consiste en diseñar un protocolo que los procesos puedan usar para cooperar. Cada proceso debe solicitar permiso para ingresar a su sección crítica. La sección de código que implementa esta solicitud es la sección de ingreso. La sección crítica puede ir seguida de una sección de egreso. El código que queda es la sección restante.
  • 5. Una solución al problema de la sección crítica debe satisfacer los tres requisitos si •Mutua exclusión. •Progreso •Espera limitada. Estructura general de un proceso repeat Sección de ingreso Sección crítica Sección de egreso Sección restante until false;
  • 6. 5.3. Hardware de sincronización En sistemas de un procesador, el problema de las secciones críticas podría ser resuelto simplemente si pudiéramos deshabilitar las interrupciones mientras una variable compartida está siendo actualizada. • Esta solución no es factible para un sistema con varios procesadores debido a la demora que implica el pasaje de mensajes. • En muchos sistemas existen instrucciones de hardware que pueden ser usadas para resolver el problema de las secciones críticas. • Estas instrucciones permiten ejecutar atómicamente las operaciones de: – chequear y modificar el contenido de una palabra, o – intercambiar el contenido de dos palabras
  • 7. Definición de la instrucción Evaluar-y-Asignar. repeat function Evaluar-y-Asignar(var objetivo: boolean):boolean; begin Evaluar-y-Asignar:=objetivo; Objetivo:=true; End Implementación de la mutua exclusión con Evaluar-y-Asignar repeat while Evaluar-y-Asignar(cerradura) do nada Sección crítica Cerradura:= false Sección restante until false;
  • 8. 5.4. Semáforos Las soluciones por hardware presentadas no son fáciles de generalizar a problemas más complejos. • Esta dificultad se puede superar usando una herramienta de sincronización llamada semáforo. • Un semáforo S es una variable entera que solo es accedida a través de dos operaciones atómicas: esperar(wait) y señal(signal) Las definiciones de estas operaciones son: espera(S): while S<= 0 do nada; S:=S-1; señal(S): S:= S+1; -Podemos usar semáforos para resolver el problema de la sección crítica con n procesos. - Todos los procesos comparten un semáforo, mutex (de mutual exclusión, mutua exclusión ) que recibe el valor inicial a 1. - También podemos usar semáforos para resolver problemas de sincronización.
  • 9. Implementación de la mutua exclusión con SEMÁFOROS repeat espera(mutex) Sección crítica Señal(mutex); Sección restante until false;
  • 10. 5.5. Problemas clásicos de sincronización - El problema de buffer limitado ºSe le utiliza con frecuencia para ilustrar la potencia de las primitivas de sincronización. ºSupondremos que la reserva consiste en n buffers, cada uno de los cuales puede contener un elemento. ºEl semáforo mutex asegura la mutua exclusión de los accesos a la reserva de buffers e inicialmente tiene el valor 1. º los semáforos vacios y llenos cuentan el numero de buffers vacios y llenos, respectivamente. ºEl semáfor vacios asume el valor inical n; llenos de inicia con el valor 0.
  • 11. - El problema de los lectores y escritores -Un objeto de datos(como un archivo o registro) se va a compartir entre varios procesos concurrentes. -Algunos de esos procesos quizá sólo deseen leer el contenido del objeto compartido, pero otros podrían querer actualizarlo. - Distinguimos entre estos dos tipos de procesos llamados lectores(solo están interesados en leer) y escritores a los demás.
  • 12. - El problema de los filósofos comensales
  • 13. 5.6. Monitores - Un monitor se caracteriza por un conjunto de operaciones definidos por el Programador. -La representación de un monitor consiste en declaraciones de variables , procedimientos y funciones que implementan operaciones con el tipo. Representación esquemática de un monitor.
  • 14. 5.7. Sincronización en Java -Uno de los principales usos de sincronización lo tiene JAVA a través de la consistencia de datos que debe garantizar en el manejo de hilos, debido al trabajo paralelo que estos realizan. -La sincronización en java se proporciona a nivel de lenguaje y constituye un Ejemplo de un mecanismo de sincronización a alto nivel.
  • 15. •BIBLIOGRAFIA •Bibliografía Básica Silberschatz, Galvín y Gagne, SISTEMAS OPERATIVOS, 5ta edición, Limusa Wiley, México, 1999 •Bibliografía Complementaria MilenKovic Milan, Sistemas Operativos, 2da Edición, McGraw-Hill Interamericana, 1994 - ENLACES WEB •SISTEMAS OPERATIVOS http://www.sindominio.net/metabolik/alephandria/txt/SSOO-0_5_0.pdf •ADMINISTRACIÓN DE S.O. http://ditec.um.es/aso/ •SISTEMAS OPERATIVOS http://www.pdf-search-engine.com/tanenbaum-sistemas-operativos-pdf.html •PLANIFICACION DE PROCESOS http://www.gabriel-arellano.com.ar/so/ • SINCRONIZACION DE PROCESOS http://arcos.inf.uc3m.es/~ii_ssoo/dokuwiki/doku.php •SINCRONIZACION PROCESOS http://www.dirinfo.unsl.edu.ar/~sonet/teorias/SO-clase4-pagina.pdf •SINCRONIZACION PROCESOS http://web.frm.utn.edu.ar/soperativos/Archivos/sincro.pdf