SINCRONIZACIÓN DE PROCESOS
Antecedentes El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos Mantener la consistencia de los datos requiere mecanismos para asegurar el orden de ejecución de los procesos que los comparten
Programas secuenciales Especifica una ejecución secuencial de una lista de enunciados La ejecución del programa da como resultado la creación de un proceso
Procesos concurrentes Concurrencia: del verbo concurrir, asistir o acudir al mismo lugar o tiempo Especifica dos o más programas secuenciales ejecutados concurrentemente como procesos paralelos
Características procesos concurrentes Los procesos son concurrentes si existen simultáneamente Pueden funcionar en forma totalmente independiente, unos de otros Pueden ser asincronos lo cual significa que en ocasiones requieren cierta sincronización y cooperación
Clasificación procesos concurrentes Podemos hablar de  multiprogramación,  multiprocesamiento o  procesamiento distribuido
Multiprogramación  Los procesos son ejecutados, concurrentemente, compartiendo uno o más procesadores (c/u con su memoria) El kernel del sistema operativo multiplexa los procesos en los procesadores  Proc 2 Proc 5 Proc 6 Proc 3 Proc 7 Proc 4 Proc 1 M 1 CPU 1 M 2 CPU 2
Multiprocesamiento  Se ejecuta un proceso en cada procesador  Los procesos comparten una memoria en común  CPU 1 CPU 2 CPU 3 Memoria común CPU 4 Proc 1 Proc 2 Proc 4 Proc 3
Procesamiento distribuido Los procesos están conectados a través de una red de comunicación Cada procesos cuenta con su memoria M 1 Proc 1 Proc 2 Proc 4 Proc 3 M 2 M 3 M 4 red de comunicación CPU 1 CPU 2 CPU 3 CPU 4
Interacción entre procesos Para poder cooperar, procesos concurrentes deben comunicarse y sincronizarse Comunicación permite ejecución de un proceso para influenciar ejecución de otro Comunicación entre procesos esta basada en el uso de variables compartidas o envío de mensajes
La sincronización Frecuentemente, la sincronización es necesaria cuando los procesos se comunican  Procesos son ejecutados con velocidades impredecibles Para comunicarse un proceso debe realizar una acción que el otro pueda detectar Entonces la sincronía puede verse como un conjunto de restricciones para el ordenamiento de eventos Programador usa un mecanismo de sincronía para retardar ejecución de un proceso para satisfacer una restricción
El Problema de la Sección Crítica Cada proceso posee un fragmento de código, denominado  sección crítica , que no debe intercalarse con las secciones críticas de los demás procesos En las secciones críticas de los procesos se encuentra el código que accede y/o modifica los datos compartidos La ejecución de las secciones críticas debe ser  mutuamente exclusiva  para evitar inconsistencia de datos El problema de la sección crítica consiste en diseñar un protocolo que los procesos pueden usar para conseguir la exclusión mutua de las secciones críticas. El protocolo consta de: Sección de ingreso : solicita permiso para ingresar en la SC Sección de egreso : anuncia la salida de la SC
Solución al Problema de la Sección Crítica 1. Exclusión Mutua  – Si el proceso  P i  está ejecutando su sección crítica, ningún otro proceso puede estar ejecutando su sección crítica 2. Progreso  – Si ningún proceso está ejecutando su sección crítica y existen algunos que quieren entrar en su sección crítica, sólo los procesos que no estén ejecutando su sección restante pueden participar en la decisión de qué proceso puede ingresar en su sección crítica, y esta selección no puede posponerse indefinidamente 3. Espera limitada  -  Hay un límite para el número de veces que otros procesos pueden entrar a sus secciones críticas después de que un proceso ha solicitado entrar en su sección crítica y antes de que se le otorgue la autorización para hacerlo Asumimos que cada proceso se ejecuta con velocidad    0  No hacemos supuestos acerca de las velocidades relativas de los  N  procesos
Primer intento while (true) { while (turno    0); SECCIÓN CRÍTICA turno = 1; SECCIÓN RESTANTE } Satisface la exclusión mutua No cumple la condición de progreso Requiere una alternancia estricta de los procesos en la ejecución de la sección crítica
Segundo intento while (true) { indicador[0] = TRUE; while (indicador[1]); SECCIÓN CRÍTICA indicador[0] = FALSE; SECCIÓN RESTANTE } Satisface la exclusión mutua No cumple la condición de progreso Los dos procesos pueden quedarse bloqueados en ciclos infinitos
Solución de Dekker 5 (1965) while (true) { indicador[1] = TRUE; while (indicador[2]) { if (turno = 2) { indicador[1] = FALSE; while (turno = 2); indicador[1] = TRUE; } } SECCIÓN CRÍTICA turno = 2; indicador[1] = FALSE; SECCIÓN RESTANTE } Satisface la exclusión mutua Cumple la condición de progreso Cumple el requisito de espera limitada
Hardware de Sincronización Muchos sistemas proveen soporte de hardware para resolver el problema de la exclusión mutua Una solución en máquinas con un solo procesador es deshabilitar las interrupciones El código que se está ejecutando no puede ser retirado de la CPU No es buena solución porque el SO pierde el control temporalmente En sistemas multiprocesadores no es eficiente Las máquinas actuales proveen instrucciones atómicas especiales Atómica = no interrumpible
PREGUNTAS ¿?

Más contenido relacionado

DOCX
Unidad 6 Protección y seguridad.
PPT
Unidad 3 Modelo De Negocio
PPTX
GESTION DE PROCESOS Sistemas Operativos
PPTX
Planificador SSTF (shortest seek time first)
PDF
Gestion entrada y salida
PPTX
Administración de procesos y del procesador
PDF
Transacciones
PPT
Sincronización entre procesos
Unidad 6 Protección y seguridad.
Unidad 3 Modelo De Negocio
GESTION DE PROCESOS Sistemas Operativos
Planificador SSTF (shortest seek time first)
Gestion entrada y salida
Administración de procesos y del procesador
Transacciones
Sincronización entre procesos

La actualidad más candente (20)

DOCX
Algoritmos DEKKER y PETERSON
PPTX
Procesos Interrupciones y Nucleo
PPTX
Análisis léxico y análisis sintáctico
PPT
Ejercicios
PPTX
SICRONIZACION DE PROCESOS
PPTX
Modelo de desarrollo concurrente
PPTX
Uml lenguaje unificado de modelado
PPSX
Comunicación y Sincronizacion de Procesos
PPTX
Gestion Procesos, Sistemas Operativos
PPTX
Organización lógica y física.
PPTX
Automatas Finitos Deterministicos y No Deterministicos
PPTX
Ventajas y desventajas de moprosoft
PPTX
Fundamentos de ingenieria del software (2)
PPT
Descomposición modular y estilos de control
PPTX
Algoritmo de dekker
PPTX
Estructura de Datos - Unidad 5 metodos de ordenamiento
PDF
Tabla De Transicion
PDF
Diccionario de datos
PPTX
Arquitectura cisc
PPTX
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Algoritmos DEKKER y PETERSON
Procesos Interrupciones y Nucleo
Análisis léxico y análisis sintáctico
Ejercicios
SICRONIZACION DE PROCESOS
Modelo de desarrollo concurrente
Uml lenguaje unificado de modelado
Comunicación y Sincronizacion de Procesos
Gestion Procesos, Sistemas Operativos
Organización lógica y física.
Automatas Finitos Deterministicos y No Deterministicos
Ventajas y desventajas de moprosoft
Fundamentos de ingenieria del software (2)
Descomposición modular y estilos de control
Algoritmo de dekker
Estructura de Datos - Unidad 5 metodos de ordenamiento
Tabla De Transicion
Diccionario de datos
Arquitectura cisc
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Publicidad

Destacado (20)

PPTX
Coordinacion Y Sincronizacion De Procesos
PPTX
Sistemas Operativos - Semáforos
DOCX
Mecanismo de sincronización de procesos
PPTX
Problemas de sincronizacion de procesos
PPTX
Procesamiento paralelo
PPTX
Administración de procesos en el S.O.
PPTX
Diapositivas sincronización
PPTX
4. procesos
DOCX
Bloqueo mutuo
PDF
Cena filosofos c
PPT
Bloqueos En Sistemas Distribuidos
PPTX
S Incronizacion De Procesos
PPTX
Modelos de estados
PPTX
Diagrama de 7 estados
PDF
Fundamento de sistema operativo
PPTX
Exclusión mutua
PDF
SATMovil
PPTX
Modelo de estados
PDF
Expert movil fuerza de ventas
PPTX
Gestion entrada y salida UACJ
Coordinacion Y Sincronizacion De Procesos
Sistemas Operativos - Semáforos
Mecanismo de sincronización de procesos
Problemas de sincronizacion de procesos
Procesamiento paralelo
Administración de procesos en el S.O.
Diapositivas sincronización
4. procesos
Bloqueo mutuo
Cena filosofos c
Bloqueos En Sistemas Distribuidos
S Incronizacion De Procesos
Modelos de estados
Diagrama de 7 estados
Fundamento de sistema operativo
Exclusión mutua
SATMovil
Modelo de estados
Expert movil fuerza de ventas
Gestion entrada y salida UACJ
Publicidad

Similar a Sincronizacion de Procesos (20)

PPTX
S Incronizacion De Procesos
PDF
Unidad 2 sist. oper. 1
PPTX
Comunicación y sicronización entre procesos
PPTX
Principios generales de concurrencia.pptx
PPTX
Principios generales de concurrencia.pptx
DOCX
UNIDAD II ADMINISTRADOR DE PROCESADOR
PPSX
Sicronización entre procesos
PDF
U n i d a d 2 sist oper
PDF
104842258 unidad-2-administracion-de-procesos-del-procesador
PDF
Presentación1
PDF
Sincronización de Procesos
PDF
DOC
Descripcion y control de procesos
PPTX
Unidad 2 Sistemas Operativos
PPTX
Sistema operativo
DOCX
UNIDAD II SISTEMAS OPERATIVOS
PPTX
Administración de procesosby dan
PDF
Unidad 2 jacinto
PPTX
Programacion concurrente
DOCX
Actividad 4
S Incronizacion De Procesos
Unidad 2 sist. oper. 1
Comunicación y sicronización entre procesos
Principios generales de concurrencia.pptx
Principios generales de concurrencia.pptx
UNIDAD II ADMINISTRADOR DE PROCESADOR
Sicronización entre procesos
U n i d a d 2 sist oper
104842258 unidad-2-administracion-de-procesos-del-procesador
Presentación1
Sincronización de Procesos
Descripcion y control de procesos
Unidad 2 Sistemas Operativos
Sistema operativo
UNIDAD II SISTEMAS OPERATIVOS
Administración de procesosby dan
Unidad 2 jacinto
Programacion concurrente
Actividad 4

Último (20)

PDF
Ciencias Sociales para Primer Ciclo de la Media
PDF
Esquema - Gestión ágil de proyectos con Scrum.pdf
PDF
El tiempo de las moscas- Claudia Piñeiro
PDF
el hombre que confundió a su esposa con un sombrero .pdf
PDF
Manejo estandarizado de líneas vasculare
PPTX
ACTIVIDAD-JUEVES 4 DE SEPTIEMBRE-PM1.pptx
PPTX
plan fusionado Planificación anual para instituciones educativas de carácter ...
PPTX
ANATOMIA descriptiva por sistemas y organos pptx
PDF
PLANEACIÓN_Uso de plataformas y Redes virtuales_LGE_ 2025.pdf
PDF
SeguimientoalaapropiaciondelPlanyProgramasdeestudi_2024-10-03_23-15-16.pdf
PDF
Escribalo y Hágalo Realidad HAK Ccesa007.pdf
PPTX
Imagen de bienvenidos cuarto cuatrimestre.pptx
PDF
El Gran Movimiento Adventista desde sus mismos inicios
PPTX
PONENCIA PROMOCION DE LA SALUD JERUSALEN 25.pptx
PDF
ACTUALIZADO 3RO CONTENIDOS, PDA Y PROYECTOS[1].pdf
PDF
Mindfulness en la Vida Cotidiana JKZ Ccesa007.pdf
PDF
FUNDACIÓN DE HUANCAVELICA - Autor Pedro C.
PDF
REGLAMENTO INTERNO DE CONVIVENCIA ESCOLAR 2025
PDF
9786075269641-libro-de-biologiagcgfdgxhfgxhffchfhjv.pdf
PDF
Programa de estudio - II Ciclo.pdf......
Ciencias Sociales para Primer Ciclo de la Media
Esquema - Gestión ágil de proyectos con Scrum.pdf
El tiempo de las moscas- Claudia Piñeiro
el hombre que confundió a su esposa con un sombrero .pdf
Manejo estandarizado de líneas vasculare
ACTIVIDAD-JUEVES 4 DE SEPTIEMBRE-PM1.pptx
plan fusionado Planificación anual para instituciones educativas de carácter ...
ANATOMIA descriptiva por sistemas y organos pptx
PLANEACIÓN_Uso de plataformas y Redes virtuales_LGE_ 2025.pdf
SeguimientoalaapropiaciondelPlanyProgramasdeestudi_2024-10-03_23-15-16.pdf
Escribalo y Hágalo Realidad HAK Ccesa007.pdf
Imagen de bienvenidos cuarto cuatrimestre.pptx
El Gran Movimiento Adventista desde sus mismos inicios
PONENCIA PROMOCION DE LA SALUD JERUSALEN 25.pptx
ACTUALIZADO 3RO CONTENIDOS, PDA Y PROYECTOS[1].pdf
Mindfulness en la Vida Cotidiana JKZ Ccesa007.pdf
FUNDACIÓN DE HUANCAVELICA - Autor Pedro C.
REGLAMENTO INTERNO DE CONVIVENCIA ESCOLAR 2025
9786075269641-libro-de-biologiagcgfdgxhfgxhffchfhjv.pdf
Programa de estudio - II Ciclo.pdf......

Sincronizacion de Procesos

  • 2. Antecedentes El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos Mantener la consistencia de los datos requiere mecanismos para asegurar el orden de ejecución de los procesos que los comparten
  • 3. Programas secuenciales Especifica una ejecución secuencial de una lista de enunciados La ejecución del programa da como resultado la creación de un proceso
  • 4. Procesos concurrentes Concurrencia: del verbo concurrir, asistir o acudir al mismo lugar o tiempo Especifica dos o más programas secuenciales ejecutados concurrentemente como procesos paralelos
  • 5. Características procesos concurrentes Los procesos son concurrentes si existen simultáneamente Pueden funcionar en forma totalmente independiente, unos de otros Pueden ser asincronos lo cual significa que en ocasiones requieren cierta sincronización y cooperación
  • 6. Clasificación procesos concurrentes Podemos hablar de multiprogramación, multiprocesamiento o procesamiento distribuido
  • 7. Multiprogramación Los procesos son ejecutados, concurrentemente, compartiendo uno o más procesadores (c/u con su memoria) El kernel del sistema operativo multiplexa los procesos en los procesadores Proc 2 Proc 5 Proc 6 Proc 3 Proc 7 Proc 4 Proc 1 M 1 CPU 1 M 2 CPU 2
  • 8. Multiprocesamiento Se ejecuta un proceso en cada procesador Los procesos comparten una memoria en común CPU 1 CPU 2 CPU 3 Memoria común CPU 4 Proc 1 Proc 2 Proc 4 Proc 3
  • 9. Procesamiento distribuido Los procesos están conectados a través de una red de comunicación Cada procesos cuenta con su memoria M 1 Proc 1 Proc 2 Proc 4 Proc 3 M 2 M 3 M 4 red de comunicación CPU 1 CPU 2 CPU 3 CPU 4
  • 10. Interacción entre procesos Para poder cooperar, procesos concurrentes deben comunicarse y sincronizarse Comunicación permite ejecución de un proceso para influenciar ejecución de otro Comunicación entre procesos esta basada en el uso de variables compartidas o envío de mensajes
  • 11. La sincronización Frecuentemente, la sincronización es necesaria cuando los procesos se comunican Procesos son ejecutados con velocidades impredecibles Para comunicarse un proceso debe realizar una acción que el otro pueda detectar Entonces la sincronía puede verse como un conjunto de restricciones para el ordenamiento de eventos Programador usa un mecanismo de sincronía para retardar ejecución de un proceso para satisfacer una restricción
  • 12. El Problema de la Sección Crítica Cada proceso posee un fragmento de código, denominado sección crítica , que no debe intercalarse con las secciones críticas de los demás procesos En las secciones críticas de los procesos se encuentra el código que accede y/o modifica los datos compartidos La ejecución de las secciones críticas debe ser mutuamente exclusiva para evitar inconsistencia de datos El problema de la sección crítica consiste en diseñar un protocolo que los procesos pueden usar para conseguir la exclusión mutua de las secciones críticas. El protocolo consta de: Sección de ingreso : solicita permiso para ingresar en la SC Sección de egreso : anuncia la salida de la SC
  • 13. Solución al Problema de la Sección Crítica 1. Exclusión Mutua – Si el proceso P i está ejecutando su sección crítica, ningún otro proceso puede estar ejecutando su sección crítica 2. Progreso – Si ningún proceso está ejecutando su sección crítica y existen algunos que quieren entrar en su sección crítica, sólo los procesos que no estén ejecutando su sección restante pueden participar en la decisión de qué proceso puede ingresar en su sección crítica, y esta selección no puede posponerse indefinidamente 3. Espera limitada - Hay un límite para el número de veces que otros procesos pueden entrar a sus secciones críticas después de que un proceso ha solicitado entrar en su sección crítica y antes de que se le otorgue la autorización para hacerlo Asumimos que cada proceso se ejecuta con velocidad  0 No hacemos supuestos acerca de las velocidades relativas de los N procesos
  • 14. Primer intento while (true) { while (turno  0); SECCIÓN CRÍTICA turno = 1; SECCIÓN RESTANTE } Satisface la exclusión mutua No cumple la condición de progreso Requiere una alternancia estricta de los procesos en la ejecución de la sección crítica
  • 15. Segundo intento while (true) { indicador[0] = TRUE; while (indicador[1]); SECCIÓN CRÍTICA indicador[0] = FALSE; SECCIÓN RESTANTE } Satisface la exclusión mutua No cumple la condición de progreso Los dos procesos pueden quedarse bloqueados en ciclos infinitos
  • 16. Solución de Dekker 5 (1965) while (true) { indicador[1] = TRUE; while (indicador[2]) { if (turno = 2) { indicador[1] = FALSE; while (turno = 2); indicador[1] = TRUE; } } SECCIÓN CRÍTICA turno = 2; indicador[1] = FALSE; SECCIÓN RESTANTE } Satisface la exclusión mutua Cumple la condición de progreso Cumple el requisito de espera limitada
  • 17. Hardware de Sincronización Muchos sistemas proveen soporte de hardware para resolver el problema de la exclusión mutua Una solución en máquinas con un solo procesador es deshabilitar las interrupciones El código que se está ejecutando no puede ser retirado de la CPU No es buena solución porque el SO pierde el control temporalmente En sistemas multiprocesadores no es eficiente Las máquinas actuales proveen instrucciones atómicas especiales Atómica = no interrumpible