Fil

Från Unix.se, den fria unixresursen.

En fil (eng. file) är ett centralt begrepp inom UNIX. Datorer kan lagra information på många sorters media (hårddiskar, disketter, CD-ROM osv), och för att underlätta för användaren abstraherar operativsystemet de fysiska skillnaderna mellan dessa media och tillhandahåller ett generellt gränssnitt, kallat fil. I UNIX och många andra operativsystem är en fil en ström av bytes, dvs operativsystemet tolkar eller formaterar inte filernas innehåll självt utan överlämnar denna uppgift åt användaren.

Det är inte bara information på sekundärminnen som kan utgöra filer. UNIX införde idén om att "allt är en fil" (eng. "everything is a file"). Med detta menas att allt som kan abstraheras som en ström av bytes tillåts definieras en fil. Det uppenbara exemplet är så klart filer på disk, men även till exempel skrivare, terminaler, pipes och senare även nätverksanslutningar i form av sockets (TLIs transport endpoints likaså, men tirdwr-modulen måste push:as för att read()/write() ska kunna användas) uppfyller definitionen ström av bytes. Tack vare denna lösa definition av vad en fil är kan man skriva program som är okänsliga för varifrån data läses och vart data skrivs; terminal, fil på disk eller ett annat programs input/output kvittar så länge det är en ström av bytes. Möjligheten att från skalet dirigera om input/output hjälper ofta till att utnyttja detta.

I Unix används samma interface för att läsa och skriva alla filer, oavsett vilken typ de är av, nämligen systemanropen read() och write().

Se Även

Personliga verktyg