SlideShare une entreprise Scribd logo
1  sur  47
COMUNICACIÓN Y
           SINCRONIZACIÓN
           ENTRE PROCESOS
                               LORENA RAMOS


Carrera: Técnico Superior en Análisis de Sistemas 2° Año.
Cátedra: Sistemas Operativos
Docente: Cristian Gómez


                                   Año:2012
Revisión de
 conceptos
  previos
Multiprogramación
Gestión de varios procesos dentro de un
        sistema monoprocesador.


        Multiprocesamiento
Gestión de varios procesos dentro de un
        sistema multiprocesador.


    Procesamiento Distribuido
 Gestión de varios procesos ejecutándose
en sistemas de múltiples computadoras las
    cuales se encuentran distribuidas.
PROCESOS
Procesos
Programa que esta en ejecución.
 Un programa vivo que tiene su
  propio flujo de control, su
  directorio de trabajo y es
  independiente de los otros
           procesos.
                 .
             .
                     .
concurrentes:
 Varios procesos ejecutándose al
          mismo tiempo.
El sistema operativo crea la ilusión
  de que cada uno tiene su propia
               CPU.


                  .



             .          .
LOS PROCESOS
    CONCURRENTES PUEDEN SER:

  Independientes:      No comparten datos con
                 otros procesos.
   Cooperativos: Si pueden afectar o verse
 afectados por otros procesos. Las razones que
  permiten la cooperación entre procesos son:
1.- Compartir información
2.- Aceleración de cálculos (subtareas)
3.- Modularidad dividir las funciones del sistema
4.- Conveniencia .
Exclusión mutua:
Exclusión mutua: los procesos reclaman control
                 exclusivo de
            los recursos que piden.
       Interbloqueado:
Un proceso esta interbloqueado si está
esperando por un evento determinado que nunca
            Inanición :
va a ocurrir.

Cuando un proceso espera por un evento que puede
ocurrir pero no se sabe cuando.
Sección crítica :
Definición: región crítica es el trozo de
código donde un proceso hace uso de un
  recurso no compartible, por lo tanto
  debe ejecutarse en exclusión mutua.
   Las secciones críticas deben ser
  ejecutadas lo más rápido posible y
  además deben ser cuidadosamente
             codificadas.
Relación entre
   procesos
Competencia
Los procesos son independientes.
No tienen conocimiento de los demás.
Compiten por el acceso a los recursos.


                    Problemas de control


          Exclusión Mutua.

            Interbloqueo

              Inanición
Cooperación por
 compartición
Los procesos comparten el acceso a algunos
 objetos, por ejemplo a un buffer de E/S.
Tienen conocimiento indirecto de los otros.
 Cooperan para compartir el objeto común


                       Problemas de control


             Exclusión Mutua.

               Interbloqueo

                 Inanición
Cooperación por
 comunicación
Los procesos pueden comunicarse con los
                demas.
Tienen conocimiento directo de los demás.

                      Problemas de control




              Interbloqueo

                Inanición
Condiciones de
Competencia (Race
    Condition)
Las situaciones como las planteadas en que el
resultado de la ejecución de dos o más procesos
 depende del orden de ejecución de los mismos
              reciben el nombre de
      CONDICIONES DE COMPETENCIA


                             ¿Cómo se soluciona
                                 este problema?


        Mediante la EXCLUSIÓN MUTUA

Garantizando que los procesos accedan en forma
         ordenada al recurso compartido
Sección Crítica.
Un proceso comienza a utilizar una variable
  compartida antes que el otro termine de
                                     usarla




   Esa parte del programa, en la cual se
    accede a la memoria compartida, se
       denomina SECCION CRITICA
Si se puede garantizar que 2 procesos no
     entrarán, al mismo tiempo, en su
 SECCIÓN CRITICA, podrán evitarse las
        Condiciones de Competencia
Condiciones para
 una solución al
 problema de la
 Sección Crítica
1 - Dos procesos no deben encontrarse, al mismo
         tiempo, en su Sección Crítica.
2 - No deben hacerse hipótesis sobre la velocidad
            o el número de CPU´s.
    3 - Ninguno de los procesos que se están
  ejecutando fuera de su Sección Crítica puede
bloquear a otros procesos que desean entrar a su
                      SC.
  4 - Ningún proceso debe esperar eternamente
       para entrar en su Sección Crítica.
5 – Un proceso que se encuentra dentro de su SC
     debe abandonarla en un tiempo finito.
  6 - Un Proceso no puede consumir tiempo de
   ejecución mientras espera por un recurso.
7 - No debe haber ningún proceso privilegiado que
               monopolice la SC.
Solución
Dejar la responsabilidad a los procesos, que
  deben coordinarse unos con otros para
         cumplir la exclusión mutua.
    Sin ayuda por parte del lenguaje de
   programación o del sistema operativo.
Estas soluciones son propensas a errores y a
       una fuerte carga de proceso.


Variables de Cerradura – Alternancia estricta
           – Solución de Peterson
VARIABLE
CERRADURA
Si se desea que un proceso entre a su sección
 critica primero hace una prueba de la variable
  de cerradura. Si su valor es 0 el proceso lo
 cambia a 1 y entra a su sección critica. Si la
 variable vale uno, el proceso espera hasta que
tome el valor 0 y esta ocurre cuando el proceso
   que entro a la sección critica sale de ella.


         Esta variable es compartida y tiene 2
  valores: 0 y 1. El sistema operativo tiene
  acceso a esa variable y el único que puede
   cambiar el estado es el proceso actual.
ALTERNANCIA
  ESTRICTA
Obliga a que cada proceso tenga un turno, hay
 un cambio de turno cada vez que un proceso
  sale de la sección critica, si un proceso es
   lento atrasara a otros procesos que son
                    rápidos.
               Características:
         Garantiza la exclusión mutua
         Su sincronización es forzada
 Acopla fuertemente a los procesos (procesos
      lentos atrasan a procesos rápidos)
    No garantiza la progresión, ya que si un
proceso por alguna razón es bloqueado dentro o
 fuera de la sección puede bloquear a los otros
SOLUCIÓN DE
 PETERSON
Consideremos el caso de que 2 procesos llaman
   al procedimiento para entrar en su sección
     critica de forma casi simultanea, ambos
 procesos almacenaran su número de proceso en
       una variable x. Solo cuenta la última
    operación, la primera de ellas se pierde.
    Supongamos que el proceso 1 almacena su
numero en ultimo lugar, por lo que el valor de x
 será igual a 1. Cuando ambos procesos lleguen
   al enunciado while, la condición se cumplirá
únicamente para uno de los dos procesos, por lo
       que el otro proceso deberá esperar.
SOLUCIONES
    POR
 HARDWARE
Ofrece solucionar el problema mediante
   instrucciones especiales de máquina.
Reducen la sobrecarga pero no son óptimas.




    Inhabilitación de interrupciones –
   Instrucciones especiales de máquina
INHABILITACIÓN
      DE
INTERRUPCIONES
La solución de I.I. evita que el proceso abandone
el CPU durante la S.C., logrando así la exclusión
 mutua. El gran inconveniente que presenta esta
      opción es que desactivar y activar las
interrupciones es muy costoso en lo que respecta
   a tiempo de ejecución, por lo que no es una
 buena opción para sistemas en tiempo real, por
                     ejemplo


                        {
         // Desactivar las interrupciones
                     // S.C.
     // Activar las interrupciones nuevamente
                    // S.n.C.
INSTRUCCIONES
 ESPECIALES DE
   MÁQUINA
Test-And-Set: esta función verifica el estado de
  una variable cerrojo devolviendo verdadero si el
 cerrojo estaba abierto (en 0), falso en otro caso.
Además, al retornar, el cerrojo queda cerrado (bien
sea porque ya lo estaba o porque se cerro dentro de
      la función). Su uso es como se muestra a
                     continuación:
                   int cerrojo=0;
               void Proceso(int id) {
           while(test_and_set(cerrojo));
                      // S.C.
                    cerrojo=0;
                     // S.n.C.
OTRAS
SOLUCIONES
Ofrece solucionar el problema a través del
 soporte del Sistema Operativo o de los
        lenguajes de programación




Semáforos – Monitores – Paso de mensajes
SEMÁFOROS
int mutex=MAX_RECURSOS;
 void signal(int *_mutex) {
       (_mutex*)++;
      if((*mutex)<=0)
 // Desencolar un proceso
             }
  void wait(int *_mutex) {
       (_mutex*)--;
      if((*mutex)<0)
   // Encolar un proceso
             }
Consta de dos instrucciones signal y wait, y
una variable mutex comun. Esta variable se
      suele fijar al numero de recursos
disponibles, la operación wait decrementa su
           valor y verifica si no es
 negativo (es decir, que al solicitarse habia
 alguno disponible); si no lo es, continua la
                ejecución, en
  caso contrario se puede utilizar espera
  activa o se puede bloquear el proceso e
             introducirlo en una
cola para evitar el consumo de CPU. El signal
 simplemente libera un recurso y en caso de
MONITORES
Son estructuras de un lenguaje de programación
 que ofrecen una funcionalidad equivalente a la
de los semáforos , pero que son más fáciles de
controlar. Un monitor es un módulo de software
  que consta de uno o más procedimientos, una
  secuencia de inicio y unos datos locales. Sus
características fundamentales: Las variables de
   datos locales están solo accesibles para los
    procedimientos del monitor y no para los
 procedimientos externos. Un proceso entra en
        el monitor invocando a uno de sus
  procedimientos. Solo un proceso puede estar
     ejecutando en el monitor en un instante
dado, cualquier otro proceso que haya invocado
 al monitor quedará suspendido mientras espera
PASO DE
MENSAJES
Paso de mensajes: este sistema de comunicación
   tiene diversas implementaciones que solo serán
 mencionadas: directa e indirecta; sin buffer, con
  buffer, bien sea limitado o “ilimitado”; con y sin
bloqueo. Se basa en un par de instrucciones send y
  receive, las cuales se encargan de enviar y leer,
 respectivamente, un determinado mensaje, ya sea
directamente a un proceso o bien sea a un buzón o
                       buffer.
    Por ultimo, otro mecanismo de comunicación
 sumamente utilizado en Linux, es de las tuberías,
que no son mas que flujos unidireccionales de datos
             implementados por el shell.
 Simplemente se toma la salida de un proceso y se
usa como salida del siguiente. La implementación de
  esta técnica es sumamente sencilla: se crea un
BIBLIOGRAFÍA
STALLINGS, William – Sistemas Operativos, segunda edición.
  TANENBAUM, Andrew – Sistemas Operativos, Diseño e
                 Implementación.
                       INTERNET.

Contenu connexe

Tendances

Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónjhonfgarcia
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoTecnologico de pinotepa
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativoschikscorpion_23
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 
Esquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasEsquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasLeo Jm
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,Victor Mijangos
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosNelson Guanipa
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Comunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosComunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosStalin Jara
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPUFernanda Soto
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 

Tendances (20)

Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
 
Cuadro comparativo hilos
Cuadro comparativo hilosCuadro comparativo hilos
Cuadro comparativo hilos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Esquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasEsquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologías
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Comunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosComunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidos
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPU
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 

En vedette

Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesosmastermind87
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De ProcesosJessica Suarez
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSomarhcc
 
Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativosAndy Lopez
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - SemáforosJuan Rojas
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
2 1 Procesador Y Memoria
2 1 Procesador Y Memoria2 1 Procesador Y Memoria
2 1 Procesador Y MemoriaUVM
 
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
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.Carlos Solano
 
Componentes del sistema operativo
Componentes del sistema operativoComponentes del sistema operativo
Componentes del sistema operativoAlexandraRios18
 
Curso Sistemas Operativos - Unidad Arquitectura del Computador
Curso Sistemas Operativos - Unidad Arquitectura del ComputadorCurso Sistemas Operativos - Unidad Arquitectura del Computador
Curso Sistemas Operativos - Unidad Arquitectura del ComputadorJuan Rafael Alvarez Correa
 
Gestion directorios
Gestion directoriosGestion directorios
Gestion directoriosSaregune
 
Bloqueos En Sistemas Distribuidos
Bloqueos En Sistemas DistribuidosBloqueos En Sistemas Distribuidos
Bloqueos En Sistemas Distribuidosyramirez
 
Modelos de estados
Modelos de estadosModelos de estados
Modelos de estadosFaubricio
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estadoszombra18
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutuatatyseli
 
Modelo de estados
Modelo de estadosModelo de estados
Modelo de estadosYNPARDO
 

En vedette (20)

Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativos
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
2 1 Procesador Y Memoria
2 1 Procesador Y Memoria2 1 Procesador Y Memoria
2 1 Procesador Y Memoria
 
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
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Componentes del sistema operativo
Componentes del sistema operativoComponentes del sistema operativo
Componentes del sistema operativo
 
Curso Sistemas Operativos - Unidad Arquitectura del Computador
Curso Sistemas Operativos - Unidad Arquitectura del ComputadorCurso Sistemas Operativos - Unidad Arquitectura del Computador
Curso Sistemas Operativos - Unidad Arquitectura del Computador
 
Gestion directorios
Gestion directoriosGestion directorios
Gestion directorios
 
Bloqueos En Sistemas Distribuidos
Bloqueos En Sistemas DistribuidosBloqueos En Sistemas Distribuidos
Bloqueos En Sistemas Distribuidos
 
Modelos de estados
Modelos de estadosModelos de estados
Modelos de estados
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estados
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutua
 
Modelo de estados
Modelo de estadosModelo de estados
Modelo de estados
 
Deadlock
DeadlockDeadlock
Deadlock
 

Similaire à Comunicación y Sincronizacion de Procesos

Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosLlabajo Baez
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSSelqit Mgw
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos Cristhian Rosales
 
Comunicación y sicronización entre procesos
Comunicación y sicronización entre procesosComunicación y sicronización entre procesos
Comunicación y sicronización entre procesosglocom15
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesadorMiguel Joshua Godinez Barbosa
 
Presentación1
Presentación1Presentación1
Presentación1janet290
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1honeyjimenez
 
Sicronización entre procesos
Sicronización entre procesosSicronización entre procesos
Sicronización entre procesosglocom15
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegiovatovar
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosKim Sorel Rush
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentepuracastillo
 

Similaire à Comunicación y Sincronizacion de Procesos (20)

Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Comunicación y sicronización entre procesos
Comunicación y sicronización entre procesosComunicación y sicronización entre procesos
Comunicación y sicronización entre procesos
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Presentación1
Presentación1Presentación1
Presentación1
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
 
Sicronización entre procesos
Sicronización entre procesosSicronización entre procesos
Sicronización entre procesos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 

Dernier

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Dernier (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Comunicación y Sincronizacion de Procesos

  • 1. COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS LORENA RAMOS Carrera: Técnico Superior en Análisis de Sistemas 2° Año. Cátedra: Sistemas Operativos Docente: Cristian Gómez Año:2012
  • 3. Multiprogramación Gestión de varios procesos dentro de un sistema monoprocesador. Multiprocesamiento Gestión de varios procesos dentro de un sistema multiprocesador. Procesamiento Distribuido Gestión de varios procesos ejecutándose en sistemas de múltiples computadoras las cuales se encuentran distribuidas.
  • 5. Procesos Programa que esta en ejecución. Un programa vivo que tiene su propio flujo de control, su directorio de trabajo y es independiente de los otros procesos. . . .
  • 6. concurrentes: Varios procesos ejecutándose al mismo tiempo. El sistema operativo crea la ilusión de que cada uno tiene su propia CPU. . . .
  • 7. LOS PROCESOS CONCURRENTES PUEDEN SER: Independientes: No comparten datos con otros procesos. Cooperativos: Si pueden afectar o verse afectados por otros procesos. Las razones que permiten la cooperación entre procesos son: 1.- Compartir información 2.- Aceleración de cálculos (subtareas) 3.- Modularidad dividir las funciones del sistema 4.- Conveniencia .
  • 8. Exclusión mutua: Exclusión mutua: los procesos reclaman control exclusivo de los recursos que piden. Interbloqueado: Un proceso esta interbloqueado si está esperando por un evento determinado que nunca Inanición : va a ocurrir. Cuando un proceso espera por un evento que puede ocurrir pero no se sabe cuando.
  • 9. Sección crítica : Definición: región crítica es el trozo de código donde un proceso hace uso de un recurso no compartible, por lo tanto debe ejecutarse en exclusión mutua. Las secciones críticas deben ser ejecutadas lo más rápido posible y además deben ser cuidadosamente codificadas.
  • 10. Relación entre procesos
  • 12. Los procesos son independientes. No tienen conocimiento de los demás. Compiten por el acceso a los recursos. Problemas de control Exclusión Mutua. Interbloqueo Inanición
  • 14. Los procesos comparten el acceso a algunos objetos, por ejemplo a un buffer de E/S. Tienen conocimiento indirecto de los otros. Cooperan para compartir el objeto común Problemas de control Exclusión Mutua. Interbloqueo Inanición
  • 16. Los procesos pueden comunicarse con los demas. Tienen conocimiento directo de los demás. Problemas de control Interbloqueo Inanición
  • 18. Las situaciones como las planteadas en que el resultado de la ejecución de dos o más procesos depende del orden de ejecución de los mismos reciben el nombre de CONDICIONES DE COMPETENCIA ¿Cómo se soluciona este problema? Mediante la EXCLUSIÓN MUTUA Garantizando que los procesos accedan en forma ordenada al recurso compartido
  • 20. Un proceso comienza a utilizar una variable compartida antes que el otro termine de usarla Esa parte del programa, en la cual se accede a la memoria compartida, se denomina SECCION CRITICA Si se puede garantizar que 2 procesos no entrarán, al mismo tiempo, en su SECCIÓN CRITICA, podrán evitarse las Condiciones de Competencia
  • 21. Condiciones para una solución al problema de la Sección Crítica
  • 22. 1 - Dos procesos no deben encontrarse, al mismo tiempo, en su Sección Crítica. 2 - No deben hacerse hipótesis sobre la velocidad o el número de CPU´s. 3 - Ninguno de los procesos que se están ejecutando fuera de su Sección Crítica puede bloquear a otros procesos que desean entrar a su SC. 4 - Ningún proceso debe esperar eternamente para entrar en su Sección Crítica. 5 – Un proceso que se encuentra dentro de su SC debe abandonarla en un tiempo finito. 6 - Un Proceso no puede consumir tiempo de ejecución mientras espera por un recurso. 7 - No debe haber ningún proceso privilegiado que monopolice la SC.
  • 24. Dejar la responsabilidad a los procesos, que deben coordinarse unos con otros para cumplir la exclusión mutua. Sin ayuda por parte del lenguaje de programación o del sistema operativo. Estas soluciones son propensas a errores y a una fuerte carga de proceso. Variables de Cerradura – Alternancia estricta – Solución de Peterson
  • 26. Si se desea que un proceso entre a su sección critica primero hace una prueba de la variable de cerradura. Si su valor es 0 el proceso lo cambia a 1 y entra a su sección critica. Si la variable vale uno, el proceso espera hasta que tome el valor 0 y esta ocurre cuando el proceso que entro a la sección critica sale de ella. Esta variable es compartida y tiene 2 valores: 0 y 1. El sistema operativo tiene acceso a esa variable y el único que puede cambiar el estado es el proceso actual.
  • 28. Obliga a que cada proceso tenga un turno, hay un cambio de turno cada vez que un proceso sale de la sección critica, si un proceso es lento atrasara a otros procesos que son rápidos. Características: Garantiza la exclusión mutua Su sincronización es forzada Acopla fuertemente a los procesos (procesos lentos atrasan a procesos rápidos) No garantiza la progresión, ya que si un proceso por alguna razón es bloqueado dentro o fuera de la sección puede bloquear a los otros
  • 30. Consideremos el caso de que 2 procesos llaman al procedimiento para entrar en su sección critica de forma casi simultanea, ambos procesos almacenaran su número de proceso en una variable x. Solo cuenta la última operación, la primera de ellas se pierde. Supongamos que el proceso 1 almacena su numero en ultimo lugar, por lo que el valor de x será igual a 1. Cuando ambos procesos lleguen al enunciado while, la condición se cumplirá únicamente para uno de los dos procesos, por lo que el otro proceso deberá esperar.
  • 31. SOLUCIONES POR HARDWARE
  • 32. Ofrece solucionar el problema mediante instrucciones especiales de máquina. Reducen la sobrecarga pero no son óptimas. Inhabilitación de interrupciones – Instrucciones especiales de máquina
  • 33. INHABILITACIÓN DE INTERRUPCIONES
  • 34. La solución de I.I. evita que el proceso abandone el CPU durante la S.C., logrando así la exclusión mutua. El gran inconveniente que presenta esta opción es que desactivar y activar las interrupciones es muy costoso en lo que respecta a tiempo de ejecución, por lo que no es una buena opción para sistemas en tiempo real, por ejemplo { // Desactivar las interrupciones // S.C. // Activar las interrupciones nuevamente // S.n.C.
  • 36. Test-And-Set: esta función verifica el estado de una variable cerrojo devolviendo verdadero si el cerrojo estaba abierto (en 0), falso en otro caso. Además, al retornar, el cerrojo queda cerrado (bien sea porque ya lo estaba o porque se cerro dentro de la función). Su uso es como se muestra a continuación: int cerrojo=0; void Proceso(int id) { while(test_and_set(cerrojo)); // S.C. cerrojo=0; // S.n.C.
  • 38. Ofrece solucionar el problema a través del soporte del Sistema Operativo o de los lenguajes de programación Semáforos – Monitores – Paso de mensajes
  • 40. int mutex=MAX_RECURSOS; void signal(int *_mutex) { (_mutex*)++; if((*mutex)<=0) // Desencolar un proceso } void wait(int *_mutex) { (_mutex*)--; if((*mutex)<0) // Encolar un proceso }
  • 41. Consta de dos instrucciones signal y wait, y una variable mutex comun. Esta variable se suele fijar al numero de recursos disponibles, la operación wait decrementa su valor y verifica si no es negativo (es decir, que al solicitarse habia alguno disponible); si no lo es, continua la ejecución, en caso contrario se puede utilizar espera activa o se puede bloquear el proceso e introducirlo en una cola para evitar el consumo de CPU. El signal simplemente libera un recurso y en caso de
  • 43. Son estructuras de un lenguaje de programación que ofrecen una funcionalidad equivalente a la de los semáforos , pero que son más fáciles de controlar. Un monitor es un módulo de software que consta de uno o más procedimientos, una secuencia de inicio y unos datos locales. Sus características fundamentales: Las variables de datos locales están solo accesibles para los procedimientos del monitor y no para los procedimientos externos. Un proceso entra en el monitor invocando a uno de sus procedimientos. Solo un proceso puede estar ejecutando en el monitor en un instante dado, cualquier otro proceso que haya invocado al monitor quedará suspendido mientras espera
  • 45. Paso de mensajes: este sistema de comunicación tiene diversas implementaciones que solo serán mencionadas: directa e indirecta; sin buffer, con buffer, bien sea limitado o “ilimitado”; con y sin bloqueo. Se basa en un par de instrucciones send y receive, las cuales se encargan de enviar y leer, respectivamente, un determinado mensaje, ya sea directamente a un proceso o bien sea a un buzón o buffer. Por ultimo, otro mecanismo de comunicación sumamente utilizado en Linux, es de las tuberías, que no son mas que flujos unidireccionales de datos implementados por el shell. Simplemente se toma la salida de un proceso y se usa como salida del siguiente. La implementación de esta técnica es sumamente sencilla: se crea un
  • 47. STALLINGS, William – Sistemas Operativos, segunda edición. TANENBAUM, Andrew – Sistemas Operativos, Diseño e Implementación. INTERNET.