Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Was ist ein FileDeskriptor?
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Was ist ein FileDeskriptor?
 
Autor Nachricht
hermesb
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 13.11.2006
Beiträge: 286
Wohnort: München

BeitragVerfasst am: 02 Feb 2008 - 21:06:30    Titel: Was ist ein FileDeskriptor?

Hallo,

ich beschäftige mich z.Zeit mit Linux und bin in den Büchern schon mehrmals über den Begriff Filedeskripor oder DateiDeskriptor gestoßen.
Aber eine klare Definition was das ist hab ich bisher noch nicht entdecken können.
Es handelt sich wohl um einen Integer Wert mit dem man geöffnete Dateien/Sockets/block- und charackter Devices ansprechen kann.

Stimmt das so weit? was verbirgt sich noch da hinter?
Whoooo
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 08.06.2005
Beiträge: 8988

BeitragVerfasst am: 02 Feb 2008 - 21:42:54    Titel:

Nach einer kurzen Lektüre denke ich (als Linux-Fremder), dass das mehr sein dürfte. Der englischen Wiki-Seite zufolge ist das das Äquivalent zum file handle in Windows. Das ist ein abstrahierter Zugriffsmechanismus, den du als Programmierer benutzen kannst, um Dateien zu lesen, zu schreiben und sonstwie zu manipulieren. Das Betriebssystem verwaltet alle diese Deskriptoren in einer zentralen Tabelle, der descriptor table. Im Endeffekt ist das eine Schnittstelle, um einerseits vom konkreten Dateisystem und anderen Systemeigenschaften abstrahieren zu können und anderseits sicherstellen zu können, dass die user nicht direkt an den Dateien herumpulen sondern über OS-Funktionen darauf zugreifen.
xeraniad
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 29.01.2008
Beiträge: 1889
Wohnort: Atlantis

BeitragVerfasst am: 07 Feb 2008 - 16:50:14    Titel:

Das ist ein allgemeines Konzept in UNIX.

So nen fd ist ein positiver int-Wert mit den reservierten Werten
0: standard input, 1: standard output und 3: standard error.

Der file descriptor ist genau gesagt ein Index in einen Array von file descriptors. Jeder Prozess hat so ne Tabelle.

fopen () gibt, sofern erfolgreich, einen Pointer auf eine das File beschreibende Struktur zurück. Das ist eine etwas höhere Abstraktionsebene. Mit fileno () kann dann der fd erhalten werden, zur Benützung beispielsweise mit read (), write() oder im Zusammenhang mit select (),

socket () beispielsweise liefert als Funktionswert einen fd, sofern erfolgreich, sonst -1.

best regards
xeraniad
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Was ist ein FileDeskriptor?
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum