SlideShare una empresa de Scribd logo
1 de 27
UNIVERSIDAD NACIONAL EXPERIMENTAL
    “FRANCISCO DE MIRANADA “
   ÁREA CIENCIA DE LA EDUCACIÓN
      PROGRAMA:EDUCACIÓN
     U.C: SISTEMAS OPERATIVOS




                            PROFESORA:
                            LICDA. GLORIA MELÉNDEZ
La sincronización entre procesos concurrentes es esencial para preservar
las relaciones de precedencia y para evitar los problemas de temporización
relacionados con la concurrencia. Los procesos deben sincronizarse unos con otros
cuando van a utilizar recursos compartidos, tales como estructuras de datos comunes
o dispositivos físicos. Dado que el sistema operativo no conoce, ni necesita conocer, la
semántica de las actividades del proceso. Los propios procesos deben encargarse de
sincronizar adecuadamente sus operaciones.


           Ante todo un punto fundamental en las tecnologías de diseños de sistemas
operativos es la concurrencia. Cuando se ejecutan varios procesos concurrentemente,
en el caso real de un sistema multiprocesador aparecen cuestiones de resolución de
conflictos y de cooperación.
Los procesos concurrentes pueden interactuar de varias formas:


 Los procesos que no tienen conocimientos unos de otros pueden competir por recursos
  tales como: el tiempo del procesador o de los dispositivos de E/S.


Los procesos pueden tener conocimiento indirecto de los otros, porque comparten el
acceso a unos objetos comunes, tales como: un bloque de memoria principal o un archivo.


Los procesos pueden tener conocimiento directo de los otros y cooperar mediante
  intercambio de información.


Los puntos clave son la exclusión mutua y el interbloqueo.
La sincronización entre procesos viene dada por la necesidad de coordinar
procesos concurrentes (los cuales son procesos que se encuentran activos durante un
tiempo determinado), y así, optimar su presencia en los sistemas. Este tipo de
administración, de la acción de los procesos, en forma explícita del sistema operativo
infiere que este no necesitará conocer lo detalles de ciertas tareas que se correrán
dentro de ella y será responsabilidad de los programadores que los algoritmos de
sincronización se encuentren bien diseñados para que no tenga problemas y vayan a
causar un error en el sistema y se guinde.


          Las formas de interacción explícita entre procesos pueden realizarse en varias
formas dependiendo de las necesidades y el nivel de integración de las distintas tareas
para lograr el trabajo requerido.
Son una serie de protocolos que garantizan la integridad y consistencia en el
uso de los recursos reutilizables en serie, por el uso de varios procesos concurrentes.
Estos recursos reutilizables en serie son aquellos que solo pueden ser utilizados por un
proceso a la vez y que el podría ver afectado su trabajo si dos o mas procesos
concurrentes tratan de utilizarlos.



            El ejemplo más claro es el de la impresora que sólo puede imprimir una
página a la vez y de acuerdo a nuestra forma de trabajo, una página deberá ser impresa
por una sola aplicación o proceso, por lo tanto si otro proceso requiere de su uso tendrá
que esperar hasta que se libere o se lo permita el otro proceso.
Es la manera más sencilla de interacción entre procesos debido a su
simplicidad de implantación. Esto no permite enviar información, pero es útil en
caso de necesitar realizar tareas coordinadas sencillas.




          Este tipo de interacción entre procesos trata de proveer un medio más
completo para la transmisión de información entre procesos, la coordinación de
tareas que utilicen recursos de uso colectivo para garantizar que el trabajo de
uno no afecte la integridad del recurso. Por ejemplo, los "pipes" y la memoria
compartida.
Es una forma sencilla y habitual de comunicación entre procesos
cooperativos. Cuando un conjunto de procesos tienen acceso a un espacio común
de direcciones, puede utilizar variables compartidas para una serie de
cometidos, por ejemplo, indicadores de señalización y para acumulación de
resultados colectivos.


          Sin embargo, la actualización sin restricciones de variables compartidas
puede conducir a inconsistencias. Tales errores suelen ser dependientes de la
temporización específica y del modo de entrelazarse las acciones de los procesos.
Como resultado, los errores inducidos por la concurrencia pueden ser
extremadamente difíciles de detectar, reproducir y depurar.
El hecho de que un espacio de memoria pueda ser accedida por
varios procesos podría traer problemas dentro de los sistemas. Por ejemplo,
cuando tenemos un dato y un proceso, para modificarlo debe esperar cierta
condición y lo observa, por lo que procede a tomar la decisión de modificar ese
valor, si justo en ese momento ese proceso es suspendido (sin que haya
logrado modificar el valor), y se ejecuta otro que modifique el valor en
cuestión, cuando se vuelve a ejecutar el primer proceso y termina su
modificación ese acto se estará realizando bajo condiciones distintas a las que
lo motivaron a tomar la decisión y ese valor que había colocado el otro proceso
se pierde.
Sí se presenta un problema de inconsistencia de datos en el área de las
variables compartidas, se debe garantizar que cuando un proceso necesite
modificar un dato de la sección crítica los demás procesos no lo hagan, para eso se
restringe el uso a los demás procesos y para hacer modificaciones a las variables
compartidas cuando otro lo está realizando, a esto se le llama exclusión mutua.


          Por otra parte, cuando un proceso requiere evitar que los demás
procesos no utilicen las variables compartidas procede a notificárselo al sistema
desde un principio hasta un fin explícitamente descrito, a éste segmento del
proceso se le llama sección crítica. Por lo tanto, un sólo proceso puede estar en su
sección crítica a la vez y el sistema operativo debe garantizarlo.
En cierto sentido, la actualización de una variable compartida puede ser
considerada como una sección critica.
          La sección critica es una secuencia de instrucciones con un comienzo y
un final claramente marcados que, generalmente, delimita la actualización de
una o más variables compartidas. Cuando un proceso entra a una sección crítica,
debe completar todas las instrucciones incluidas en ella, antes de que se pueda
permitir a cualquier otro proceso entrar a la misma sección critica. Sólo el
proceso que ejecuta la sección critica tiene permitido el acceso a la variable
compartida; los restantes procesos deberían tenerlo prohibido hasta la
terminación. A esto se le suele llamar exclusión mutua, en la cual un solo proceso
excluye temporalmente a todos los demás de utilizar un recurso compartido con
el fin de asegurar la integridad del sistema
Cabe destacar, que si el recurso compartido es una variable, la exclusión
mutua asegura como máximo un proceso cada vez tenga acceso a ella durante las
actualizaciones críticas que conducen a valores temporalmente inconsistentes.
Consiguientemente, los restantes procesos sólo ven valores consistentes de las
variables compartidas. En el caso de compartir dispositivos, la necesidad de exclusión
mutua es incluso más obvia cuando se considera los problemas que puede provocar
su uso incontrolado: la salida impresa procedente de varios programas puede
aparecer irrecuperablemente entremezclada sobre un único formulario, o la válvula
de un conducto puede ser obligada a estar a la vez abierta y cerrada por dos procesos
concurrentes pero sin sincronización. Cuando estas operaciones se realizan en modo
mutuamente exclusivo. Solo un programa en cada punto tiene permitido el control
de un dispositivo reutilizable en serie.
Para definir la sección crítica y eliminar los problemas de la exclusión mutua se
 deberá tomar en cuenta lo siguiente:

Asegurar exclusión mutua entre los procesos al acceder al recurso compartido
 protegido.

No hacer suposiciones con respecto a las velocidades y prioridades relativas de
 los procesos en conflicto.

Garantizar que el aborto o terminación de cualquier proceso fuera de su
 sección crítica no afecte a la capacidad de los restantes procesos contendientes
 para acceder al recurso compartido.

 Cuando más de un proceso desee entrar a la sección crítica, conceder la
 entrada a solo uno de ellos en tiempo finito.
El modo más simple de asegurar la exclusión mutua es descartar la
concurrencia. Este método es demasiado drástico, ya que también anula todas
las mejoras del rendimiento, que posibilita la ejecución concurrente de
programas. Lo que realmente se busca es conceder temporalmente a un
proceso que necesita completar una sección crítica el acceso exclusivo a un
recurso compartido.
En muchas estrategias de exclusión mutua, cada proceso observa el
siguiente protocolo básico.

              ...negociación del protocolo;// El ganador continua
                           sección crítica;// Uso exclusivo del recurso
                  protocolo de liberación;// liberación el recurso...

         Un proceso que desea entrar a una sección critica negocia primero con
todos los restantes interesados para asegurarse que no haya ninguna otra actividad
conflictiva en progreso, y que todos los procesos relacionados estén al tanto de la
temporal e inminente no disponibilidad del recurso. Una vez alcanzando el
consenso, el proceso ganador comienza a ejecutar su sección critica de código. Al
terminar, el proceso informa al resto de los contendientes que el recurso esta
disponible y puede iniciarse otra ronda de negociaciones.
Son una herramienta fácil de implementar y asegura la exclusión mutua
en los sistemas multiprocesos. Consiste en una variable que almacena un número
entero que será utilizado para indicar si hay alguien en una sección crítica o no.
Para el control de esto hay dos funciones que permiten lograr el acceso a la sección
crítica por parte de los procesos, esto implica que ellos deben estar muy bien
demarcados en cuanto a sus secciones críticas.


         El problema es claro, cuando se decide que hay que entrar a la sección
crítica se debe ejecutar una modificación de este semáforo para indicarlo, pero
dentro de un comando del microprocesador indivisible. Este es, para que no haya
la posibilidad de suspensión del proceso justo en ese momento (que es la
posibilidad problema).
Para ellos se plantean dos funciones básicas y sencillas de utilizar:


 Wait (semáforo): que se encarga de activar el semáforo para evitar que otro
proceso entre en la sección crítica. Internamente cuenta con la premisa de que
una vez tomada la decisión de activar el semáforo se ejecutará dicha activación
en un comando indivisible para el microprocesador.


 Signal (semáforo): que se encarga de liberar el semáforo para que otro
pueda acceder a él.
Como es de esperarse pueden existir varias secciones criticas dentro de los
procesos que no necesariamente tengan que acceder a la misma información por
lo tanto no se debería considerar una exclusión mutua en esos casos.


     Por ejemplo, si una tarea va a acceder a una variable A y otra a una variable
B, no habría ningún problema en que ambos accedieran a los datos al mismo
instante (aparente). Es por eso que las funciones Wait y Signal poseen un
parámetro (semáforo) de tal forma que se puedan definir tantos semáforos como
variables o grupos de variables compartibles hayan dentro de un sistema.
La implementación de estas funciones queda así:

Wait(s):      while (!(s>0)) {};
             s - -;
Signal(s):     s++;

Por lo tanto, si un proceso quiere hacer uso de un semáforo para implementar
una
 sección crítica será:
{       ...
         Wait (variable_semáforo_1);
         Sección Crítica;
         Signal (variable_semáforo_1);
         ...
}
Un     monitor es, esencialmente, una colección de datos y de

procedimientos para su manipulación junto con una secuencia de inicialización.
Las variables de datos globales son generalmente privadas al monitor por lo que
sólo son accesibles a los procedimientos de éste. Los procedimientos del
monitor podrán ser públicos o privados.


         Un monitor puede considerarse como una estructura estática que se
activa únicamente cuando alguno de sus procedimientos públicos es llamado por
un proceso en ejecución y se dice, entonces, que el proceso en cuestión entra o
tiene acceso al monitor.
Una característica básica de los monitores es proporcionar control sobre
las operaciones realizadas y sobre los elementos compartidos con el fin de prevenir
actuaciones dañinas o sin significado. De esta forma, se limitan los tipos de
actuaciones proporcionando un conjunto de procedimientos de manipulación
fiables y bien probados. Éstos avanzan un paso en este sentido haciendo los datos
críticos accesibles indirecta y exclusivamente mediante un conjunto de
procedimientos públicos disponibles.


         Los monitores encapsulan los datos utilizados por los procesos
concurrentes y permiten su manipulación sólo por medio de operaciones
adecuadas y sincronizadas. Nunca existirá peligro de actualización inconsistente
por entrelazamiento de llamadas concurrentes ya que los procesos del monitor
siempre se ejecutarán en exclusión mutua.
Un    mensaje es una colección de información que puede ser

intercambiada entre un proceso emisor y un proceso receptor.


          Un   mensaje    puede     contener   datos,   órdenes    de    ejecución
e, incluso, código a transmitir entre dos o más procesos. Aunque, en general, el
contenido de un mensaje quedaría dividido en dos campos bien separados; Por
un lado, la cabecera que habitualmente tiene un formato fijo para cada sistema
operativo-y, por otro lado, el cuerpo del mensaje que contiene el mensaje en sí y
cuya longitud puede variar incluso dentro de un mismo SO. Las operaciones de
mensaje típicas proporcionadas por el SO son: enviar (send) y recibir (receive).
Las implementaciones del envío y recepción de mensajes pueden diferir
en una serie de detalles pero todas ellas mantienen la importancia de un
conjunto de cuestiones que son:


1) Denominación o direccionamiento
2) Copia
3) Intercambio síncrono vs intercambio asíncrono.
4) Longitud
Existe una forma de implementar la exclusión mutua utilizando
directamente las funciones de hardware. Se trata de habilitar y deshabilitar las
interrupciones de hardware, vía que es utilizada para el control de la
conmutación entre procesos. Claro, su efectividad es debida a que cuando se
deshabilita las interrupciones nadie más podrá utilizar los recursos del sistema
hasta que se vuelvan a habilitar las interrupciones. Ya los semáforos
desaparecen pero todos los recursos son considerados como un "todo" donde
mientras uno lo usa los demás quedan excluidos de tal posibilidad, aunque las
variables implicadas sean distintas.
Así existen las funciones de Hardware:

DI: para deshabilitar las interrupciones.
EI: para habilitar las interrupciones.
De esta forma el proceso queda:
...
DI
Sección Crítica;
EI
...
Aunque ciertos procesadores cuentan con otros funciones diseñadas con el
fin de satisfacer las necesidades de la exclusión mutua esta es la forma que
está presente en casi todos los microprocesadores y microcontroladores
existentes en el mercado.
Una   situación de interbloqueo tiene lugar cuando ninguno de los

procesos que compiten por los recursos del sistema o interactúan entre sí puede
avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de
evento.
          Deben darse tres condiciones para que se produzca interbloqueo


1. Que exista acceso a algún recurso en exclusión mutua.
2. Que un proceso pueda retener los recursos que le han sido asignados mientras
espera que se le asignen los que necesitan.
3. Que ningún proceso pueda ser obligado a abandonar los recursos que retenga.


Estas tres condiciones de interbloqueo son condiciones necesarias pero no
suficientes, es decir, pueden producirse tales situaciones y que el sistema no
evolucione a un interbloqueo.
LA RED, D (2001). Sistema Operativos. Universidad Nacional del Noroeste ,
      Argentina

RUIZ, P (2004). Sistema Operativos. California, USA: Commons.

Más contenido relacionado

La actualidad más candente

Ensayo Software
Ensayo SoftwareEnsayo Software
Ensayo Softwaremarialej90
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 
Diagrama de estados de proceso equipo
Diagrama de estados de proceso equipoDiagrama de estados de proceso equipo
Diagrama de estados de proceso equipoDianaledezma94
 
Arquitectura del desarrollo del software
Arquitectura del desarrollo del softwareArquitectura del desarrollo del software
Arquitectura del desarrollo del softwareJose Morales
 
Presentación1
Presentación1Presentación1
Presentación1perez0123
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutuatatyseli
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptxPablo Olvera
 
transaction-management
transaction-managementtransaction-management
transaction-managementShami Zama
 
ESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUjorgeleo22
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
Estados y Transiciones
Estados y TransicionesEstados y Transiciones
Estados y TransicionesLuis Guerrero
 

La actualidad más candente (19)

Ensayo Software
Ensayo SoftwareEnsayo Software
Ensayo Software
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Diagrama de estados de proceso equipo
Diagrama de estados de proceso equipoDiagrama de estados de proceso equipo
Diagrama de estados de proceso equipo
 
Arquitectura del desarrollo del software
Arquitectura del desarrollo del softwareArquitectura del desarrollo del software
Arquitectura del desarrollo del software
 
Grupo #4
Grupo #4Grupo #4
Grupo #4
 
Concepto de proceso
Concepto de procesoConcepto de proceso
Concepto de proceso
 
Presentación1
Presentación1Presentación1
Presentación1
 
Exclusión mutua
Exclusión mutuaExclusión mutua
Exclusión mutua
 
Proyecto de word.
Proyecto de word.Proyecto de word.
Proyecto de word.
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptx
 
transaction-management
transaction-managementtransaction-management
transaction-management
 
Act18
Act18Act18
Act18
 
RECICLAJE
RECICLAJERECICLAJE
RECICLAJE
 
Act18
Act18Act18
Act18
 
ESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPU
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Modelos de estado y transiciones
Modelos de estado y transicionesModelos de estado y transiciones
Modelos de estado y transiciones
 
Estados y Transiciones
Estados y TransicionesEstados y Transiciones
Estados y Transiciones
 

Destacado

M10 ingeniería del proyecto y diagrama flujo de proceso
M10 ingeniería del proyecto y diagrama flujo de procesoM10 ingeniería del proyecto y diagrama flujo de proceso
M10 ingeniería del proyecto y diagrama flujo de procesopaulita_rodriguez
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de FlujoROSS_ANGEL
 
05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarización05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarizacióncesar hernandez
 
DIAGRAMA FLUJO PROCESOS
DIAGRAMA FLUJO PROCESOSDIAGRAMA FLUJO PROCESOS
DIAGRAMA FLUJO PROCESOSSergio Garcia
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujoErnesto
 
Flujograma de procesos def.
Flujograma de procesos def.Flujograma de procesos def.
Flujograma de procesos def.Damián Escudero
 
Diagramas de Procesos
Diagramas de ProcesosDiagramas de Procesos
Diagramas de Procesosaaronalan
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujoIsaura Nina
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoFabio Valencia
 
Diagramas de proceso
Diagramas de procesoDiagramas de proceso
Diagramas de procesojulietas
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujotonamonjo
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 

Destacado (20)

M10 ingeniería del proyecto y diagrama flujo de proceso
M10 ingeniería del proyecto y diagrama flujo de procesoM10 ingeniería del proyecto y diagrama flujo de proceso
M10 ingeniería del proyecto y diagrama flujo de proceso
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarización05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarización
 
DIAGRAMA FLUJO PROCESOS
DIAGRAMA FLUJO PROCESOSDIAGRAMA FLUJO PROCESOS
DIAGRAMA FLUJO PROCESOS
 
Ejemplos diagramas de_flujos_
Ejemplos diagramas de_flujos_Ejemplos diagramas de_flujos_
Ejemplos diagramas de_flujos_
 
Mezcladores
MezcladoresMezcladores
Mezcladores
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Flujograma de procesos def.
Flujograma de procesos def.Flujograma de procesos def.
Flujograma de procesos def.
 
Diagramas de Procesos
Diagramas de ProcesosDiagramas de Procesos
Diagramas de Procesos
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujo
 
Diagrama de flujo para exponer
Diagrama de flujo para exponerDiagrama de flujo para exponer
Diagrama de flujo para exponer
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De Flujo
 
FLUJOGRAMA DE PROCESOS
FLUJOGRAMA DE PROCESOSFLUJOGRAMA DE PROCESOS
FLUJOGRAMA DE PROCESOS
 
Diagramas de proceso
Diagramas de procesoDiagramas de proceso
Diagramas de proceso
 
FLUJOGRAMAS
FLUJOGRAMASFLUJOGRAMAS
FLUJOGRAMAS
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Simbolos diagrama de flujo
Simbolos diagrama de flujoSimbolos diagrama de flujo
Simbolos diagrama de flujo
 

Similar a Comunicación y sicronización entre procesos

Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosKim Sorel Rush
 
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
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosLorena Ramos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegiovatovar
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEgladysmamani
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativosWpdw Rko
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesosmastermind87
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos Cristhian Rosales
 
Sistemas operativos diapositiva
Sistemas operativos diapositivaSistemas operativos diapositiva
Sistemas operativos diapositivaAndrea
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasJuan Anaya
 

Similar a Comunicación y sicronización entre procesos (20)

Diapositivas capitulo 4
Diapositivas capitulo 4Diapositivas capitulo 4
Diapositivas capitulo 4
 
Diapositivas capitulo 4
Diapositivas capitulo 4Diapositivas capitulo 4
Diapositivas capitulo 4
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
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
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativos
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemas operativos diapositiva
Sistemas operativos diapositivaSistemas operativos diapositiva
Sistemas operativos diapositiva
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrencias
 

Más de glocom15

Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computadorglocom15
 
Plataformas virtuales
Plataformas virtualesPlataformas virtuales
Plataformas virtualesglocom15
 
Bloque 0. gloria melendez
Bloque 0. gloria melendezBloque 0. gloria melendez
Bloque 0. gloria melendezglocom15
 
Tipos de s.o
Tipos de s.oTipos de s.o
Tipos de s.oglocom15
 
Clase nº2 tipos de s.o
Clase nº2  tipos de s.oClase nº2  tipos de s.o
Clase nº2 tipos de s.oglocom15
 
Evolución de los so
Evolución de los soEvolución de los so
Evolución de los soglocom15
 

Más de glocom15 (7)

Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
 
Plataformas virtuales
Plataformas virtualesPlataformas virtuales
Plataformas virtuales
 
Bloque 0. gloria melendez
Bloque 0. gloria melendezBloque 0. gloria melendez
Bloque 0. gloria melendez
 
Tipos de s.o
Tipos de s.oTipos de s.o
Tipos de s.o
 
Clase nº2 tipos de s.o
Clase nº2  tipos de s.oClase nº2  tipos de s.o
Clase nº2 tipos de s.o
 
Evolución de los so
Evolución de los soEvolución de los so
Evolución de los so
 
Hardware
HardwareHardware
Hardware
 

Último

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 

Comunicación y sicronización entre procesos

  • 1. UNIVERSIDAD NACIONAL EXPERIMENTAL “FRANCISCO DE MIRANADA “ ÁREA CIENCIA DE LA EDUCACIÓN PROGRAMA:EDUCACIÓN U.C: SISTEMAS OPERATIVOS PROFESORA: LICDA. GLORIA MELÉNDEZ
  • 2.
  • 3. La sincronización entre procesos concurrentes es esencial para preservar las relaciones de precedencia y para evitar los problemas de temporización relacionados con la concurrencia. Los procesos deben sincronizarse unos con otros cuando van a utilizar recursos compartidos, tales como estructuras de datos comunes o dispositivos físicos. Dado que el sistema operativo no conoce, ni necesita conocer, la semántica de las actividades del proceso. Los propios procesos deben encargarse de sincronizar adecuadamente sus operaciones. Ante todo un punto fundamental en las tecnologías de diseños de sistemas operativos es la concurrencia. Cuando se ejecutan varios procesos concurrentemente, en el caso real de un sistema multiprocesador aparecen cuestiones de resolución de conflictos y de cooperación.
  • 4. Los procesos concurrentes pueden interactuar de varias formas:  Los procesos que no tienen conocimientos unos de otros pueden competir por recursos tales como: el tiempo del procesador o de los dispositivos de E/S. Los procesos pueden tener conocimiento indirecto de los otros, porque comparten el acceso a unos objetos comunes, tales como: un bloque de memoria principal o un archivo. Los procesos pueden tener conocimiento directo de los otros y cooperar mediante intercambio de información. Los puntos clave son la exclusión mutua y el interbloqueo.
  • 5. La sincronización entre procesos viene dada por la necesidad de coordinar procesos concurrentes (los cuales son procesos que se encuentran activos durante un tiempo determinado), y así, optimar su presencia en los sistemas. Este tipo de administración, de la acción de los procesos, en forma explícita del sistema operativo infiere que este no necesitará conocer lo detalles de ciertas tareas que se correrán dentro de ella y será responsabilidad de los programadores que los algoritmos de sincronización se encuentren bien diseñados para que no tenga problemas y vayan a causar un error en el sistema y se guinde. Las formas de interacción explícita entre procesos pueden realizarse en varias formas dependiendo de las necesidades y el nivel de integración de las distintas tareas para lograr el trabajo requerido.
  • 6. Son una serie de protocolos que garantizan la integridad y consistencia en el uso de los recursos reutilizables en serie, por el uso de varios procesos concurrentes. Estos recursos reutilizables en serie son aquellos que solo pueden ser utilizados por un proceso a la vez y que el podría ver afectado su trabajo si dos o mas procesos concurrentes tratan de utilizarlos. El ejemplo más claro es el de la impresora que sólo puede imprimir una página a la vez y de acuerdo a nuestra forma de trabajo, una página deberá ser impresa por una sola aplicación o proceso, por lo tanto si otro proceso requiere de su uso tendrá que esperar hasta que se libere o se lo permita el otro proceso.
  • 7. Es la manera más sencilla de interacción entre procesos debido a su simplicidad de implantación. Esto no permite enviar información, pero es útil en caso de necesitar realizar tareas coordinadas sencillas. Este tipo de interacción entre procesos trata de proveer un medio más completo para la transmisión de información entre procesos, la coordinación de tareas que utilicen recursos de uso colectivo para garantizar que el trabajo de uno no afecte la integridad del recurso. Por ejemplo, los "pipes" y la memoria compartida.
  • 8. Es una forma sencilla y habitual de comunicación entre procesos cooperativos. Cuando un conjunto de procesos tienen acceso a un espacio común de direcciones, puede utilizar variables compartidas para una serie de cometidos, por ejemplo, indicadores de señalización y para acumulación de resultados colectivos. Sin embargo, la actualización sin restricciones de variables compartidas puede conducir a inconsistencias. Tales errores suelen ser dependientes de la temporización específica y del modo de entrelazarse las acciones de los procesos. Como resultado, los errores inducidos por la concurrencia pueden ser extremadamente difíciles de detectar, reproducir y depurar.
  • 9. El hecho de que un espacio de memoria pueda ser accedida por varios procesos podría traer problemas dentro de los sistemas. Por ejemplo, cuando tenemos un dato y un proceso, para modificarlo debe esperar cierta condición y lo observa, por lo que procede a tomar la decisión de modificar ese valor, si justo en ese momento ese proceso es suspendido (sin que haya logrado modificar el valor), y se ejecuta otro que modifique el valor en cuestión, cuando se vuelve a ejecutar el primer proceso y termina su modificación ese acto se estará realizando bajo condiciones distintas a las que lo motivaron a tomar la decisión y ese valor que había colocado el otro proceso se pierde.
  • 10. Sí se presenta un problema de inconsistencia de datos en el área de las variables compartidas, se debe garantizar que cuando un proceso necesite modificar un dato de la sección crítica los demás procesos no lo hagan, para eso se restringe el uso a los demás procesos y para hacer modificaciones a las variables compartidas cuando otro lo está realizando, a esto se le llama exclusión mutua. Por otra parte, cuando un proceso requiere evitar que los demás procesos no utilicen las variables compartidas procede a notificárselo al sistema desde un principio hasta un fin explícitamente descrito, a éste segmento del proceso se le llama sección crítica. Por lo tanto, un sólo proceso puede estar en su sección crítica a la vez y el sistema operativo debe garantizarlo.
  • 11. En cierto sentido, la actualización de una variable compartida puede ser considerada como una sección critica. La sección critica es una secuencia de instrucciones con un comienzo y un final claramente marcados que, generalmente, delimita la actualización de una o más variables compartidas. Cuando un proceso entra a una sección crítica, debe completar todas las instrucciones incluidas en ella, antes de que se pueda permitir a cualquier otro proceso entrar a la misma sección critica. Sólo el proceso que ejecuta la sección critica tiene permitido el acceso a la variable compartida; los restantes procesos deberían tenerlo prohibido hasta la terminación. A esto se le suele llamar exclusión mutua, en la cual un solo proceso excluye temporalmente a todos los demás de utilizar un recurso compartido con el fin de asegurar la integridad del sistema
  • 12. Cabe destacar, que si el recurso compartido es una variable, la exclusión mutua asegura como máximo un proceso cada vez tenga acceso a ella durante las actualizaciones críticas que conducen a valores temporalmente inconsistentes. Consiguientemente, los restantes procesos sólo ven valores consistentes de las variables compartidas. En el caso de compartir dispositivos, la necesidad de exclusión mutua es incluso más obvia cuando se considera los problemas que puede provocar su uso incontrolado: la salida impresa procedente de varios programas puede aparecer irrecuperablemente entremezclada sobre un único formulario, o la válvula de un conducto puede ser obligada a estar a la vez abierta y cerrada por dos procesos concurrentes pero sin sincronización. Cuando estas operaciones se realizan en modo mutuamente exclusivo. Solo un programa en cada punto tiene permitido el control de un dispositivo reutilizable en serie.
  • 13. Para definir la sección crítica y eliminar los problemas de la exclusión mutua se deberá tomar en cuenta lo siguiente: Asegurar exclusión mutua entre los procesos al acceder al recurso compartido protegido. No hacer suposiciones con respecto a las velocidades y prioridades relativas de los procesos en conflicto. Garantizar que el aborto o terminación de cualquier proceso fuera de su sección crítica no afecte a la capacidad de los restantes procesos contendientes para acceder al recurso compartido.  Cuando más de un proceso desee entrar a la sección crítica, conceder la entrada a solo uno de ellos en tiempo finito.
  • 14. El modo más simple de asegurar la exclusión mutua es descartar la concurrencia. Este método es demasiado drástico, ya que también anula todas las mejoras del rendimiento, que posibilita la ejecución concurrente de programas. Lo que realmente se busca es conceder temporalmente a un proceso que necesita completar una sección crítica el acceso exclusivo a un recurso compartido.
  • 15. En muchas estrategias de exclusión mutua, cada proceso observa el siguiente protocolo básico. ...negociación del protocolo;// El ganador continua sección crítica;// Uso exclusivo del recurso protocolo de liberación;// liberación el recurso... Un proceso que desea entrar a una sección critica negocia primero con todos los restantes interesados para asegurarse que no haya ninguna otra actividad conflictiva en progreso, y que todos los procesos relacionados estén al tanto de la temporal e inminente no disponibilidad del recurso. Una vez alcanzando el consenso, el proceso ganador comienza a ejecutar su sección critica de código. Al terminar, el proceso informa al resto de los contendientes que el recurso esta disponible y puede iniciarse otra ronda de negociaciones.
  • 16. Son una herramienta fácil de implementar y asegura la exclusión mutua en los sistemas multiprocesos. Consiste en una variable que almacena un número entero que será utilizado para indicar si hay alguien en una sección crítica o no. Para el control de esto hay dos funciones que permiten lograr el acceso a la sección crítica por parte de los procesos, esto implica que ellos deben estar muy bien demarcados en cuanto a sus secciones críticas. El problema es claro, cuando se decide que hay que entrar a la sección crítica se debe ejecutar una modificación de este semáforo para indicarlo, pero dentro de un comando del microprocesador indivisible. Este es, para que no haya la posibilidad de suspensión del proceso justo en ese momento (que es la posibilidad problema).
  • 17. Para ellos se plantean dos funciones básicas y sencillas de utilizar:  Wait (semáforo): que se encarga de activar el semáforo para evitar que otro proceso entre en la sección crítica. Internamente cuenta con la premisa de que una vez tomada la decisión de activar el semáforo se ejecutará dicha activación en un comando indivisible para el microprocesador.  Signal (semáforo): que se encarga de liberar el semáforo para que otro pueda acceder a él.
  • 18. Como es de esperarse pueden existir varias secciones criticas dentro de los procesos que no necesariamente tengan que acceder a la misma información por lo tanto no se debería considerar una exclusión mutua en esos casos. Por ejemplo, si una tarea va a acceder a una variable A y otra a una variable B, no habría ningún problema en que ambos accedieran a los datos al mismo instante (aparente). Es por eso que las funciones Wait y Signal poseen un parámetro (semáforo) de tal forma que se puedan definir tantos semáforos como variables o grupos de variables compartibles hayan dentro de un sistema.
  • 19. La implementación de estas funciones queda así: Wait(s): while (!(s>0)) {}; s - -; Signal(s): s++; Por lo tanto, si un proceso quiere hacer uso de un semáforo para implementar una sección crítica será: { ... Wait (variable_semáforo_1); Sección Crítica; Signal (variable_semáforo_1); ... }
  • 20. Un monitor es, esencialmente, una colección de datos y de procedimientos para su manipulación junto con una secuencia de inicialización. Las variables de datos globales son generalmente privadas al monitor por lo que sólo son accesibles a los procedimientos de éste. Los procedimientos del monitor podrán ser públicos o privados. Un monitor puede considerarse como una estructura estática que se activa únicamente cuando alguno de sus procedimientos públicos es llamado por un proceso en ejecución y se dice, entonces, que el proceso en cuestión entra o tiene acceso al monitor.
  • 21. Una característica básica de los monitores es proporcionar control sobre las operaciones realizadas y sobre los elementos compartidos con el fin de prevenir actuaciones dañinas o sin significado. De esta forma, se limitan los tipos de actuaciones proporcionando un conjunto de procedimientos de manipulación fiables y bien probados. Éstos avanzan un paso en este sentido haciendo los datos críticos accesibles indirecta y exclusivamente mediante un conjunto de procedimientos públicos disponibles. Los monitores encapsulan los datos utilizados por los procesos concurrentes y permiten su manipulación sólo por medio de operaciones adecuadas y sincronizadas. Nunca existirá peligro de actualización inconsistente por entrelazamiento de llamadas concurrentes ya que los procesos del monitor siempre se ejecutarán en exclusión mutua.
  • 22. Un mensaje es una colección de información que puede ser intercambiada entre un proceso emisor y un proceso receptor. Un mensaje puede contener datos, órdenes de ejecución e, incluso, código a transmitir entre dos o más procesos. Aunque, en general, el contenido de un mensaje quedaría dividido en dos campos bien separados; Por un lado, la cabecera que habitualmente tiene un formato fijo para cada sistema operativo-y, por otro lado, el cuerpo del mensaje que contiene el mensaje en sí y cuya longitud puede variar incluso dentro de un mismo SO. Las operaciones de mensaje típicas proporcionadas por el SO son: enviar (send) y recibir (receive).
  • 23. Las implementaciones del envío y recepción de mensajes pueden diferir en una serie de detalles pero todas ellas mantienen la importancia de un conjunto de cuestiones que son: 1) Denominación o direccionamiento 2) Copia 3) Intercambio síncrono vs intercambio asíncrono. 4) Longitud
  • 24. Existe una forma de implementar la exclusión mutua utilizando directamente las funciones de hardware. Se trata de habilitar y deshabilitar las interrupciones de hardware, vía que es utilizada para el control de la conmutación entre procesos. Claro, su efectividad es debida a que cuando se deshabilita las interrupciones nadie más podrá utilizar los recursos del sistema hasta que se vuelvan a habilitar las interrupciones. Ya los semáforos desaparecen pero todos los recursos son considerados como un "todo" donde mientras uno lo usa los demás quedan excluidos de tal posibilidad, aunque las variables implicadas sean distintas.
  • 25. Así existen las funciones de Hardware: DI: para deshabilitar las interrupciones. EI: para habilitar las interrupciones. De esta forma el proceso queda: ... DI Sección Crítica; EI ... Aunque ciertos procesadores cuentan con otros funciones diseñadas con el fin de satisfacer las necesidades de la exclusión mutua esta es la forma que está presente en casi todos los microprocesadores y microcontroladores existentes en el mercado.
  • 26. Una situación de interbloqueo tiene lugar cuando ninguno de los procesos que compiten por los recursos del sistema o interactúan entre sí puede avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de evento. Deben darse tres condiciones para que se produzca interbloqueo 1. Que exista acceso a algún recurso en exclusión mutua. 2. Que un proceso pueda retener los recursos que le han sido asignados mientras espera que se le asignen los que necesitan. 3. Que ningún proceso pueda ser obligado a abandonar los recursos que retenga. Estas tres condiciones de interbloqueo son condiciones necesarias pero no suficientes, es decir, pueden producirse tales situaciones y que el sistema no evolucione a un interbloqueo.
  • 27. LA RED, D (2001). Sistema Operativos. Universidad Nacional del Noroeste , Argentina RUIZ, P (2004). Sistema Operativos. California, USA: Commons.