Hva er en datamaskinmappe?: Alt du trenger å vite om filsystemet og operativsystemet

Siste oppdatering: 19 januar 2024
Forfatter: Jaime Herrera
mappe, filsystem

Vi bruker alle filer eller filer hver dag, og vi bruker det alle også mapper eller kataloger, enten det er i filsystemene på stasjonære PC-er, bærbare datamaskiner, mobile enheter osv. Derfor vil jeg i denne artikkelen forklare alt du trenger å vite om det, slik at du kan forstå hva informasjon er og hvordan den lagres til minne om.

Hva er et filsystem?

filsystem

Un filsystem Et filsystem (FS) er en metode og datastruktur som operativsystemet bruker for å kontrollere hvordan informasjon lagres og hentes. Uten et filsystem ville data lagret på et lagringsmedium være én enkelt dataenhet uten noen måte å skille mellom hvor ett datasett slutter og det neste begynner, eller hvor et datasett befinner seg når det må hentes. Dette ville være det som kalles rådata.

Når du formaterer en lagringsstasjon med NTFS, FAT, ext4, btrfs, HFS+ osv., oppretter du faktisk et filsystem for å administrere dataene på den stasjonen. Med andre ord, det vi kaller formater er faktisk FS.

Ved å dele dataene inn i deler og navngi hver del, lDataene kan enkelt isoleres og identifiseresFor å gjøre alt dette mulig, består et filsystem av to eller tre lag. Noen ganger er disse lagene eksplisitt atskilt, og andre ganger er funksjoner kombinert. Lagene vi snakker om er:

  • Logisk filsystem: er ansvarlig for samhandling med brukerapplikasjonen. Den tilbyr et API for filoperasjoner, for eksempel Åpne, lukk, les osv., og videresender den forespurte operasjonen til laget under for behandling. Det logiske filsystemet administrerer åpne filtabelloppføringer og filbeskrivelser per prosess. Dette laget gir filtilgang, katalogoperasjoner, sikkerhet og beskyttelse.
  • Virtuelt filsystemDette grensesnittet tillater støtte for flere samtidige forekomster av fysiske filsystemer. Dette laget er valgfritt og er ikke alltid tilstede.
  • Fysisk filsystem: Håndterer den fysiske driften av lagringsenheten. Den behandler de fysiske blokkene som leses eller skrives til. Den håndterer buffering, minneadministrasjon og er ansvarlig for den fysiske plasseringen av blokker på bestemte steder på lagringsmediet. Det fysiske filsystemet samhandler med drivere for lagringsmaskinvare eller kanalen for å styre lagringsenheten.

FS-funksjoner

Hvert eneste filsystem som finnes har sine begrensninger, og karakter som du bør vite, som:

  • Plasshåndtering eller tildeling: Filsystemer fordeler plass granulært, vanligvis på tvers av flere fysiske stasjoner på enheten. Filsystemer er ansvarlige for å organisere filer og mapper, og holde oversikt over hvilke områder av mediet som tilhører hvilke filer og hvilke som er ubrukte.
  • Fragmentering: Dette skjer når den samme filen er lagret på forskjellige deler av lagringsstasjonen, noe som betyr at de individuelle fildelene ikke er sammenhengende. Etter hvert som filer opprettes, endres og slettes, kan dette føre til områder med brukt og ubrukt plass av varierende størrelse. Ikke bare det, dette påvirker noen FS (f.eks. Microsofts FAT og NTFS), noe som reduserer fillesingen.
  • Filnavn: Filsystemer håndterer lengdebegrensninger, forskjell på store og små bokstaver og bruk av spesialtegn i filnavn.
  • Kataloger: De har ofte mapper for å organisere filer i separate samlinger. De kan være flate eller hierarkiske. Jeg vil diskutere dette mer detaljert senere, siden det er dette det handler om...
  • Metadata: Den har tilhørende metadatainformasjon, som inkluderer detaljer som datalengde, tidsstempler, tilgangstillatelser og filattributter.
  • Forsyningstjenester og tilgang: De brukes til å initialisere, endre og slette filsystemforekomster, samt til å opprette, gi nytt navn til og slette mapper og filer, kryptering, kvoter, migrering, konvertering, sikkerhetskopiering osv.
  • Integritet og feilhåndtering: FS-en må opprettholde integriteten til filsystemstrukturer på sekundær lagring eller eksterne stasjoner, selv i tilfelle operativsystemfeil eller strømbrudd.
  • Brukerdata: må tillate administrasjon av brukerdata, inkludert lagring, henting og oppdatering av data.
  • Flere filsystemer: Det er mulig å ha flere filsystemer på ett system.
  • Designbegrensninger: Filsystemer har funksjonelle begrensninger som definerer maksimal lagringskapasitet i systemet, maksimal størrelse på filer, antall filer osv.

Hva er en partisjon?

en skillevegg En partisjon er en logisk seksjon eller underavdeling av en datalagringsenhet, for eksempel en harddisk, SSD, flash-stasjon osv. Denne partisjonen tjener flere formål, og gir bedre organisering og administrasjon av lagrede data. For eksempel kan hver partisjon brukes til et bestemt formål, flere operativsystemer kan installeres på den, osv.

Det er viktig å merke seg at opprettelse, sletting og endring av størrelse Partisjonsendringer kan føre til datatap, så det er viktig å utføre disse operasjonene med forsiktighet og sikkerhetskopiere kritiske data før du gjør større endringer i partisjonsstrukturen.

På den annen side, oppsummert, bør du også forstå at det finnes ulike typer partisjoner grunnleggende i MBR-systemet (mulighetene er utvidet i GPT, med opptil 128 mulige partisjoner på samme enhet, selv om dette er et annet tema…):

  • Primær partisjon: Hver lagringsstasjon kan ha opptil fire primære partisjoner. Dette er hovedpartisjonene der operativsystemer er installert og der dataene ligger. En av de primære partisjonene kan angis som en aktiv partisjon eller oppstartspartisjon, som operativsystemet starter opp fra.
  • Utvidet partisjon: En utvidet partisjon er en spesiell primærpartisjon som brukes til å opprette flere logiske partisjoner i den. Den inneholder ikke data direkte, men fungerer som en beholder for logiske partisjoner. Du kan ha flere logiske partisjoner i en utvidet partisjon. Dette lar deg overvinne begrensningen på fire primærpartisjoner på en harddisk.
  • Logisk partisjon: Disse opprettes i en utvidet partisjon. De brukes ikke til å starte opp operativsystemet, men brukes vanligvis til å organisere data eller filer. Du kan ha flere logiske partisjoner i en utvidet partisjon, noe som gjør dataorganisering enklere.
  Wine 11.6 for lasting av Windows-spill på Linux: en komplett guide

Hva er en partisjonstabell?

La partisjonstabell Det er en datastruktur som ligger i begynnelsen av en harddisk og inneholder informasjon om hvordan harddisken er delt inn i partisjoner. Den lagres vanligvis i master boot sector (MBR) på BIOS-baserte systemer eller i GPT (GUID Partition Table) på mer moderne UEFI-baserte systemer. Partisjonstabellen inneholder detaljer som størrelsen på hver partisjon, dens type (f.eks. NTFS, FAT32, ext4 osv.) og dens plassering på lagringsmediet.

Derfor ligger forholdet mellom partisjonstabellen og filsystemet i det faktum at partisjonstabellen indikerer hvor hver partisjon starter og slutter på den fysiske disken. Hver partisjon er formatert med et spesifikt filsystem. Når en partisjon åpnes for å lese eller skrive filer, bruker operativsystemet informasjonen i partisjonstabellen til å finne og forstå hvordan filsystemet er strukturert på den bestemte partisjonen.

Filsystemtyper

Format

Blant de ulike filsystemene bør følgende typer fremheves:

  • Diskfilsystemer: Disse systemene utnytter muligheten disklagringsmedier har til å få tilgang til data tilfeldig og raskt. De lar flere brukere eller prosesser få tilgang til data på disken uavhengig av dens sekvensielle plassering. Eksempler inkluderer FAT, exFAT, NTFS, Reiser FS, HFS, HFS+, HPFS, APFS, UFS, ext2, ext3, ext4, XFS, btrfs, VMFS, ZFS, ReiserFS, NSS og ScoutFS. I tillegg til disse kan følgende også vurderes:
    • Optiske plater: Vanlige formater som ISO 9660 og Universal Disk Format (UDF) som brukes på CD, DVD og Blu-ray.
  • Flash-filsystemer: Disse systemene er spesielt utviklet for flashminneenheter og tar hensyn til deres egenskaper og begrensninger. Det anbefales å bruke filsystemer som er utviklet for flashenheter i stedet for å tilpasse disksystemer. Noen eksempler er JFFS, JFFS2, YAFFS, UBIFS, LogFS og F2FS.
  • Magnetiske båndfilsystemer: Disse systemene administrerer lagring på bånd, som har lengre tilfeldige tilgangstider enn disker. De skiller seg ut i kataloghåndtering og vektlegger behovet for å unngå hyppige lineære bevegelser på bånd. Et eksempel kan være IBMs LTFS.
  • Databasefilsystemer: Databasebaserte filsystemer, der filer identifiseres etter egenskaper som type, forfatter eller metadata. Eksempler inkluderer blant annet IBM DB2.
  • Transaksjonelle filsystemer: Disse systemene garanterer atomisiteten og isolasjonen av operasjoner på en fil. Eksempler inkluderer NTFS i Microsoft Windows og andre prototype transaksjonelle filsystemer for UNIX/Linux, som LFS, ext3 osv.
  • Nettverksfilsystemer: Nettverksfilsystemer som gir tilgang til filer på eksterne servere via protokoller som NFS, AFS, SMB, FTP og WebDAV. Det vil si at de er designet for distribuert databehandling.
  • Delte filsystemer: Disse systemene lar flere servere få sikker tilgang til det samme diskundersystemet. Eksempler inkluderer GFS2, GPFS, SFS, CXFS, StorNext og ScoutFS.
  • Spesielle filsystemer: De er noe spesifikke og har ikke filelementer som sådan, men de kan nås via API-er. For eksempel definerer vi Device File System som devfs, brukt i Linux osv. På den annen side har vi andre spesielle som configfs, sysfs og procfs, også kjent i Linux-verdenen.
  • Minimalt filsystem / lydkassettlagring: Lydkassetter ble brukt som datalagringssystemer for å drive noen mikrodatamaskinmodeller fra den tiden, for eksempel Commodore PET.
  • Flate filsystemer (Flat filsystem): Disse systemene har ingen underkataloger og lagrer alle katalogoppføringer i én hovedkatalog. Eksempler på disse filsystemene er den som brukes i CP/M-systemet og Macintosh-filsystemet for Apples klassiske Mac-maskiner.

FS-teknologier

Formateringsprosess

Hvert filsystem har sine egne særegenheter, og de støtter forskjellige teknologier. Noen av de viktigste er:

  • Selvhelbredelse: Refererer til et filsystems evne til automatisk å oppdage og korrigere feil og problemer som kan oppstå i lagringssystemet. Disse feilene kan inkludere skadede sektorer på en harddisk eller andre typer datakorrupsjon. Når en feil oppdages, kan filsystemet forsøke å gjenopprette de berørte dataene ved å gjenopprette fra sikkerhetskopier eller ved å reparere ødelagte data. Dette bidrar til å opprettholde integriteten til dataene som er lagret i filsystemet.
  • Kompresjon: Det er en funksjon som lar deg redusere størrelsen på filer og data som er lagret i filsystemet. Komprimering av data kan spare diskplass og øke hastigheten på filoverføringer. Når komprimering er aktivert, komprimerer filsystemet automatisk filer som er skrevet til det og dekomprimerer filer når de leses. Dette kan være nyttig på ressursbegrensede lagringssystemer, selv om det kan redusere tilgangen.
  • Kryptering: Det er en teknikk som brukes for å beskytte konfidensialiteten til data lagret i filsystemet. Data krypteres før de skrives til disk og dekrypteres når de leses. Kryptering sikrer at dataene er uleselige for alle uten riktig dekrypteringsnøkkel. Dette er viktig for å beskytte personvernet og sikkerheten til sensitive data. I likhet med komprimering kan det også redusere tilgangshastigheten.
  • Journalføring (transaksjonslogg): Det er en funksjon som holder oversikt over alle operasjoner som utføres på filsystemet, for eksempel oppretting, endring eller sletting av filer. Denne oversikten kalles en «journal» eller «transaksjonslogg». Ved systemfeil, for eksempel et uventet strømbrudd, kan filsystemet bruke transaksjonsloggen til å gjenopprette til en konsistent tilstand. Dette forhindrer datakorrupsjon og sikrer filsystemets integritet.
  • Øyeblikksbildekapasitet: Øyeblikksbilder er tidsbestemte kopier av filsystemet på et bestemt tidspunkt. Disse kopiene er øyeblikksbilder og lagres sammen med gjeldende data i filsystemet. Øyeblikksbilder lar filsystemet gjenopprettes til en tidligere tilstand hvis det oppstår feil eller uønskede endringer. Dette er nyttig for sikkerhetskopiering, datagjenoppretting og testing av endringer før de implementeres permanent på systemet.
  NVIDIA Shield TV Experience 9.2.4-oppdateringen og alle de nye funksjonene

Hva er en katalog eller mappe?

Windows 10, mappe uten tilgang

Nå som vi vet hvordan data lagres i lagringsenheter og de nødvendige datastrukturene, er det på tide å gå videre til å forklare hva en mappe eller katalog.

En katalog eller mappe er en struktur for katalogisering av andre filer innenfor filsystemet, noe som gir det et mer intuitivt hierarki eller organisering for brukeren eller operativsystemet. For å gjøre dette inneholder det referanser til andre filer og muligens andre kataloger eller mapper, i dette tilfellet kalt underkataloger eller undermapper.

Noen operativsystemer med hierarkiske filsystemer, som Unix, har vanligvis en katalogbuffer med nylige stier lagret i en del av RAM-en. I Unix er denne delen kjent som DNLC (Directory Name Lookup Cache), mens den i Linux kalles dcache. Denne delen av minnet oppdateres med de sist åpnede stiene, mens det i nettverksfilsystemer kreves en mekanisme for å sikre konsistens ved å administrere oppføringer som er ugyldiggjort eller opprettet av brukere.

I en hierarkisk filsystem Lagring er trelignende. Begrepene «forelder» og «barn» brukes ofte for å beskrive forholdet mellom en underkatalog og katalogen den er katalogisert i, hvor sistnevnte er forelderkatalogen. Den høyest rangerte katalogen i et slikt filsystem, som ikke har sin egen forelderkatalog, kalles rotkatalogen. Dette kan best sees i Unix eller Linux, hvor du har et bestemt hierarki og rotkatalogen er root eller /, som alle andre kataloger henger fra, selv om de ikke er på samme partisjon.

En virtuell katalog er en type filorganisering som ikke er avhengig av plassering i et hierarkisk katalogtre. I stedet samler den resultater fra en datakilde, for eksempel en database eller en tilpasset indeks, og presenterer dem visuelt i samme format som mappevisninger.

Disse mappene eller katalogene kan administreres ved hjelp av verktøy, både GUI og CLI. For eksempel kan vi bruke kommandoer eller selve filbehandleren til å opprette, slette, gi nytt navn til, flytte, kopiere osv. Selv om noen operativsystemer kan ha visse begrensninger på tillatelsene og handlingene du kan utføre på bestemte mapper...

Detaljer om en mappe eller katalog på forskjellige operativsystemer

I hver filsystem og operativsystem, filer og mapper behandles forskjellig:

  • RotDette er punktet der resten av systemets mappehierarki henger fra, eller der det befinner seg. I Windows er dette vanligvis C:\, mens det i Unix/Linux er rotpartisjonen eller /.
  • Sti eller ruteDette er banen der en mappe eller fil befinner seg i en FS. I Windows kan vi for eksempel ha C:\Program Files\Office\Word.exe. I Unix/Linux ville det være noe sånt som /home/user/example.c. Som vi kan se, brukes omvendt skråstrek i Windows, mens i *nix-verdenen brukes den tradisjonelle skråstrek.
  • Filnavn eller filnavnDette er navnet som gis til hver fil i en spesifikk FS. Hvert filsystem vil ha sine egne begrensninger angående maksimal tegngrense for et filnavn. Videre må det skilles mellom basisnavnet og filendelsen. Noen tidlige systemer hadde også begrensninger på lengden på filendelser, vanligvis tre. Det er derfor du noen ganger ser .htm i stedet for .html, for å sikre kompatibilitet med DOS-systemer. Et eksempel på et filnavn kan være example.txt, der "example" er navnet og "txt" er filendelsen, noe som i dette tilfellet indikerer at det er tekst.
  Datamaskinbasert bildebehandling: hvordan programvaren håndterer disse filtypene

Det spesielle tilfellet med Unix/Linux

Hva er superblokken?

Un superblokk Det er en grunnleggende datastruktur som finnes i begynnelsen av et filsystem. Superblokken inneholder kritisk informasjon om selve filsystemet og brukes til å administrere og få tilgang til data lagret på det filsystemet. Hvert Unix-filsystem har sin egen superblokk, og det spesifikke formatet kan variere avhengig av filsystemet som brukes (f.eks. ext4, XFS, UFS osv.).

La informasjon som er lagret i superblokken kan inkludere:

  • Filsystemstørrelse: indikerer den totale størrelsen på filsystemet.
  • Antall inoder: Angir antall inoder som er tilgjengelige på filsystemet. Inoder er datastrukturer som representerer filer og mapper.
  • Gratis blokker: Registrerer antall ledige datablokker som er igjen i filsystemet for lagring av informasjon.
  • Monteringspunkt: indikerer katalogen der filsystemet er montert på operativsystemet.
  • Filsystemidentifikasjon: en unik identifikator for filsystemet som skiller det fra andre filsystemer på samme system.
  • Dato og klokkeslett for montering: registrerer når filsystemet sist ble montert.
  • Inode- og blokktellere brukt: holder oversikt over hvor mange inoder og datablokker som brukes på filsystemet.
  • Sjekksum og andre integritetsmetadata: Noen moderne superblokker kan inneholde tilleggsinformasjon for å bekrefte integriteten til data lagret i filsystemet.

Når et filsystem, dvs. en formatert partisjon, monteres, får operativsystemet tilgang til superblokken for å innhente viktig informasjon om filsystemets struktur og tilstand. Denne informasjonen er viktig for å lese og skrive data til filsystemet, samt for å sikre integriteten og konsistensen til de lagrede dataene.

Inoder og kataloger

En Unix/Linux, Alt er en fil, for eksempel partisjoner, enhetsstasjoner osv. Dette er ikke tilfelle i andre systemer, for eksempel Windows. Men når alt er en fil, regnes selv mapper eller kataloger som spesielle filtyper.

Derfor er en katalog en spesiell fil som inneholder filnavn (og underkatalognavn) og inode-numre for filer på samme filsystem eller navn på symbolske lenker til filer eller kataloger på samme eller forskjellige filsystemer. Når det gjelder harde lenker, holder inoden oversikt over hvor mange katalogoppføringer som er oppført i den, og sletter filblokker når lenkeantallet når null. Dette er annerledes når det gjelder en myk lenke eller symbolsk lenke. Sletting av en symbolsk lenke påvirker ikke målfilen. Men hvis en fil med symbolske lenker til den slettes, blir lenkene ubrukelige.

I Unix/Linux-filsystemer, en fil kan ha flere navn, med en katalogoppføring for hvert navn i samme eller forskjellige kataloger, som alle peker til den samme inode-strukturen som vedlikeholder listen over diskblokker der dataene er lagret.

For å forstå alt dette bedre, er det viktig å huske hva en inode (indeksnode) er. Det er en grunnleggende datastruktur i *nix-filsystemer. Representerer og lagrer viktig informasjon på en fil eller katalog i filsystemet. Derfor vil både en mappe og en fil bli sett på som en inode av systemet.

For at dette skal være mulig, peker hver inode til den neste informasjon:

  • Inodenummer: en unik identifikator for hver fil eller katalog.
  • Type fil: Angir om inoden refererer til en vanlig fil (f), en katalog (d), en symbolsk lenke (l) eller en annen filtype.
  • Filstørrelse: den nåværende størrelsen på filen i byte.
  • Tillatelser og eier: Informasjon om hvem som har tilgang til (lese, skrive, kjøre) og endre filen, samt filens eier (bruker eller rot). Eieren kan til og med være en bruker som ikke eksisterer som sådan, men som kan være en enhet, osv.
  • Dato og klokkeslett for opprettelse/endring: Registrerer når inoden først ble opprettet og når den sist ble endret. Andre metadata eller utvidede tillatelser kan også inkluderes.
  • Antall lenker: Angir hvor mange fil- eller katalognavn som er knyttet til denne inoden. Kataloger har minst to lenker: én til seg selv og én til den overordnede katalogen.
  • Pekere til datablokker: Inneholder referanser til datablokker på lagringsenheten som lagrer det faktiske innholdet i filen. Disse blokkene kan være direkte, indirekte eller dobbelt indirekte adresser, avhengig av den spesifikke filsystemimplementeringen og filstørrelsen.

Inoder er avgjørende for filsystemets funksjon, ettersom de lar operativsystemet holde oversikt over den fysiske plasseringen og informasjonen knyttet til hver fil og katalog. Når en fil eller katalog åpnes, konsulterer operativsystemet det tilsvarende inodenummeret for å finne plasseringen av dataene og annen informasjon relatert til den filen.