SHPORA.net :: PDA

Login:
đćăèńòđàöèÿ

Main
FAQ

ăóìàíèòàđíûć íàóêè
ćńòćńòâćííûć íàóêè
ìàòćìàòèśćńêèć íàóêè
òćőíèśćńêèć íàóêè
Search:
Title: | Body:

a.Apel.sis.pipe,alg

Sintaxa pentru crearea unui pipe este:
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.