Diskussion:Fd

Från Unix.se, den fria unixresursen.

Ojojoj, här blev det lite rörigt. File descriptor, filhandtag och pekare. Dessa bergrepp betyder olika saker används på lite olika sätt och dessutom olika i olika miljöer. Till att börja med; filhandtag används aldrig i betydelsen file descriptor. I DOS (win32 också?) finns något som heter file handle vilken refererar till en öppen fil. Vidare kan en fd inte "liknas med en pekare med det undantaget att en fd pekar på en fil" utan den är på sin höjd ett index i processens tabell över öppna filer. Snabb ordlista för att visa hur lätt det är att röra till saker:

  • File descriptor(enbart UNIX): index i tabellen över öppna filer.
  • File handle(enbart DOS): nån slags siffra som refererar till en öppen fil.
  • File pointer(C): Pekare till en struktur av typen FILE. Alltså en variabel av typen FILE *.
  • File pointer(DOS): Var i en öppen fil nästa läsning/skrivning sker.
  • File offset(UNIX): Var i en öppen fil nästa läsning/skrivning sker.

Vidare öppnas aldrig en endaste fil när man skapar en process, utan förälderns öppna filer ärvs av barnet. Osv...

JAG SKA FIXA ARTIKELN STRAX.

Personliga verktyg