Linux-filsystem

nov 14, 2021

Et Linux-filsystem er en struktureret samling af filer på et diskdrev eller en partition. En partition er et segment af hukommelsen og indeholder nogle specifikke data. I vores maskine kan der være forskellige partitioner af hukommelsen. Generelt indeholder hver partition et filsystem.

Det generelle computersystem skal gemme data systematisk, så vi nemt kan få adgang til filerne på kortere tid. Det gemmer dataene på harddiske (HDD) eller en anden tilsvarende lagertype. Der kan være nedenstående grunde til at vedligeholde filsystemet:

  • Primært gemmer computeren data på RAM-lageret; den kan miste dataene, hvis den bliver slukket. Der findes dog ikke-flygtig RAM (Flash RAM og SSD), som er tilgængelig til at bevare dataene efter strømafbrydelsen.
  • Datalagring foretrækkes på harddiske i forhold til standard RAM, da RAM koster mere end diskplads. Omkostningerne ved harddiske falder gradvist i forhold til RAM.

Linux-filsystemet indeholder følgende sektioner:

  • Rodmappen (/)
  • Et bestemt datalagringsformat (EXT3, EXT4, BTRFS, XFS og så videre)
  • En partition eller et logisk volumen med et bestemt filsystem.

Hvad er Linux-filsystemet?

Linux-filsystem er generelt et indbygget lag i et Linux-operativsystem, der bruges til at håndtere datahåndteringen af lageret. Det hjælper med at arrangere filen på disklageret. Det administrerer filnavnet, filstørrelsen, oprettelsesdatoen og mange flere oplysninger om en fil.

Hvis vi har et filformat, der ikke understøttes i vores filsystem, kan vi downloade software til at håndtere det.

Linux-filsystemets struktur

Linux-filsystemet har en hierarkisk filstruktur, da det indeholder en rodmappe og dens undermapper. Alle andre mapper kan tilgås fra rodmappen. En partition har normalt kun ét filsystem, men den kan have mere end ét filsystem.

Et filsystem er designet på en sådan måde, at det kan administrere og give plads til ikke-flygtige lagringsdata. Alle filsystemer krævede et navnerum, der er en navngivning og organisatorisk metodologi. Navneområdet definerer navngivningsprocessen, filnavnets længde eller en delmængde af tegn, der kan bruges til filnavnet. Det definerer også den logiske struktur af filer på et hukommelsessegment, som f.eks. brugen af mapper til organisering af de specifikke filer. Når et namespace er beskrevet, skal der defineres en Metadata-beskrivelse for den pågældende fil.

Datastrukturen skal understøtte en hierarkisk mappestruktur; denne struktur bruges til at beskrive den tilgængelige og anvendte diskplads for en bestemt blok. Den har også de andre detaljer om filerne såsom filstørrelse, dato & tidspunkt for oprettelse, opdatering og sidst ændret.

Den gemmer også avancerede oplysninger om diskens sektion, såsom partitioner og volumener.

De avancerede data og de strukturer, som de repræsenterer, indeholder oplysninger om det filsystem, der er gemt på drevet; de er forskellige og uafhængige af filsystemets metadata.

Linux-filsystemet indeholder todelt filsystems softwareimplementeringsarkitektur. Overvej nedenstående billede:

Filsystemet kræver et API (Application programming interface) for at få adgang til funktionskald for at interagere med filsystemkomponenter som f.eks. filer og mapper. API letter opgaver som f.eks. oprettelse, sletning og kopiering af filer. Det letter en algoritme, der definerer arrangementet af filer på et filsystem.

De to første dele af det givne filsystem kaldes tilsammen et virtuelt Linux-filsystem. Det giver et enkelt sæt kommandoer til kernen og udviklere til at få adgang til filsystemet. Dette virtuelle filsystem kræver den specifikke systemdriver for at give en grænseflade til filsystemet.

Linux-filsystemfunktioner

I Linux skaber filsystemet en træstruktur. Alle filer er arrangeret som et træ og dets grene. Den øverste mappe kaldes rodmappen (/). Alle andre mapper i Linux kan tilgås fra rodmappen.

Nogle centrale funktioner i Linux-filsystemet er som følger:

  • Angivelse af stier: Linux bruger ikke backslash (\) til at adskille komponenterne, men bruger forward slash (/) som et alternativ. Som i Windows kan dataene f.eks. være gemt i C:\ Mine dokumenter\ Arbejde, mens de i Linux vil blive gemt i /home/ Mine dokumenter/ Arbejde.
  • Partitioner, mapper og drev: Linux bruger ikke drevbogstaver til at organisere drevet, som Windows gør. I Linux kan vi ikke se, om vi henvender os til en partition, en netværksenhed eller en “almindelig” mappe og et drev.
  • Størrelsesfornemmelse for store og små bogstaver: Linux-filsystemet er case sensitive. Det skelner mellem små bogstaver og store bogstaver i filnavne. Der er f.eks. forskel på test.txt og Test.txt i Linux. Denne regel gælder også for mapper og Linux-kommandoer.
  • Filudvidelser: I Linux kan en fil have filtypenavnet ‘.txt’, men det er ikke nødvendigt, at en fil skal have et filtypenavn. Når man arbejder med Shell, skaber det nogle problemer for nybegyndere at skelne mellem filer og mapper. Hvis vi bruger den grafiske filhåndtering, symboliserer den filer og mapper.
  • Skjulte filer: Linux skelner mellem standardfiler og skjulte filer, for det meste er konfigurationsfilerne skjult i Linux OS. Normalt har vi ikke brug for at få adgang til eller læse de skjulte filer. De skjulte filer i Linux er repræsenteret ved et punktum (.) foran filnavnet (f.eks. .ignore). For at få adgang til filerne skal vi ændre visningen i filhåndteringen eller skal bruge en specifik kommando i shell’en.

Typer af Linux-filsystemer

Når vi installerer Linux-operativsystemet, tilbyder Linux mange filsystemer såsom Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs og swap.

Lad os forstå hvert af disse filsystemer i detaljer:

Ext, Ext2, Ext3 og Ext4 filsystem

Filsystemet Ext står for Extended File System. Det blev primært udviklet til MINIX OS. Ext-filsystemet er en ældre version og bruges ikke længere på grund af nogle begrænsninger.

Ext2 er det første Linux-filsystem, der gør det muligt at håndtere to terabyte data. Ext3 er udviklet gennem Ext2; det er en opgraderet version af Ext2 og indeholder bagudkompatibilitet. Den største ulempe ved Ext3 er, at det ikke understøtter servere, fordi dette filsystem ikke understøtter filgendannelse og disk snapshot.

Ext4-filsystemet er det hurtigere filsystem blandt alle Ext-filsystemerne. Det er en meget kompatibel mulighed for SSD-diske (solid-state drive), og det er standardfilsystemet i Linux-distributionen.

JFS-filsystem

JFS står for Journaled File System, og det er udviklet af IBM til AIX Unix. Det er et alternativ til Ext-filsystemet. Det kan også bruges i stedet for Ext4, hvor der er behov for stabilitet med få ressourcer. Det er et praktisk filsystem, når CPU-kraften er begrænset.

ReiserFS-filsystem

ReiserFS er et alternativ til Ext3-filsystemet. Det har forbedret ydeevne og avancerede funktioner. Tidligere blev ReiserFS brugt som standardfilsystem i SUSE Linux, men senere har det ændret nogle politikker, så SUSE er vendt tilbage til Ext3. Dette filsystem understøtter dynamisk filudvidelsen, men det har nogle ulemper med hensyn til ydeevne.

XFS-filsystem

XFS-filsystemet blev betragtet som højhastigheds-JFS, som er udviklet til parallel I/O-behandling. NASA bruger stadig dette filsystem med sin server med høj lagerplads (300+ terabyte-server).

Btrfs-filsystem

Btrfs står for B-træ-filsystemet. Det bruges til fejltolerance, reparationssystem, sjov administration, omfattende lagringskonfiguration og meget mere. Det er ikke en god egnethed til produktionssystemet.

Swap File System

Swap-filsystemet bruges til hukommelsespaging i Linux-operativsystemet under systemets dvaletilstand. Et system, der aldrig går i dvaletilstand, skal have swap-plads svarende til dets RAM-størrelse.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.