a.Apel.sis.pipe,alg
pipe (fdptr) ; unde fdptr este un pointer cгtre un ?ir de doi оntregi ce va conЮine descriptorii de fi?ier pentru citirea ?i scriere pipe-ului. Deoarece nucleul implementeazг pipe-urile оn sistemul de fi?iere, acestea neexistвnd оnaintea utilizгrii lor, nucleul va asigna un inod ?i va aloca doi descriptori оn UFDT (un descriptor pentru citirea din pipe ?i altul pentru scrierea оn pipe) ?i intrгrile corespunzгtoare оn GFT. Utilizarea GFT face ca interfaЮa apelurilor sistem de scriere, citire a pipe-urilor sг fie aceea?i cu cea pentru fi?ierele regulate. Astfel, procesele nu trebuie sг ?tie dacг citesc/scriu un pipe sau un fi?ier regulat.
--algoritm pipe
^intrare: nici una
^ie?iri:^ descriptorul pentru citire
^ descriptorul pentru scriere
{
asigneazг un nou inod din dispozitivul pentru pipe (algoritmul ialloc);
^alocг 2 intrгri оn GFT (una pentru citire, una pentru scriere, care vor pointa cгtre inodul anterior asignat);
^alocг 2 descriptori de fi?ier (unul pentru scriere, unul pentru citire) ?i iniЮializeazг pointerii cгtre intrгrile corespunzгtoare din GFT;
^valoarea contorului de referinЮг corespunzгtor inodului este stabilitг 2 ;
} .
Algoritmul pentru crearea pipe-urilor obi?nuite. Folosind algoritmul ialloc, nucleul asigneazг un inod pentru un pipe dintr-un sistem de fi?iere folosit ca dispozitiv pipe (pipe device). Un dispozitiv pipe e un sistem de fi?iere din care nucleul alocг inoduri ?i blocuri de date pentru pipe-uri. Specificarea dispozitivului pipe se face de cгtre administratori la configurarea sistemului, ?i poate fi identic cu un alt sistem de fi?iere. Atunci cвnd un pipe este activ, nucleul nu poate reasigna inodul ?i blocurile sale de date unui alt fi?ier.