Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de compréhension avec les sémaphores...

Anonyme
    15 novembre 2017 à 17:58:08

    Bonjour,

    Je dois réaliser un tp sur les sémaphores et les segments de mémoire partagées, mais j'ai un peu de mal avec la première notion.

    Pour faire court, on nous demande de créer 3 programmes: 

    Le premier directeur, qui avec l'argument créer capacité file, créera le musée avec les différents objets IPC system avec la capacité maximale donnée en argument et le nombre de visiteurs maximum dans la file maximum donnée par le dernier argument.

    Les arguments ouvrir et fermer ouvriront ou fermeront le musée.

    L'argument supprimer supprimera le musée et les objets IPC System 5.

    Ensuite, le programme controleur, appelé sans argument, fera en sorte que la capacité actuelle du musée ne dépasse pas la capacité maximale.

    Enfin, le programme visiteur simule l'arrivée d'un visiteur, avec en arguments le temps qu'il y reste. Il est appelé autant de fois qu'il y a de visiteurs. Un visiteur se termine si la file d'attente excède la limite fixée lors de le création, sinon, il demande l'autorisation d'entrer au musée.

    On nous demande ici d'utiliser uniquement les objets IPC system 5 que sont les segments de mémoire partagés et sémaphores.

    On aura donc nos sémaphores comme unique mécanisme de synchronisation..

    J'ai donc créer mes 3 programmes, avec un segment de mémoire partagée pour les différentes informations (capacité et file maximum)

    Par contre, je n'arrive pas trop à savoir comment utiliser les sémaphores.

    Dois-je créer un sémaphore binaire déjà pour le cas du musée ouvert ou fermer?

    Aussi, je ne vois pas trop comment implémenter le tout dans le cas ou nous devons partager les informations entre 3 programmes et du coup comment implémenter les sémaphores de la sorte...

    Merci d'avance 

    -
    Edité par Anonyme 15 novembre 2017 à 19:42:52

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 novembre 2017 à 13:56:12

      Wow, j'ai vraiment beaucoup de mal à comprendre ce que tu essaye de nous expliquer, BaaLa.

      Pourrais-tu ré-expliquer mais en prenant soin d'être précis ?

      Par exemple :

      Pour faire court, on nous demande de créer 3 programmes: 

      Le premier directeur, qui avec l'argument créer capacité file, créera le musée avec les différents objets IPC system avec la capacité maximale donnée en argument et le nombre de visiteurs maximum dans la file maximum donnée par le dernier argument.


      "Le premier directeur" c'est une phrase qui veut vraiment dire quelque chose en français.
      "Le premier directeur de l'école avait 36 ans" par exemple.

      Du coup, dans ta phrase, je dois imaginer que "directeur" c'est le nom du programme.
      Idem pour "... , qui avec l'argument créer capacité file, ...".
      C'est pas français, c'est incompréhensible. J'imagine que le programme "directeur" peut prendre un argument "créer capacité file" ... et encore, non, ca veut rien dire.

      Ensuite, pour répondre un peu au pif : Tu peux très bien utiliser un sémaphore à 2 jeton.
      A chaque fois que quelqu'un veut lire une donnée, il prends un jeton.
      A chaque fois que quelqu'un veut écrire une donnée, il prends tout les jetons.
      Cependant, il faut faire attention aux deadlock.

      Pour ma part, sans réflechir, j'utiliserais un sémaphore binaire, mais bon, j'imagine que si l'énoncé est si alambiqué, c'est qu'il y a une raison.

      • Partager sur Facebook
      • Partager sur Twitter
        24 novembre 2017 à 15:46:05

        L'énoncé n'est pas alambiqué, il est écrit en bon français. Il est juste mal retranscrit ici...
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          24 novembre 2017 à 16:06:48

          Probablement.

          Il semblerait que vous ayez l'énoncé original, est-il possible de l'avoir ?
          • Partager sur Facebook
          • Partager sur Twitter

          Problème de compréhension avec les sémaphores...

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown