Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
785 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [UNIX] contourner la taille maximum d'un pipe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[UNIX] contourner la taille maximum d'un pipe

n°1985115
malka1986
Posté le 17-04-2010 à 18:05:48  profilanswer
 

Bonjour,  
Dans le cadre d'un projet scolaire, je développe un shell UNIX, et je suis confronté à un léger soucis : la taille des pipe est apparement limitée par une macro (nommée PIPE_SIZE) à la compilation du kernel. En me renseignant, je suis tombé sur la commande mkfifo.
Voulant m'inspirer de l'existant, j'ai commencé à regarder le code de zsh, et il semblerait qu'il n'utilise pas mkfifo et se serve uniquement de pipe. Comment arriver à ce résultat avec mon propre shell ?  
Cordialement,
Malka.

mood
Publicité
Posté le 17-04-2010 à 18:05:48  profilanswer
 

n°1985118
Sve@r
Posté le 17-04-2010 à 18:19:46  profilanswer
 

Salut
Un pipe fichier (mkfifo) n'est nécessaire que si les processus qui veulent communiquer sont indépendants l'un de l'autre.
Si les processus sont liés père/fils, ils peuvent alors utiliser un pipe mémoire (pipe) beaucoup plus performant puisqu'il n'y a aucun accès disque.
 
Maintenant oui, les pipes sont limités en taille. Et alors ? Où est-ce que cela gène ? Le processus écrivain, au lieu d'écrire un gros truc, passera par une boucle d'écriture pour écrire plein de petits trucs. Et le processus lecteur utilisera une boucle de lecture et pis voilà. Quand le pipe sera plein, le processus écrivain sera alors automatiquement placé en attente jusqu'à ce que le processus lecteur ait consommé les datas et ainsi vidé le pipe.


Message édité par Sve@r le 17-04-2010 à 18:20:22

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [UNIX] contourner la taille maximum d'un pipe

 

Sujets relatifs
changer la taille du champ d'une tableConfigurer Mysql sous Unix
[SHELL/UNIX] boucleTaille header variable.
Régler la taille de la longueur du texteGridBagLayout : La taille d'un composant prend tout le vide
Comment afficher une chaine avec une taille de police plus grandeArgument -- dans un shell UNIX
entier a valeur maximum. (RESOLU)connaitre la taille d'un fichier en C
Plus de sujets relatifs à : [UNIX] contourner la taille maximum d'un pipe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR