File ( engelsk fil ) är ett namngivet dataområde på ett lagringsmedium som används som ett grundläggande objekt för att interagera med data i operativsystem .
Arbete med filer implementeras vanligtvis med filsystem som tillhandahåller organisation av arbetet med filer och abstraktion över informationsbärare . Vanligtvis särskiljs körbara filer (program) och faktiska datafiler (till exempel textfiler eller mediebehållare ). Ett filformat är ett sätt att organisera data i en fil, så att du kan skriva information till den i enlighet med dess innebörd och tolka det som skrivs. Många operativsystem likställer och behandlar andra resurser som filer; den mest utbredda användningen av begreppet en fil är typisk för Unix-liknande operativsystem som implementerar konceptet "allt är en fil" ( eng. allt är en fil ). I dem betraktas inte bara dataområden på volymen som filer utan även i synnerhet fysiska enheter ( portar eller skrivare ), virtuella enheter ( /dev/null , /dev/random , /dev/urandom och andra), data strömmar (till exempel namngivna rör ), nätverksresurser, sockets .
Word -filen tillämpades först på ett datorlagringssystem 1950. En annons för RCA -minne CRT-minne i tidskriften Popular Science [1] löd:
... resultaten av otaliga beräkningar kan förvaras "i ett arkivskåp" ( engelska på fil ) och tas emot igen. Detta "arkivskåp" finns nu i ett minnesrör som utvecklats vid RCA-labbet. Den sparar elektriskt siffrorna som skickas till datorn och lagrar dem, samtidigt som nya memoreras - påskyndar intelligenta lösningar i matematikens labyrinter.
1952 hänvisades ordfilen till en kortlek med hålkort . [2] Till en början hänvisade wordfilen till själva minnesenheten och inte dess innehåll ( registerfil ). Till exempel, de IBM 350 -diskar som användes, till exempel i IBM 305 -maskinen , kallades diskfiler [3] . System som Compatible Time-Sharing System introducerade konceptet med ett filsystem, där flera virtuella "minnesenheter" finns på en enda lagringsenhet, vilket ger ordet "fil" dess moderna betydelse. Filnamn i CTSS bestod av två delar, "primärt namn" och "sekundärt namn" (det senare finns fortfarande idag som filnamnstillägg ) [4] [5] .
Med utvecklingen av datorteknik blev filerna i systemen fler och fler. För att underlätta arbetet med dem började de, liksom andra data, organiseras i strukturer (symboliska namn dök upp samtidigt). Till en början var det en enkel array , "ansluten" till ett specifikt lagringsmedium. För närvarande har den trädliknande organisationen med möjlighet att montera och infoga ytterligare länkar (det vill säga länkar) blivit mest utbredd . Följaktligen har filnamnet fått karaktären av en filsökväg : en lista över noderna i filsystemträdet som måste korsas för att komma till det.
Operativsystemet förser applikationer med en uppsättning funktioner och strukturer för att arbeta med filer. Operativsystemets möjligheter innebär ytterligare begränsningar för filsystemets begränsningar. Ur API:ts synvinkel är en fil ett objekt på vilket funktionerna i detta API kan tillämpas. På API-nivå är det inte längre viktigt om filen finns som ett filsystemobjekt eller är till exempel en I/O-enhet.
Beroende på filsystemet kan en fil ha en annan uppsättning egenskaper.
I de flesta filsystem används filnamnet för att indikera vilken fil som används. I olika filsystem varierar filnamnsbegränsningarna mycket: i FAT16 och FAT12 är storleken på ett filnamn begränsad till 8,3 tecken (8 för namnet och 3 för tillägget ); på andra system är filnamnet vanligtvis begränsat till 255 byte; i NTFS är namnet begränsat på vissa operativsystem till 256 Unicode-tecken (32 768 tecken enligt specifikationen).
Förutom filsystembegränsningar begränsar operativsystemets gränssnitt ytterligare teckenuppsättningen som är tillåten när man arbetar med filer.
För MS-DOS tillåts endast stora latinska bokstäver och siffror i filnamnet. Mellanslag, frågetecken, asterisk, större än och mindre än symboler, vertikala strecksymboler är inte tillåtna. [6] När du anropar systemfunktioner konverteras filnamn med gemener eller blandade bokstäver till versaler.
För Windows är stora och små bokstäver, siffror, några skiljetecken, utrymme tillåtet i filnamnet. Symboler >, <, |, ?, *, /, \, :är förbjudna ".
För Linux (med hänsyn till möjligheten till maskering) är alla tecken tillåtna, förutom noll-/ tecknet .
De flesta operativsystem kräver att ett filnamn är unikt i en enda katalog, även om vissa system tillåter filer med samma namn (till exempel när du arbetar med bandenheter).
På vissa filsystem är det möjligt att skapa och använda namnlösa filer. Sådana filer är alltid tillfälliga. Deras främsta fördelar är att när de skapas kan det inte uppstå någon namnkonflikt och de kan inte hittas i deras katalog med namn. Resten är kompletta filer.
Filnamnstillägget (ofta: filtillägg eller filtillägg) som ett oberoende filattribut finns i filsystemen FAT16 , FAT32 , NTFS som används av operativsystemen MS-DOS, DR-DOS, PC DOS, MS Windows och används för att fastställa filtyp. Det låter systemet bestämma vilket program som ska öppna filen. Som standard, på operativsystemen Windows och Mac OS , är tillägget dolt för användaren.
I andra filsystem är tillägget en konvention, en del av namnet, separerad av punkten längst till höger i namnet (suffix).
Vissa filsystem, som NTFS, tillhandahåller attribut (vanligtvis ett ja/nej binärt värde kodat med en bit). I många moderna operativsystem har attribut liten eller ingen effekt på möjligheten att komma åt filer; för detta, i vissa operativsystem och filsystem, finns det åtkomsträttigheter .
Attributnamn | Översättning | Menande | Filsystem | Operativsystem |
---|---|---|---|---|
Endast läs | bara för att läsa | filen får inte redigeras | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2 , Windows |
Systemet | systemisk | operativsystemets kritiska fil | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Dold | dold | filen är dold från visningen om inte annat uttryckligen anges | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Arkiv | arkivering (kräver arkivering) | filen ändrades efter säkerhetskopiering eller kopierades inte av säkerhetskopieringsprogram; när filen ändras ställer OS automatiskt in detta attribut | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SUID | Ställa in ett användar-ID | kör programmet på uppdrag av ägaren | ext2 | Unix-liknande |
SGID | Grupp-ID-inställning | exekvera programmet på uppdrag av en grupp (för kataloger: vilken fil som helst som skapas i en katalog med ett inställt SGID kommer att få den angivna ägargruppen) | ext2 | Unix-liknande |
klibbig bit | klibbig bit | instruerade ursprungligen kärnan att inte ladda ner det färdiga programmet från minnet omedelbart, men först efter en tid, för att undvika konstant laddning från disken av de mest använda programmen, används det för närvarande olika i olika operativsystem | ext2 | Unix-liknande |
För en fil kan tidsstämplar för skapande, senaste ändring, senaste åtkomst och andra definieras.
Vissa filsystem ger en indikation på ägaren till filen och ägargruppen.
Vissa filsystem ger möjlighet att begränsa användaråtkomst till innehållet i en fil. I Unix-liknande operativsystem särskiljdes tidigare tre typer av behörigheter för filer: skriv, läs och kör. Varje rättighet fastställs separat för ägaren, för gruppen och för alla andra. En ACL möjliggör en mer detaljerad separation av både rättigheter och användare.
I Windows NT -operativsystem, när du arbetar med NTFS-filsystemet, ställs åtkomsträttigheterna in explicit för användare eller grupper, eller ärvs från överordnade objekt. Rättigheterna inkluderar rätten att läsa, skriva, köra, ta bort, ändra attribut och ägare, skapa och ta bort undermappar (för mappar) och läsbehörigheter och annat som i POSIX. Varje rättighet kan anges som ett tillstånd eller ett förbud. Neka har företräde framför tillstånd till skillnad från POSIX.
Konventionellt kan två typer av operationer med en fil särskiljas - de som är associerade med att öppna den och de som utförs utan att öppna den. Operationer av den första typen används vanligtvis för att läsa och skriva information eller förbereda för läsning eller skrivning. Operationer av den andra typen utförs på en fil som ett "objekt" i filsystemet, där filen är det minsta strukturelementet.
Vissa funktioner kanske inte är tillgängliga beroende på operativsystem.
Vanligtvis särskiljs ytterligare enheter som är associerade med att arbeta med en fil:
Operationer som inte kräver att en fil öppnas fungerar på dess "externa" funktioner - storlek, namn, position i katalogträdet . Med sådana operationer är det omöjligt att komma åt innehållet i filen, filen är den minsta enheten för uppdelning av information.
Möjliga filoperationer: skapa, radera, döpa om, kopiera, flytta till ett annat filsystem, skapa en symbolisk länk eller hårdlänk , hämta och ändra attribut.
Beroende på filsystem, lagringsmedium, operativsystem kanske vissa funktioner inte är tillgängliga.
Beroende på organisationssättet delas filer in i slumpmässiga filer och filer med sekventiell åtkomst .
Olika operativsystem och filsystem kan implementera olika typer av filer, och implementeringen av olika typer kan skilja sig åt.
I Unix - operativsystemet representeras processer (som vanligtvis finns i /proc) och enheter ( /dev) som en speciell typ av fil, vilket gör att vissa filoperationer kan användas för att manipulera dessa objekt.
I vissa filsystem (t.ex. VMS -filsystemet ) är filer versionsbelagda, vilket gör att äldre versioner av en given fil kan öppnas. I Mac OS -filsystemet ( HFS ) har filer två "strömmar": en dataström (där filens innehåll lagras) och en resursström, som lagrar information om programmet avsett att öppna den givna filen, och ev. lite information för det programmet. I NTFS kan en fil, förutom den huvudsakliga, innehålla så många namngivna strömmar som önskas.
Ordböcker och uppslagsverk | |
---|---|
I bibliografiska kataloger |
av operativsystem | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Kärna |
| ||||
Processledning _ |
| ||||
Minneshantering och adressering | |||||
Ladda och initieringsverktyg | |||||
Skal | |||||
Övrig | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |