Fil ( engelsk fil ) er et navngivet dataområde på et lagermedie, der bruges som et grundlæggende objekt til at interagere med data i operativsystemer .
Arbejde med filer er normalt implementeret ved hjælp af filsystemer, der giver organisering af arbejdet med filer og abstraktion over informationsbærere . Normalt skelnes der mellem eksekverbare filer (programmer) og faktiske datafiler (f.eks. tekstfiler eller mediebeholdere ). Et filformat er en måde at organisere data i en fil på, så du kan skrive information til den i overensstemmelse med dens betydning og fortolke, hvad der er skrevet. Mange operativsystemer sidestiller og behandler andre ressourcer som filer; den mest udbredte brug af begrebet en fil er typisk for Unix-lignende operativsystemer, der implementerer konceptet"alt er en fil" ( eng. alt er en fil ). I dem betragtes ikke kun dataområder på volumen som filer, men også især fysiske enheder ( porte eller printere ), virtuelle enheder ( /dev/null , /dev/random , /dev/urandom og andre), data streams (for eksempel navngivne rør ), netværksressourcer, sockets .
Word -filen blev først anvendt på et computerlagersystem i 1950. En annonce for RCA -hukommelse CRT-hukommelse i magasinet Popular Science [1] lød:
... resultaterne af utallige beregninger kan opbevares "i et arkivskab" ( engelsk på fil ) og modtages igen. Dette "arkivskab" findes nu i et hukommelsesrør udviklet på RCA-laboratorierne. Den gemmer elektrisk de numre, der sendes til computeren, og opbevarer dem på lager, samtidig med at den husker nye - og fremskynder intelligente løsninger i matematikkens labyrinter.
I 1952 blev ordfilen henvist til et spil hulkort . [2] Først refererede word -filen til selve hukommelsesenheden og ikke dens indhold ( registerfil ). For eksempel blev de IBM 350 - diske , der blev brugt, for eksempel i IBM 305 -maskinen , kaldt diskfiler [3] . Systemer som Compatible Time-Sharing System introducerede konceptet med et filsystem, hvor flere virtuelle "hukommelsesenheder" findes på en enkelt lagerenhed, hvilket giver ordet "fil" dets moderne betydning. Filnavne i CTSS bestod af to dele, "primært navn" og "sekundært navn" (sidstnævnte eksisterer stadig i dag som filtypenavn ) [4] [5] .
Med udviklingen af computerteknologi blev filerne i systemerne flere og flere. For at gøre det lettere at arbejde med dem begyndte de, ligesom andre data, at blive organiseret i strukturer (symbolske navne dukkede op på samme tid). Først var det et simpelt array , "vedhæftet" til et specifikt lagermedie. På nuværende tidspunkt er den trælignende organisation med mulighed for at montere og indsætte yderligere links (det vil sige links) blevet mest udbredt . Følgelig har filnavnet fået karakteren af en filsti : en liste over noderne i filsystemtræet, som skal gennemløbes for at komme til det.
Operativsystemet giver applikationer et sæt funktioner og strukturer til at arbejde med filer. Operativsystemets muligheder pålægger yderligere begrænsninger for filsystemets begrænsninger. Fra et API 's synspunkt er en fil et objekt, som funktionerne i denne API kan anvendes på. På API-niveau er det ikke længere vigtigt, om filen eksisterer som et filsystemobjekt eller er for eksempel en I/O-enhed.
Afhængigt af filsystemet kan en fil have et andet sæt egenskaber.
I de fleste filsystemer bruges filnavnet til at angive, hvilken fil der tilgås. I forskellige filsystemer varierer filnavnsbegrænsningerne meget: i FAT16 og FAT12 er størrelsen af et filnavn begrænset til 8,3 tegn (8 for navnet og 3 for filtypenavnet ); på andre systemer er filnavnet normalt begrænset til 255 bytes; i NTFS er navnet begrænset på nogle operativsystemer til 256 Unicode-tegn (32.768 tegn i henhold til specifikationen).
Ud over filsystembegrænsninger begrænser operativsystemets grænseflader yderligere det tegnsæt, der er tilladt, når der arbejdes med filer.
For MS-DOS er kun store latinske bogstaver og tal tilladt i filnavnet. Mellemrum, spørgsmålstegn, stjerne, større end og mindre end symboler, lodrette stregsymboler er ikke tilladt. [6] Når du kalder systemfunktioner, konverteres filnavne med små eller blandede bogstaver til store bogstaver.
For Windows er store og små bogstaver, tal, nogle tegnsætningstegn, plads tilladt i filnavnet. Symboler >, <, |, ?, *, /, \, :, er forbudt ".
For Linux (under hensyntagen til muligheden for maskering) er alle tegn tilladt, undtagen null-/ tegnet .
De fleste operativsystemer kræver, at et filnavn er unikt i en enkelt mappe, selvom nogle systemer tillader filer med samme navn (f.eks. når du arbejder med båndstationer).
På nogle filsystemer er det muligt at oprette og bruge unavngivne filer. Sådanne filer er altid midlertidige. Deres vigtigste fordele er, at når de oprettes, kan der ikke være nogen navnekonflikt, og de kan ikke findes i deres bibliotek ved navn. Resten er komplette filer.
Filnavnet (ofte: filtypenavn eller filtypenavn) som en uafhængig filattribut findes i FAT16 , FAT32 , NTFS filsystemer, der bruges af MS-DOS, DR-DOS, PC DOS, MS Windows operativsystemer og bruges til at bestemme filtype. Det giver systemet mulighed for at bestemme, hvilket program der skal åbne filen. Som standard er udvidelsen skjult for brugeren på Windows- og Mac OS -operativsystemer.
I andre filsystemer er udvidelsen en konvention, en del af navnet, adskilt af prikken længst til højre i navnet (suffiks).
Nogle filsystemer, såsom NTFS, giver attributter (normalt en ja/nej binær værdi kodet med en bit). I mange moderne operativsystemer har attributter ringe eller ingen indflydelse på evnen til at få adgang til filer; for dette er der i nogle operativsystemer og filsystemer adgangsrettigheder .
Attributnavn | Oversættelse | Betyder | Filsystemer | Operativsystemer |
---|---|---|---|---|
Læs kun | kun til læsning | filen må ikke redigeres | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2 , Windows |
System | systemisk | operativsystemkritisk fil | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Skjult | skjult | filen er skjult fra visning, medmindre andet er udtrykkeligt angivet | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Arkiv | arkivering (kræver arkivering) | filen blev ændret efter backup eller blev ikke kopieret af backup-programmer; når filen ændres, indstiller OS automatisk denne egenskab | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SUID | Indstilling af et bruger-id | kører programmet på vegne af ejeren | ext2 | Unix-agtig |
SGID | Indstilling af gruppe-id | udførelse af programmet på vegne af en gruppe (for mapper: enhver fil, der er oprettet i en mappe med et indstillet SGID, vil få den angivne ejergruppe) | ext2 | Unix-agtig |
klistret smule | klistret smule | instruerede oprindeligt kernen om ikke at fjerne det færdige program fra hukommelsen med det samme, men først efter et stykke tid, for at undgå konstant indlæsning fra disken af de mest brugte programmer, bruges det i øjeblikket forskelligt i forskellige operativsystemer | ext2 | Unix-agtig |
For en fil kan tidsstempler for oprettelse, sidste ændring, sidste adgang og andre defineres.
Nogle filsystemer giver en indikation af ejeren af filen og ejergruppen.
Nogle filsystemer giver mulighed for at begrænse brugeradgang til indholdet af en fil. I Unix-lignende operativsystemer blev der tidligere generelt skelnet mellem tre typer tilladelser for filer: skrive, læse og udføre. Hver rettighed er fastsat separat for ejeren, for gruppen og for alle andre. En ACL giver mulighed for en mere detaljeret adskillelse af både rettigheder og brugere.
I Windows NT -operativsystemer, når du arbejder med NTFS-filsystemet, angives adgangsrettigheder eksplicit for brugere eller grupper, eller de nedarves fra overordnede objekter. Rettighederne omfatter retten til at læse, skrive, udføre, slette, ændre attributter og ejer, oprette og slette undermapper (til mapper) og læsetilladelser og andet som i POSIX. Hver rettighed kan angives som en tilladelse eller et forbud. Afvisning har forrang over tilladelse i modsætning til POSIX.
Konventionelt kan der skelnes mellem to typer operationer med en fil - dem, der er forbundet med at åbne den, og dem, der udføres uden at åbne den. Operationer af den første type bruges normalt til at læse og skrive information eller forberede læsning eller skrivning. Operationer af den anden type udføres på en fil som et "objekt" i filsystemet, hvor filen er det mindste element i struktureringen.
Nogle handlinger er muligvis ikke tilgængelige afhængigt af operativsystemet.
Normalt skelnes der mellem yderligere enheder, der er forbundet med at arbejde med en fil:
Operationer, der ikke kræver åbning af en fil, fungerer på dens "eksterne" funktioner - størrelse, navn, position i mappetræet . Med sådanne operationer er det umuligt at få adgang til indholdet af filen, filen er den mindste enhed for opdeling af information.
Mulige filhandlinger: oprettelse, sletning, omdøbning, kopiering, flytning til et andet filsystem, oprettelse af et symbolsk link eller et hårdt link , hentning og ændring af attributter.
Afhængigt af filsystemet, lagermediet, operativsystemet er nogle handlinger muligvis ikke tilgængelige.
I henhold til organisationsmåden er filer opdelt i tilfældige filer og filer med sekventiel adgang .
Forskellige operativsystemer og filsystemer kan implementere forskellige typer filer, og implementeringen af forskellige typer kan være forskellig.
I Unix -operativsystemet er processer (normalt fundet i /proc) og enheder ( /dev) repræsenteret som en speciel type fil, som gør det muligt at bruge nogle filhandlinger til at manipulere disse objekter.
I nogle filsystemer (såsom VMS -filsystemet ) er filer versionsbestemt, hvilket gør det muligt at åbne ældre versioner af en given fil. I Mac OS filsystemet ( HFS ) har filer to "strømme": en datastrøm (hvor filens indhold er gemt) og en ressourcestrøm, som gemmer information om det program, der er beregnet til at åbne den givne fil, og evt. nogle oplysninger om det program. I NTFS kan en fil, udover den primære, indeholde så mange navngivne streams som ønsket.
![]() | |
---|---|
I bibliografiske kataloger |
af operativsystemer | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Nucleus |
| ||||
Procesledelse _ |
| ||||
Hukommelseshåndtering og adressering | |||||
Indlæsnings- og initialiseringsværktøjer | |||||
skal | |||||
Andet | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |