Een Linux file system is een gestructureerde verzameling van bestanden op een disk drive of een partitie. Een partitie is een segment van het geheugen en bevat een aantal specifieke gegevens. In onze machine kunnen er verschillende partities van het geheugen zijn. In het algemeen bevat elke partitie een bestandssysteem.
Het computersysteem voor algemene doeleinden moet gegevens systematisch opslaan, zodat we gemakkelijk toegang kunnen krijgen tot de bestanden in minder tijd. Het slaat de gegevens op harde schijven (HDD) of een gelijkwaardig opslagtype op. Er kunnen onderstaande redenen zijn om het bestandssysteem te onderhouden:
- Primeeliter slaat de computer gegevens op in het RAM-geheugen; het kan de gegevens verliezen als het wordt uitgezet. Er is echter niet-vluchtig RAM-geheugen (Flash RAM en SSD) dat beschikbaar is om de gegevens te behouden na de stroomonderbreking.
- Data-opslag heeft de voorkeur op harde schijven in vergelijking met standaard RAM, omdat RAM meer kost dan schijfruimte. De kosten van harde schijven dalen geleidelijk ten opzichte van RAM.
Het Linux bestandssysteem bevat de volgende onderdelen:
- De hoofddirectory (/)
- Een specifiek formaat voor gegevensopslag (EXT3, EXT4, BTRFS, XFS enzovoort)
- Een partitie of logisch volume met een bepaald bestandssysteem.
Wat is het Linux bestandssysteem?
Linux-bestandssysteem is over het algemeen een ingebouwde laag van een Linux-besturingssysteem dat wordt gebruikt om het gegevensbeheer van de opslag te behandelen. Het helpt om het bestand op de schijf opslag te regelen. Het beheert de bestandsnaam, bestandsgrootte, aanmaakdatum, en nog veel meer informatie over een bestand.
Als we een niet-ondersteunde bestandsindeling in ons bestandssysteem hebben, kunnen we software downloaden om ermee om te gaan.
Linux Bestandssysteem Structuur
Linux bestandssysteem heeft een hiërarchische bestandsstructuur, het bevat een root directory en zijn subdirectories. Alle andere directories kunnen worden benaderd vanuit de hoofddirectory. Een partitie heeft gewoonlijk slechts één bestandssysteem, maar het kan meer dan één bestandssysteem hebben.
Een bestandssysteem is zo ontworpen dat het niet-vluchtige opslaggegevens kan beheren en er ruimte voor kan bieden. Voor alle bestandssystemen is een naamruimte vereist, dat wil zeggen een naamgevings- en organisatiemethodologie. De naamruimte definieert het naamgevingsproces, de lengte van de bestandsnaam, of een subset van tekens die voor de bestandsnaam kunnen worden gebruikt. Zij bepaalt ook de logische structuur van bestanden op een geheugensegment, zoals het gebruik van mappen voor het organiseren van de specifieke bestanden. Zodra een namespace is beschreven, moet een Metadata beschrijving worden gedefinieerd voor dat specifieke bestand.
De datastructuur moet een hiërarchische directory structuur ondersteunen; deze structuur wordt gebruikt om de beschikbare en gebruikte schijfruimte voor een bepaald blok te beschrijven. Het heeft ook de andere details over de bestanden, zoals bestandsgrootte, datum & tijd van creatie, update, en laatst gewijzigd.
Ook slaat het geavanceerde informatie op over het gedeelte van de schijf, zoals partities en volumes.
De geavanceerde gegevens en de structuren die het vertegenwoordigt bevatten de informatie over het bestandssysteem dat is opgeslagen op de schijf; het is afzonderlijk en onafhankelijk van de metagegevens van het bestandssysteem.
Linux bestandssysteem bevat tweedelige bestandssysteem software implementatie architectuur. Zie de onderstaande afbeelding:
Het bestandssysteem vereist een API (Application programming interface) om toegang te krijgen tot de functieaanroepen voor interactie met bestandssysteemcomponenten zoals bestanden en mappen. API vergemakkelijkt taken zoals het maken, verwijderen en kopiëren van bestanden. Het vergemakkelijkt een algoritme dat de rangschikking van bestanden op een bestandssysteem definieert.
De eerste twee delen van het gegeven bestandssysteem worden samen een Linux virtueel bestandssysteem genoemd. Het biedt een enkele set commando’s voor de kernel en ontwikkelaars om toegang te krijgen tot het bestandssysteem. Dit virtuele bestandssysteem vereist de specifieke systeemdriver om een interface te geven aan het bestandssysteem.
Linux File System Features
In Linux creëert het bestandssysteem een boomstructuur. Alle bestanden zijn gerangschikt als een boom en zijn takken. De bovenste directory heet de root (/) directory. Alle andere directory’s in Linux kunnen worden benaderd vanuit de root directory.
Enkele belangrijke kenmerken van Linux bestandssysteem zijn als volgt:
- Het opgeven van paden: Linux gebruikt niet de backslash (\) om de componenten te scheiden; het gebruikt forward slash (/) als alternatief. Net als in Windows kunnen de gegevens bijvoorbeeld worden opgeslagen in C:Mijn documenten/ Werk, terwijl ze in Linux zouden worden opgeslagen in /home/Mijn documenten/ Werk.
- Partitie, mappen en stations: Linux gebruikt geen stationsletters om de schijf te organiseren zoals Windows doet. In Linux kunnen we niet zeggen of we een partitie, een netwerkapparaat, of een “gewone” directory en een Drive.
- Hoofdlettergevoeligheid: Linux bestandssysteem is hoofdlettergevoelig. Het maakt onderscheid tussen kleine letters en hoofdletters in bestandsnamen. Zoals, er is een verschil tussen test.txt en Test.txt in Linux. Deze regel geldt ook voor mappen en Linux-commando’s.
- Bestandsextensies: In Linux kan een bestand de extensie ‘.txt’ hebben, maar het is niet noodzakelijk dat een bestand een bestandsextensie heeft. Tijdens het werken met Shell geeft het voor de beginners wat problemen om onderscheid te maken tussen bestanden en mappen. Als we de grafische bestandsmanager gebruiken, symboliseert deze de bestanden en mappen.
- Verborgen bestanden: Linux maakt onderscheid tussen standaard bestanden en verborgen bestanden, meestal zijn de configuratiebestanden verborgen in Linux OS. Meestal hoeven we de verborgen bestanden niet te openen of te lezen. De verborgen bestanden in Linux worden weergegeven door een punt (.) voor de bestandsnaam (bijv. .ignore). Om toegang te krijgen tot de bestanden, moeten we de weergave in het bestandsbeheer wijzigen of een specifiek commando in de commandoregel gebruiken.
Typen Linux-bestandssysteem
Wanneer we het Linux-besturingssysteem installeren, biedt Linux vele bestandssystemen, zoals Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs en swap.
Laten we elk van deze bestandssystemen in detail begrijpen:
Ext, Ext2, Ext3 en Ext4 bestandssysteem
Het bestandssysteem Ext staat voor Extended File System. Het is voornamelijk ontwikkeld voor MINIX OS. Het Ext-bestandssysteem is een oudere versie, en wordt niet meer gebruikt vanwege enkele beperkingen.
Ext2 is het eerste Linux-bestandssysteem waarmee twee terabyte aan gegevens kan worden beheerd. Ext3 is ontwikkeld op basis van Ext2; het is een verbeterde versie van Ext2 en bevat achterwaartse compatibiliteit. Het grootste nadeel van Ext3 is dat het geen ondersteuning biedt voor servers, omdat dit bestandssysteem geen ondersteuning biedt voor bestandsherstel en disk snapshot.
Ext4 bestandssysteem is het snelste bestandssysteem onder alle Ext bestandssystemen. Het is een zeer compatibele optie voor de SSD (solid-state drive) schijven, en het is het standaard bestandssysteem in Linux distributie.
JFS File System
JFS staat voor Journaled File System, en het is ontwikkeld door IBM voor AIX Unix. Het is een alternatief voor het Ext bestandssysteem. Het kan ook worden gebruikt in plaats van Ext4, waar stabiliteit nodig is met weinig middelen. Het is een handig bestandssysteem wanneer CPU-kracht beperkt is.
ReiserFS Bestandssysteem
ReiserFS is een alternatief voor het Ext3 bestandssysteem. Het heeft verbeterde prestaties en geavanceerde functies. Vroeger werd ReiserFS gebruikt als het standaard bestandssysteem in SUSE Linux, maar later is het beleid veranderd, dus is SUSE teruggekeerd naar Ext3. Dit bestandssysteem ondersteunt dynamisch de bestandsextensie, maar het heeft enkele nadelen qua prestaties.
XFS File System
XFS bestandssysteem werd beschouwd als JFS met hoge snelheid, dat is ontwikkeld voor parallelle I/O verwerking. NASA gebruikt dit bestandssysteem nog steeds met zijn hoge opslagserver (300+ Terabyte server).
Btrfs File System
Btrfs staat voor het B tree bestandssysteem. Het wordt gebruikt voor fouttolerantie, reparatiesysteem, funadministratie, uitgebreide opslagconfiguratie, en meer. Het is niet geschikt voor een produktie systeem.
Swap File System
Het swap bestandssysteem wordt gebruikt voor geheugen paging in Linux besturingssysteem tijdens de systeem hibernation. Een systeem dat nooit in slaapstand gaat, moet swapruimte hebben die gelijk is aan zijn RAM-grootte.