Dzisiaj jest 11 stycznia 2025 r.
Chcę dodać własny artykuł

Deskryptor pliku

Deskryptor pliku

Deskryptor pliku to identyfikator pliku używany przez system operacyjny, który umożliwia wielokrotne wykorzystanie w operacjach wejścia/wyjścia po otwarciu pliku. Jest on zwracany przez funkcje systemowe z rodziny open, w przeciwieństwie do funkcji fopen, które zwracają uchwyt pliku – strukturę danych z dodatkowymi informacjami o pliku.

Termin deskryptor pliku jest powszechnie stosowany w systemach zgodnych z normą POSIX, natomiast w systemach Microsoft Windows używa się określenia „uchwyt pliku” (ang. file handle).

Rodzaje deskryptorów

W standardzie POSIX deskryptor pliku jest reprezentowany jako liczba całkowita typu int. Po uruchomieniu każdy proces ma domyślnie otwarte trzy standardowe deskryptory plików:

  • stdin (standardowe wejście)
  • stdout (standardowe wyjście)
  • stderr (standardowe wyjście błędów)

Deskryptor pliku działa jako indeks w tablicy deskryptorów plików, która jest odrębna dla każdego procesu. Aplikacja użytkownika, wykonując operacje plikowe, przekazuje do jądra odpowiedni indeks, a jądro realizuje operacje związane z plikiem w imieniu aplikacji. Aplikacja nie ma bezpośredniego dostępu do tablicy deskryptorów plików; zmiany są dokonywane przez system operacyjny w zależności od realizowanej operacji.

Zastosowanie deskryptora pliku

W systemach Unix deskryptor pliku może odnosić się do różnych typów zasobów, takich jak:

  • plik
  • katalog
  • urządzenie blokowe
  • urządzenie znakowe
  • gniazdo
  • kolejka FIFO
  • nienazwany strumień
  • dowiązanie symboliczne

Deskryptory plików są kluczowym elementem w zarządzaniu operacjami plikowymi w systemach operacyjnych, umożliwiając efektywne i zorganizowane zarządzanie różnorodnymi zasobami.