Code source svp
Fermé
Utilisateur anonyme
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, voila j'ai un projet de linux et j'ai rien compris d'ou debuter d'ou finir voila ce projet :
Une manière de déterminer les nombres premiers dans un intervalle est de découper l'espace de recherche en plusieurs sous-intervalles et d'affecter la recherche dans chaque intervalle à un processus créé par le père. Ainsi si on découpe l'intervalle [1, N] en p sous-intervalles, le processus père lance p fils et le fils k recherche l'intervalle [kN/p + 1, (k + 1)N/p], k = 0,...,p - 1. Cette technique permet, si on dispose d'une machine équipée de p processeurs, de paralléliser la recherche (et d'essayer de retourner le résultat p fois plus vite). Elle a cependant l'inconvénient d'affecter des espaces de recherche dont les temps d'exploration sont inégaux. Ainsi le processus 0 terminera la recherche sur [1, N/p] bien avant le processus p - 1. Il (et donc un des processeurs de la machine) sera donc oisif jusqu'à la fin du programme. La charge de travail entre les processus (et donc les processeurs) est inégalement repartie.
Une solution (celle que vous devez programmer) pour repartir la charge de travail, consiste a utiliser un « pool » de p processus travailleurs à qui un processus maître affecte successivement des travaux de recherche de nombres premiers dans de petits intervalles (taille T << N/p). Quand un travailleur a fini sa recherche, le maître lui affecte la recherche dans un intervalle encore inexploré.
Pour votre implantation :
le maître est le processus père;
les p travailleurs sont des fils « forkés » par le père
pour dialoguer avec les fils, le père utilise un pipe différent pour chaque fils
pour dialoguer avec le père, les fils utilisent un pipe commun
le dialogue est le suivant :
le père passe à un fils les bornes de l'intervalle de recherche par le pipe associé au fils
le père passe deux entiers de valeur 0 pour indiquer au fils que ces travaux sont terminés et qu'il peut se terminer
le fils renvoie au père les nombres premiers trouvés et 0 pour indiquer qu'il a terminé l'exploration de l'intervalle
pour s'identifier auprès du père, un fils précède chaque nombre envoyé par son numéro
Une manière de déterminer les nombres premiers dans un intervalle est de découper l'espace de recherche en plusieurs sous-intervalles et d'affecter la recherche dans chaque intervalle à un processus créé par le père. Ainsi si on découpe l'intervalle [1, N] en p sous-intervalles, le processus père lance p fils et le fils k recherche l'intervalle [kN/p + 1, (k + 1)N/p], k = 0,...,p - 1. Cette technique permet, si on dispose d'une machine équipée de p processeurs, de paralléliser la recherche (et d'essayer de retourner le résultat p fois plus vite). Elle a cependant l'inconvénient d'affecter des espaces de recherche dont les temps d'exploration sont inégaux. Ainsi le processus 0 terminera la recherche sur [1, N/p] bien avant le processus p - 1. Il (et donc un des processeurs de la machine) sera donc oisif jusqu'à la fin du programme. La charge de travail entre les processus (et donc les processeurs) est inégalement repartie.
Une solution (celle que vous devez programmer) pour repartir la charge de travail, consiste a utiliser un « pool » de p processus travailleurs à qui un processus maître affecte successivement des travaux de recherche de nombres premiers dans de petits intervalles (taille T << N/p). Quand un travailleur a fini sa recherche, le maître lui affecte la recherche dans un intervalle encore inexploré.
Pour votre implantation :
le maître est le processus père;
les p travailleurs sont des fils « forkés » par le père
pour dialoguer avec les fils, le père utilise un pipe différent pour chaque fils
pour dialoguer avec le père, les fils utilisent un pipe commun
le dialogue est le suivant :
le père passe à un fils les bornes de l'intervalle de recherche par le pipe associé au fils
le père passe deux entiers de valeur 0 pour indiquer au fils que ces travaux sont terminés et qu'il peut se terminer
le fils renvoie au père les nombres premiers trouvés et 0 pour indiquer qu'il a terminé l'exploration de l'intervalle
pour s'identifier auprès du père, un fils précède chaque nombre envoyé par son numéro
A voir également:
- Code source svp
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
1 réponse
Bonjour,
Je t'invite par commencer à lire ceci :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Je t'invite par commencer à lire ceci :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/