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

Embarqué Discussion :

Synchronisation avec Sémaphore


Sujet :

Embarqué

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 84
    Points : 38
    Points
    38
    Par défaut Synchronisation avec Sémaphore
    Bonjour,
    Voila j'ai deux taches A1 et A2 qui pilotent deux appareils qui utilisent la même ressources. Est ce que quelqu'un pourra m'aider à écrire un simple code C qui synchronise entre A1 et A2 de manière à garantir que la ressource n'est utilisé que par une seule tache à la fois en utilisant le sémaphore (fonction P et V).
    Je vous remercie.
    Cordialement.

  2. #2
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    Bonjour,

    Quelques éléments de réponse car en cherchant un minimum tu trouveras un nombre incalculable d'exemple sur internet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /* Tache A */
    lock(mutex)
    // accès à la ressource partagée
    unlock(mutex)
    
    * Tache B */
    lock(mutex)
    // accès à la ressource partagée
    unlock(mutex)
    Ce code n'est pas compilable, il est juste là pour te donner des indices.

    Regarde du côté de pthread et des pages man associées. Cherche également la différence entre un mutex et un sémaphore pour voir quelle entité utiliser dans les prochains cas que tu rencontreras.

    Cdlt, dM
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    Bonjour,
    Je vous remercie pour votre réponse. Par exemple si tache B est en cours d’exécution et que Tache A est plus prioritaire et cherche à prendre la ressource. Dans ce que la tache B doit tout d'abord finir son traitement c'est ça?
    Cdlt

  4. #4
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    Oui, c'est un problème connu dans l'ordonnancement de tâches

    Pour ça, je te conseille de lire des sujets traitant de l'ordonnancement (scheduling) pour connaitre les façons de gérer ces cas de figure.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

Discussions similaires

  1. Synchronisation avec sémaphore.
    Par Xanh83 dans le forum POSIX
    Réponses: 3
    Dernier message: 18/07/2008, 11h00
  2. Synchronisation Avec LDAP
    Par Patrick31 dans le forum Access
    Réponses: 1
    Dernier message: 24/10/2006, 18h04
  3. [SQL2K] : Synchronisation avec d'autres bases de données
    Par zalalus dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/07/2006, 17h07
  4. Thread Synchronisation avec structure FIFO ??
    Par vincedom dans le forum MFC
    Réponses: 5
    Dernier message: 30/03/2006, 06h00
  5. [VB.NET] DataGridView et synchronisation avec une BD
    Par tidan dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/02/2006, 11h12

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