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

POSIX C Discussion :

Probleme de C en processus


Sujet :

POSIX C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut Probleme de C en processus
    Bonjour,
    je dois realiser un code avec des processus mais je ne me debrouille pas tres bien.
    Je mets le sujet a tout hasard si qqn peut m aider merci d avance....


    I
    ntroduction
    Once upon a time, there were two little birds living in the
    forest of “Brocéliande”. This forest is also well-known as
    Merlin’s forest. Merlin the Magician enjoyed spending time
    in the forest and walking around the "Grand Etang". This
    lake concealed (hid) the crystal palace that he had built for
    Viviane, the Lady of the Lake. But Viviane could not
    escape from the crystal palace and she decided to take
    revenge on Merlin. She cast a spell on the two little birds
    to make them sing all the time, anyhow and so loudly that
    Merlin lost all the pleasure he used to take in strolling
    (walking) in the forest.
    Brocéliande: the Golden Tree
    Please help him!
    Assignment
    You can help Merlin by means of a programme that simulates birds’ behaviours as described
    below:
    1. The first bird must sing: “C D E”1 one time.
    2. Then the second one must sing: “F G B”2 two times.
    3. And they must repeat their songs continuously: C D E F G B F G B C D E F G B F G
    B C D E F G B F G B C D E F G B F G B and so on …
    I
    n your report you will explain your reasoning and your design. Don’t forget to describe your
    tests if available.
    By the end of the examination you are required to upload your report, source code, and if
    available makefile, on the Intranet (only one archive file: zip or rar format) under the following
    heading:
    N4 -> Informatique -> Système -> TP Evalué Système 2006-2007
    Guidelines
    - Use the function printf instead of making your computer sing a noisy song!
    - Your programme must implement two processes, one for each bird.
    - May be you will need to use the following signals: SIGUSR1 and SIGUSR2.
    - Assuming both birds have the same behaviour (they are twins), one function should be
    enough to implement THIS behaviour by means of parameters!
    - You are allowed to write your report in French! ☺
    Good luck!
    1 Ndtr : do ré mi
    2 Ndtr : fa sol si

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Bizarre...
    Les signaux ne peuvent être envoyés qu'avec le numéro de processus, et ainsi chaque processus doit connaître le numéro de l'autre. Je ne pense pas que ce soit possible sans une autre méthode de communication que les signaux (fichier, tube)...
    Ou bien, envoyer le signal à tous les procesus de l'utilisateur (kill(-1, SIGUSR1);) mais ça risque d'avoir des effets de bord...

    Sinon, l'algorithme est assez simple, dans un gestionnaire de signal:
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PROCEDURE GestionnaireSignal1
    	JOUER Do
    	JOUER Ré
    	JOUER Mi
    	InstallerGestionnaireSignal SIGUSR1, GestionnaireSignal1
    	EnvoyerSignal AutreProcess, SIGUSR2
    
    PROCEDURE GestionnaireSignal2
    	deux FOIS:
    		JOUER Fa
    		JOUER Sol
    		JOUER Si
    	InstallerGestionnaireSignal SIGUSR2, GestionnaireSignal2
    	EnvoyerSignal AutreProcess, SIGUSR1

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut mERCI
    En realité, le sujet a été posé tel quel et je dois suivre les instructions!!!lol

    mais en tout cas merci beaucoup je prends bonne note de votre reponse.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Dans ce cas, tu devras utiliser au moins un moyen de communiquer.
    Par exemple:
    • Lancer un processus, noter son numéro (ou le mettre dans un fichier). Le premier processus ATTEND le premier signal.
    • Lancer le second processus avec en paramètre le PID du premier (ou le prendre dans le fichier dit précédemment). Il enregistre son propre PID sans un autre fichier et envoie le signal au premier processus.
    • Le premier processus reçoit le signal, lit le PID du second et les gestions d'événement plus haut mentionnées peuvent commencer.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut ok
    Merci encore
    je pense que c est la bonne solution et c est ce que j avais commencé a faire
    Le tout est de le faire bien...

Discussions similaires

  1. [Cache] [C3P0][MSSQL2008] Probleme de blocage de processus
    Par Allensan dans le forum Hibernate
    Réponses: 1
    Dernier message: 12/06/2012, 05h45
  2. Réponses: 2
    Dernier message: 29/03/2007, 17h43
  3. probleme pour supprimer un processus
    Par warubi dans le forum Windows
    Réponses: 4
    Dernier message: 19/03/2007, 09h12
  4. Problème dans execution de processus
    Par Edta dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 11/11/2006, 21h44
  5. probleme de duplication de processus
    Par chachil dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/11/2005, 14h12

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