SlideShare uma empresa Scribd logo
1 de 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.

Mais conteúdo relacionado

Mais procurados

Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesosAbimael hernandez
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemMirna L. Torres Garcia
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPUFernanda Soto
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estadoszombra18
 
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
 
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
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicasdanielchecar
 
Teoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formalesTeoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formalesUniversidad del Valle
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesossueich
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesosAlberto Ch
 

Mais procurados (20)

Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
2.3.1
2.3.12.3.1
2.3.1
 
Sjf srtf
Sjf   srtfSjf   srtf
Sjf srtf
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPU
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estados
 
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
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
Deadlock
DeadlockDeadlock
Deadlock
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicas
 
Teoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formalesTeoria de automatas y lenguajes formales
Teoria de automatas y lenguajes formales
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Procesos e hilos_parte_3
Procesos e hilos_parte_3Procesos e hilos_parte_3
Procesos e hilos_parte_3
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesos
 

Destaque

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
 
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
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - SemáforosJuan Rojas
 
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
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutuatatyseli
 
Modelo de estados
Modelo de estadosModelo de estados
Modelo de estadosYNPARDO
 
Trabajo informàtica (regiones)
Trabajo informàtica (regiones)Trabajo informàtica (regiones)
Trabajo informàtica (regiones)Sara Jimènez
 
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
 
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
 

Destaque (20)

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
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
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
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutua
 
Modelo de estados
Modelo de estadosModelo de estados
Modelo de estados
 
Trabajo informàtica (regiones)
Trabajo informàtica (regiones)Trabajo informàtica (regiones)
Trabajo informàtica (regiones)
 
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
 
Introducción c++
Introducción c++Introducción c++
Introducción c++
 
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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

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.