IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

"partager" une variable entre processus


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut "partager" une variable entre processus
    Bonjour à tous,

    je suis bloqué pour un projet de système d'exploitation car je ne comprend pas bien comment "partager" une variable entre plusieurs processus.

    J'ai du faire des messages queue et de la mémoire partagée et mon programme tourne mais maintenant je dois m'attaquer aux sémaphores...

    J'ai un serveur, un client1 et un client2.

    Je dois faire une gestion de la concurence entre les (on doit pouvoir en lancer plusieurs) clients2 et le serveur pour la mémoire partagée. Donc grâce à l'algorithme lecteurs-rédacteurs avec les sémaphores que voici:
    http://s2.noelshack.com/upload/15608329850916_sema.jpg
    il m'est possible de faire cela mais je ne comprend pas trop comment "partager" la variable int rc entre les lecteurs (client2)

    Je suis désolé si ma question parait stupide mais je ne vois vraiment pas comment faire...mis à part avec des message queue ou la mémoire partagée mais cela n'est pas très pratique et je suppose qu'il doit y avoir un autre moyen.

    Un tout grand merci pour votre aide

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    2 processus ne partagent pas leur espace mémoire, il faut donc passer par un moyen externe (IPC = Inter Process Communication) pour communiquer.
    Parmi les IPC, on trouve les mémoires partagées, les sockets, les sémaphores, les queues de messages, les pipes, les events, ....

    2 thread partagent leur espace mémoire.

    Pour partager une variable entre 2 processus (et je dis bien processus et pas thread), il faut passer par un moyen IPC.

    Une mémoire partagée par exemple fait très bien l'affaire si elle est protégée par un sémaphore.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Mettre une variable entre quotes
    Par laurentibus dans le forum PL/SQL
    Réponses: 7
    Dernier message: 12/12/2008, 17h12
  2. partage d'une variable entre plusieurs threads
    Par baedal dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 27/02/2008, 20h33
  3. Partage d'une variable entre les processus fils
    Par Mehdi Feki dans le forum Linux
    Réponses: 7
    Dernier message: 09/01/2005, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo