Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema de sincronización

Estas en el tema de Problema de sincronización en el foro de C/C++ en Foros del Web. Buenas, tengo una pregunta de sincronización entre procesos: existen 3 tipos de procesos que actúan sobre un archivo común: a) procesos de consulta que pueden ...
  #1 (permalink)  
Antiguo 16/10/2010, 09:29
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 meses
Puntos: 0
Problema de sincronización

Buenas, tengo una pregunta de sincronización entre procesos:

existen 3 tipos de procesos que actúan sobre un archivo común:

a) procesos de consulta que pueden acceder simultáneamente al recurso (siempre que no haya otro tipo de proceso trabajando sobre él.

b) procesos que ejecutan transacciones, requieren acceso exclusivo y SIEMPRE deben estar inmediatamente seguidos de un proceso c)

c) procesos que ejecutan operaciones de balanceo. También requieren acceso exclusivo.

Los procesos se ejecutan de forma aleatoria.

Un proceso b debe ser seguido de un c SIEMPRE, pero un proceso c puede ejecutarse sin necesidad de un proceso b.

Recapitulación:

Parece ser un típico problema de lectores - escritores con prioridad de los primeros, lo que me desconcierta es como sincronizar que siempre se ejecute un proceso c luego de un b siendo ambos escritores y siendo que c debería ejecutarse igual si logra el bloqueo antes que un proceso b.

Lo estoy haciendo en C en linux pero realmente lo único que necesito es entender el "algoritmo" necesario. Pseudocódigo me basta.

No puedo usar sockets, solo semáforos binarios.

Como segundo punto necesito hacer lo mismo pero solo con colas de mensajes

Agradezco cualquier comentario.

Saludos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.