Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Coordinación y Sincronización de Procesos.

Seccion Crítica y Bloqueos...
by

JOSE ARAUJO

on 14 July 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Coordinación y Sincronización de Procesos.

Semáforos
Concurrencia
Interactuando
Yanegid Heredia
José Araujo
Yusveira Pianeta
Coordinación
&
Sincronización de
Procesos

Dianmary Maracara
Yusveira Pianeta
Yanegid Heredia
José Araujo
Último Grupo
Sección "02AT"
Dianmary Maracara
Concurrencia
SEMÁFOROS
Gracias por su atención
Fin
Monitores
Sección Crítica
E/S y Concurrencia
• Existen tres modelos de computadoras donde se puede ejecutar procesos concurrentes
 Multiprogramación con único procesador
 Multiprocesador
 Multicomputadora
• Existen diversas razones que motivan la ejecución de procesos concurrentes en un sistema:
 Facilita la programación
 Acelera los cálculos
 Posibilita el uso interactivo
 Permite un mejor aprovechamiento de los recursos
• Tipos de procesos Concurrentes:
Independientes y cooperantes
•Tipos de Interacciones
Comparten o compiten
Comunican y sincronizan
MONITORES
Semáforos vs. Monitores

Un semáforo es un objeto que es utilizado para sincronizar el acceso a un recurso compartido, mientras que un monitor constituye la interfaz de acceso al propio recurso compartido.

Los monitores ofrecen mayor seguridad (reliability), robustez y escalabilidad; complementan al encapsulamiento de un objeto, sincronizando el acceso al mismo.

Los semáforos permiten limitar el número de procesadores que acceden concurrentemente a un recurso compartido, estableciendo un protocolo de adquisición (wait) y liberación (signal).
Los monitores fueron inventados por Hoare para un dialecto de Pascal, de ahí su sintaxis a la Pascal.

Sintaxis:

type <nombre> = monitor
<variables>
procedure entry <proc1>( <argumentos1> );
<cuerpo>
procedure entry <proc2>( <argumentos2> );
<cuerpo>
...
Begin
<inicializaciones>
end
SINTAXIS DE LOS MONITORES
CARACTERÍSTICAS
BÁSICAS
Las variables de datos locales están sólo accesibles para los procedimientos del monitor y no para procedimientos externos.

Un proceso entra en el monitor invocando a uno de sus procedimientos.

Sólo un proceso puede estar ejecutando en el monitor en un instante dado; cualquier otro proceso que haya invocado al monitor quedará suspendido mientras espera que el monitor esté disponible.
MONITORES
CSIGNAL() es encontrado en una condición variable, un proceso esperando en la cola de
condiciones variables (el primero si es FIFO) es activado (puesto en la cola de listos). Si no
hay procesos esperando, el operador CSIGNAL() es ignorado.
La variable CWAIT() es encontrada, el proceso ejecutando el CWAIT() está siempre bloqueado
Los operadores sincronización del monitor son llamados de CWAIT() y CSIGNAL() de la misma manera que en programas basados en semáforos. Sin embargo variables de condición son usadas en lugar de semáforos y su comportamiento es diferente. definen simplemente la cola de espera y no tienen valores numéricos como los semáforos.
MONITORES
Son estructuras de un lenguaje de programación
que ofrecen una funcionalidad equivalente a la de
los semáforos y que son más fáciles de controlar.
Es un módulo de software que consta de
uno o más procedimientos, una secuencia de
inicialización y unos datos locales.
CARACTERÍSTICAS
BÁSICAS
SECCIÓN CRÍTICA
Región Critica
El problema de la sección crítica
Solución a la sección crítica
Soluciones a la exclusión mutua
Sólo se permiten tres operaciones sobre un semáforo
• inicializa (S: SemaforoBinario; v: integer)
Poner el valor del semáforo S al valor de v (0 o 1)
• espera (S)
if S = 1 then S := 0
else suspender la tarea que hace la llamada y ponerla
en la cola de tareas
• señal (S)
if la cola de tareas está vacía then S := 1
else reanudar la primera tarea de la cola de tareas
En este caso las operaciones espera y señal no se utilizan
dentro de un mismo proceso sino que se dan en dos procesos
separados; el que ejecuta la operación de espera queda bloqueado
hasta que el otro proceso ejecuta la operación de señal.
Ejemplo:
Exclusión mutua: Si un proceso está ejecutando código de la sección crítica, ningún otro proceso lo podrá hacer.
Software. Los procesos se coordinar entre ellos para cumplir la exclusión mutua sin ayuda alguna, utilizando el Algoritmo de
Dekker
o el Algoritmo de
Peterson.


Hardware. Utilizando código maquina, se tiene la ventaja de reducir la sobrecarga de procesos.

También se puede dar soporte en el sistema operativo, entre estos métodos se encuentran los semáforos, monitores.
Full transcript