Deskryptor pliku
Deskryptor pliku – identyfikator pliku wykorzystywany przez system operacyjny. Po wykonaniu operacji otwarcia pliku, deskryptor pliku może być wykorzystywany wielokrotnie przez wywołanie systemowe w operacjach wejścia/wyjścia. Deskryptor pliku jest zwracany przez funkcje systemowe z rodziny open, w odróżnieniu od funkcji fopen, które zwracają uchwyt pliku. Uchwyt pliku jest strukturą danych zawierającą dodatkowe informacje na temat otwartego pliku.
Określenie deskryptor pliku jest używane głównie w systemach operacyjnych zgodnych z normą POSIX. W terminologii Microsoft Windows używane jest określenie "uchwyt pliku" (ang. file handle).
Zgodnie z POSIX deskryptor pliku to liczba całkowita, czyli wartość typu int z języka C. Domyślnie każdy proces po uruchomieniu ma otwarte 3 standardowe deskryptory plików:
Wartość deskryptora | Nazwa | Nazwa uchwytu |
---|---|---|
0 | Standardowe wejście (stdin) | STDIN |
1 | Standardowe wyjście (stdout) | STDOUT |
2 | Standardowe wyjście diagnostyczne (stderr) | STDERR |
Ogólnie, deskryptor pliku to Indeks do przechowywanej przez jądro struktury danych zawierającej informacje o wszystkich otwartych plikach. W standardzie POSIX ta struktura danych jest nazwana tablicą deskryptorów plików i jest odrębna dla każdego procesu. Aplikacja użytkownika wykonując operacje plikowe przekazuje do jądra indeks, a jądro zajmuje się w imieniu aplikacji operacjami związanymi z obsługą pliku. Aplikacja nie może bezpośrednio czytać z i pisać do tablicy deskryptorów plików, zmiany w niej są dokonywane przez system w zależności od wykonywanej operacji na pliku.
W systemach Unix deskryptor pliku może odnosić się do pliku, katalogu, urządzenia blokowego lub urządzenia znakowego, gniazda, kolejki FIFO, nienazwanego strumienia lub dowiązania symbolicznego.
Zobacz też
- deskryptor segmentu – identyfikator segmentu pamięci operacyjnej