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 :

Programmer un anneau de processus


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Par défaut Programmer un anneau de processus
    Bonjour,
    je suis debutant en C et j'ai un exercice que je n'arrive pas pouvoir traiter.
    priere de bien vouloir m'aider: je n'ai pas compris le sujet afin de le traiter


    EXO:
    Ecrire un programme, recevant un parametre representant un entier n, et permettant de construire << un anneau>> de n processus, communiquant par tube afin que chaque processus pi execute le code contenu dans le fichier executable_i.

    Selon le schema: les processus sont P1..P2..P3...P4...P5...Pn...P1

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 483
    Par défaut
    Bonjour et bienvenue,

    Il ne s'agit pas d'une dénomination standard dans ce contexte précis mais, apparemment, il s'agit de créer n processus communiquant chacun avec le suivant par l'intermédiaire d'un tube et en faisant en sorte que le dernier processus communique avec le premier.

    Il semblerait que ce soit pour simuler le comportement du shell lorsque tu utilises le pipe « | » pour chaîner des commandes. Les entrées et sorties standard des commandes sont donc chaînées entre elles, mais la tête de la chaîne reçoit ses informations du shell et la dernière les renvoie sur ce dernier, même si, en principe, elle le fait via un périphérique spécial correspondant à la console qui, elle, est revendiquée par le shell.

    Quoi qu'il en soit, si c'est bien ce à quoi je pense, la meilleure manière de faire dans ta situation consiste à créer n-1 processus depuis le programme principal et de créer les tubes au même moment. Tu passes ensuite les bons descripteurs à chaque processus fils. Et éventuellement, tu remappes ces descripteurs sur les entrées et sorties standard, si c'est ce que veut ton professeur.

    Voir :

    fork() ;
    pipe() ;
    dup2() ;
    execl().

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/11/2008, 13h23
  2. programmer en C les processus paralléles sous linux
    Par sabrina6 dans le forum Administration système
    Réponses: 1
    Dernier message: 31/10/2008, 22h56
  3. Réponses: 4
    Dernier message: 30/08/2005, 12h59
  4. [DOS] tuer un processus / terminer un programme
    Par guns17 dans le forum Scripts/Batch
    Réponses: 13
    Dernier message: 27/04/2005, 15h31
  5. Réponses: 18
    Dernier message: 16/03/2005, 17h22

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