Programmation système + segmentation

Fermé
isley Messages postés 20 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 14 novembre 2009 - 18 avril 2009 à 23:22
 loupius - 18 avril 2009 à 23:32
Bonjour,
Je vous écris, car j'ai un problème de programmation système concernant la segmentation.
Voici l'énoncé :

"Un processus (père) P0 lit dans un fichier un texte de plusieurs dizaine de caractères. Il le segmente en paquets de 8 caractères et numérote chaque paquet.
Au fur et à mesure que les paquets sont constitués, le père transmet le paquet à l'un de ses 3 fils : P1, P2, P3 choisi au hasard.
Chacun de ses fils traite un paquet reçu pendant une durée aléatoire de 1 à 4 secondes, puis le transmet à P4."

P4 réordonne les paquets reçus et affiche le message lorsque tous les paquets ont été reçus.

On cherche à réaliser cette application en C.
J'imagine que l'on utilisera évidemment l'appel système fork() afin de créer les différents fils du processus père P0.
Cependant, j'ai du mal à voir comment on fait ou devra faire pour ce qui est de la segmentation.

Evidemment, je ne vous demande pas du tout de me donner une réponse toute cuite, mais d'essayer de me donner quelques pistes...

Merci d'avance
A voir également:

1 réponse

Comparativement au reste du programme, je ne vois pas du tout la difficulté de la segmentation; il suffit de lire la chaîne, d'envoyer les 8 premiers caractères vers un fils, les 8 suivants vers un autre, et ainsi de suite jusqu'à la fin de la chaîne.
Il suffit de compter le nbre de paquet émis et le nbre de paquets reçus; on peut aussi comptabiliser par différence (incrémentation et décrémentation).
Où est le problème ?
0