Descriptor de fișier

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 10 aprilie 2021; verificările necesită 2 modificări .

Descriptorul de fișier  este un număr întreg nenegativ. Când este creat un nou flux I/O, nucleul revine la procesul care a creat fluxul I/O descriptorul său de fișier.

Toate fluxurile I/O (care pot fi asociate cu fișiere, precum și directoare, socket -uri și FIFO ) pot fi accesate prin așa-numiții descriptori de fișiere.

În mod implicit , shell-urile Unix asociază descriptorul de fișier 0 cu intrarea standard a procesului (tastatură), descriptorul de fișier 1 cu ieșirea standard a procesului (terminal) și descriptorul de fișier 2 cu fluxul de diagnosticare (unde sunt de obicei scrise mesajele de eroare). Această convenție este respectată de multe shell-uri Unix și de multe aplicații – și nu face în niciun caz parte din nucleu.

Standardul POSIX.1 a înlocuit „numerele magice” 0, 1, 2 cu constantele simbolice STDIN_FILENO, STDOUT_FILENO și, respectiv, STDERR_FILENO.

Descriptorii fișierelor pot lua valori de la 0 la OPEN_MAX. Conform POSIX.1, valoarea lui OPEN_MAX este 19. În sistemele de operare reale, această valoare poate fi mai mare.

Pe sistemul de operare Windows , pentru a obține un handle de fișier, acesta trebuie deschis cu funcția CreateFile. Descriptorul rezultat (sau mânerul) poate fi apoi folosit pentru a lucra cu acel fișier. Dacă este un driver, atunci mânerul va fi folosit în funcția DeviceIoControl.

Vezi și