Inhoudsopgave:
Definitie - Wat betekent File Descriptor (FD)?
Voor de meeste besturingssystemen is een file descriptor (FD) een klein niet-negatief geheel getal dat helpt bij het identificeren van een open bestand in een proces terwijl invoer / uitvoerbronnen zoals netwerksockets of pijpen worden gebruikt. In zekere zin kan het worden beschouwd als een indextabel van open bestanden. Wanneer er bestandsbewerkingen worden gelezen, geschreven of gesloten, is een van de invoerparameters de bestandsdescriptor. Bestandsdescriptors vormen een belangrijk onderdeel van de POSIX-applicatieprogrammeerinterface en bieden een primitieve interface op laag niveau voor invoer- of uitvoerbewerkingen.
Techopedia verklaart File Descriptor (FD)
Een kernel maakt een bestandsdescriptor wanneer deze een open oproep tegenkomt. In veel opzichten kan de gateway naar de abstracties van de kernel van onderliggende hardware worden beschouwd als bestandsdescriptoren. In het Unix-besturingssysteem wordt de standaardinvoer weergegeven door bestandsdescriptor 0, de standaarduitvoer wordt weergegeven door bestandsdescriptor 1 en wordt het standaardfoutbestand weergegeven door bestandsdescriptor 2. Met andere woorden, overeenkomend met de drie standaardstromen, elk UNIX-proces zou drie standaard bestandsdescriptors hebben. Zowel streams als bestandsdescriptors kunnen een apparaatverbinding vertegenwoordigen, maar voor het besturen van specifieke apparaten moeten bestandsdescriptors worden gebruikt. In de meeste besturingssystemen zoals UNIX, worden bestandsdescriptors weergegeven als objecten van het type "int". De bestandsdescriptor wordt door de kernel gebruikt als een index in de bestandsbeschrijvingstabel om te bepalen welk proces oorspronkelijk een specifiek bestand heeft geopend en vervolgens toestaan de gevraagde bewerkingen uitvoeren op het geopende apparaat of bestand.
Vanuit het perspectief van applicatieprogrammering moeten bestandsdescriptors worden gebruikt als er invoer- of uitvoerbewerkingen zijn in speciale modi, inclusief niet-blokkerende invoer. In tegenstelling tot streams die hoge functies bieden voor besturing, biedt een bestandsdescriptorinterface alleen eenvoudige functies voor de overdracht van tekenblokken. Bewerkingen op laag niveau kunnen rechtstreeks op de bestandsdescriptor worden uitgevoerd.
