Fil

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 18. november 2021; checks kræver 8 redigeringer .

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 .

Historie

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] .

Filsystem

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.

Fil som et operativsystem API-objekt

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.

Filegenskaber

Afhængigt af filsystemet kan en fil have et andet sæt egenskaber.

Filnavn

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.

Filnavnsudvidelse

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).

Hovedattributter

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

Tid

For en fil kan tidsstempler for oprettelse, sidste ændring, sidste adgang og andre defineres.

Filejer og gruppe

Nogle filsystemer giver en indikation af ejeren af ​​filen og ejergruppen.

Tilladelser

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.

Filhandlinger

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.

Handlinger relateret til åbning af en fil

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

Handlinger, der ikke er relateret til at åbne 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.

Filtyper

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.

Implementeringsfunktioner

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.

Se også

Noter

  1. Bonnier Corporation. Populær Videnskab . - Bonnier Corporation , 1950. - S. 96 -. Arkiveret 9. januar 2022 på Wayback Machine
  2. Robert S. Casey, et al. Punched Cards: Their Applications to Science and Industry , 1952.
  3. Martin H. Weik. Ballistic Research Laboratories Report #1115. marts 1961. s. 314-331 Arkiveret 21. oktober 2016 på Wayback Machine
  4. Fernando J. Corbató et al. " Et eksperimentelt tidsdelingssystem arkiveret 6. september 2009 på Wayback Machine ." 3. maj 1962
  5. Jerome H. Saltzer CTSS tekniske noter Arkiveret 13. september 2006 på Wayback Machine . Projekt MIT-LCS-TR016
  6. Oversigt over FAT-, HPFS- og NTFS-filsystemer . Hentet 22. oktober 2008. Arkiveret fra originalen 8. maj 2008.