Bestandssysteem
Een bestandssysteem (in acroniem FS ), in de informatica , geeft informeel een mechanisme aan waarmee bestanden worden gepositioneerd en georganiseerd op computerapparaten die worden gebruikt voor gegevensopslag [1] , bijvoorbeeld massaopslageenheden (zoals een magneetband , harde schijven , optische schijven , solid-state geheugeneenheden of, in speciale gevallen, zelfs in RAM ) of op externe apparaten via netwerkprotocollen .
Geschiedenis
Vóór de komst van computers werd de term "bestandssysteem" gebruikt om een methode te beschrijven voor het archiveren en ophalen van papieren documenten [2] . In 1961 werd de term naast de oorspronkelijke betekenis toegepast op geautomatiseerde archivering [3] , en vanaf 1964 werd het algemene gebruik ervan ingeburgerd.
Beschrijving
Meer formeel is een bestandssysteem de verzameling abstracte gegevenstypen die nodig zijn voor het opslaan (schrijven), hiërarchische organisatie, manipulatie, navigatie, toegang en lezen van gegevens . In feite werken sommige bestandssystemen (zoals NFS ) niet rechtstreeks samen met opslagapparaten.
Bestandssystemen kunnen zowel grafisch via bestandsbrowser als tekstueel via tekstshell worden weergegeven . In de grafische weergave ( GUI ) wordt over het algemeen de metafoor van mappen met documenten (bestanden) en andere submappen gebruikt .
Opslagapparaten, zoals harde schijven , presenteren zichzelf aan het besturingssysteem als een reeks blokken van vaste grootte, over het algemeen sectoren genoemd , meestal 512 bytes elk. De beschikbare bewerkingen zijn het lezen en schrijven van een willekeurig blok, of soms een set blokken. Op basis van deze service die wordt geleverd door blokapparaten, realiseert het bestandssysteem twee abstractieniveaus, waardoor massaopslagbronnen gemakkelijk door gebruikers kunnen worden gebruikt.
Beheer
Software voor bestandssysteembeheer is verantwoordelijk voor het organiseren van deze sectoren in bestanden en het bijhouden van welke sectoren bij welke bestanden horen en welke sectoren niet worden gebruikt. De gebruiker heeft normaal gesproken de totale vrijheid om nieuwe bestanden aan te maken, bestaande bestanden te verwijderen (waardoor de blokken die ze in beslag namen vrij te maken) en bestaande bestanden te wijzigen (waardoor ook hun grootte en dus het aantal bezette blokken wordt gewijzigd).
Het eerste abstractieniveau is het niveau dat de sectoren organiseert in een reeks archieven (bestanden) van willekeurige grootte, die kan variëren van nul tot de volledige beschikbare grootte van het apparaat: elk bestand wordt gedistribueerd in een reeks sectoren. Normaal gesproken ziet de gebruiker maar één bestand en hoeft hij zich geen zorgen te maken over welke sectoren werden gebruikt om het op te slaan. De beschikbare bewerkingen zijn het lezen of schrijven van een gegevensblok van willekeurige grootte op een willekeurig punt in het bestand. Niet alle bestandssystemen hebben een opslagapparaat nodig. Een bestandssysteem kan in feite worden gebruikt om elk type gegevens te organiseren en weer te geven, of het nu is opgeslagen of dynamisch wordt gegenereerd (bijvoorbeeld vanuit een netwerkverbinding).
Hiërarchische bestandsnamen
Het tweede abstractieniveau is dat waarmee u bestanden kunt ordenen door ze hiërarchische namen toe te kennen. Bestandssystemen hebben meestal tabellen van associatie van bestandsnamen met hun respectievelijke bestanden via harde koppelingen , meestal door de bestandsnaam te koppelen aan een index in een soort bestandstoewijzingstabel , zoals de FAT van een MS-DOS- , of een inode in een Unix -achtig bestandssysteem . Mapstructuren kunnen zich slechts op één niveau bevinden, of ze kunnen een hiërarchische structuur toestaan waarin mappen submappen kunnen bevatten. In sommige bestandssystemen zijn bestandsnamen gestructureerd met een speciale syntaxis (bijvoorbeeld extensies of versienummers).
Hiërarchische bestandssystemen waren een van de vroege onderzoeksinteresses van Dennis Ritchie , een van de grondleggers van Unix ; eerdere implementaties waren beperkt tot een paar niveaus.
Toegangscontrole
Het bestandssysteem wordt ook gebruikt om gegevens op te slaan die worden gebruikt om de toegang tot elk bestand door processen te regelen . Beveiligingsbeleid bij toegang tot bestandssysteembewerkingen is meestal gebaseerd op toegangsbeheerlijsten ( ACL 's) of mogelijkheden . De onbetrouwbaarheid van ACL's is al enkele decennia ontdekt en om deze reden hebben moderne besturingssystemen de neiging om het capaciteitsmechanisme te gebruiken. Commerciële bestandssystemen gebruiken nog steeds ACL's. Met een ACL kunt u voor elk element van het bestandssysteem definiëren welke machtigingen (lezen, schrijven, wijzigen, enz.) elke gebruiker heeft die toegang heeft tot het systeem.
Bijzonderheden
Traditionele bestandssystemen bieden hulpmiddelen voor het maken, verplaatsen en verwijderen van zowel bestanden als mappen, maar u kunt er geen extra koppelingen mee maken naar mappen (de Unix- en NTFS - harde koppelingen ), of de naam van bovenliggende koppelingen (".." in Unix of DOS / Windows-systemen ) en om bidirectionele koppelingen tussen bestanden te maken. Deze traditionele bestandssystemen hebben ook methoden voor het maken, verplaatsen, verwijderen en inkorten van bestanden, en voor het vervangen of in de wachtrij plaatsen van bepaalde gegevens. In plaats daarvan staan ze het toevoegen van gegevens of het afkappen van een bestand in de kop niet toe, waardoor het invoegen of willekeurig verwijderen van gegevens wordt voorkomen. De mogelijke operaties zijn daarom erg asymmetrisch en vaak inefficiënt in bepaalde contexten.
Belangrijkste soorten
In de loop van de computergeschiedenis zijn er talloze bestandssystemen ontwikkeld. Moderne besturingssystemen hebben vaak toegang tot verschillende bestandssystemen, vaak door simpelweg een speciale module of driver te installeren . Bestandssysteemtypen kunnen worden ingedeeld in schijfbestandssystemen , netwerkbestandssystemen en bestandssystemen voor speciale doeleinden . In veel gevallen wordt in industrietaal de term bestandssysteem gebruikt om de opslagstructuur van het apparaat aan te duiden, een slangachtige manier om "mappen en bestanden" te zeggen zoals gezien door de shell van het besturingssysteem. In het gewone jargon is het gebruikelijk om, vooral in GNU/Linux-systemen , te zeggen dat het bestandssysteem is gemount , zodat het besturingssysteem er toegang toe heeft voor lees-/schrijfbewerkingen.
Bestandssysteem voor massaopslag
Een schijfbestandssysteem is een bestandssysteem dat is ontworpen om bestanden op te slaan op een schijfstation , dat direct of indirect op uw computer kan worden aangesloten . Voorbeelden van schijfbestandssystemen zijn:
- Amiga FileSystems - OFS, FFS1 en 2, International, PFS, SFS gebruikt op Amiga
- APFS - (Apple File System) Geïntroduceerd door Apple in 2016 [4]
- BFS (Beos-bestandssysteem) - BeOS - native bestandssysteem
- DFS, ADFS - Acorn -bestandssysteem
- EFS (IRIX) - een oud blokbestandssysteem dat op IRIX werd gebruikt voor verwijderbare massaopslageenheden (DAT, CD-ROM ...) voorafgaand aan de introductie van ISO 9660
- Ext - Uitgebreid bestandssysteem , het eerste bestandssysteem dat speciaal is ontworpen voor GNU / Linux
- Ext2 - Extended File System 2, populair op GNU/Linux-systemen
- Ext3 - Extended File System 3, populair op GNU / Linux-systemen (ext2 + journaling)
- Ext4 - Extended File System 4, als stabiel geproduceerd door de Linux 2.6.28-kernel (reeds aanwezig vanaf versie 2.6.19 als ext4dev)
- FAT - Gebruikt op DOS , Microsoft Windows en veel speciale apparaten, heeft 12- en 16-bits tabellen
- FAT32 - 32-bits tabelversie van FAT
- ExFAT - ook bekend als FAT64, gemaakt door Microsoft en speciaal ontworpen voor flash-geheugen
- FFS - Fast File System, gebruikt in oudere BSD- en Amiga -systemen
- HFS - Hiërarchisch bestandssysteem, gebruikt op Mac OS
- HFS + - Hierarchal File System Plus, gebruikt op Mac OS vanaf versie 8.1 en op macOS
- HPFS - High Performance File System, gebruikt op OS / 2
- ISO 9660 - Gebruikt op cd-rom- en dvd-rom-schijven (ook met Rock Ridge- en Joliet - extensies )
- Journaled File System (JFS) - beschikbaar op GNU/Linux- , OS/2- en AIX-systemen
- LFS - Logboekgestructureerd bestandssysteem
- MINIX - Gebruikt op MINIX- systemen
- NTFS - NT-bestandssysteem. Gebruikt op Windows NT -gebaseerde systemen
- NWFS - NetWare-bestandssysteem. Gebruikt door Novell NetWare
- ReiserFS - Journaling-bestandssysteem populair op GNU / Linux-systemen
- Reiser4 - Opvolger van het bijhouden van dagboeken voor ReiserFS populair op GNU/Linux-systemen .
- UDF - Packet-bestandssysteem dat wordt gebruikt op WORM/RW-, CD-RW- en DVD-media
- UFS - Unix-bestandssysteem , gebruikt op oudere BSD -systemen
- UFS2 - Unix-bestandssysteem, gebruikt op nieuwe BSD -systemen
- UMSDOS - Uitgebreid FAT-bestandssysteem met machtigingen en metadata, gebruikt op GNU / Linux
- XFS - eXtended FileSystem: 64 bit adressering met de mogelijkheid van een enkele partitie van 9 miljoen TB gebruikt op IRIX - Dit bestandssysteem is geschikt voor niet verwijderbare schijven (HDD ...).
- ZFS - Gemaakt door Sun Microsystems
- Btrfs - Gemaakt door de Oracle Corporation
- WBFS - (Wii Backup File System) Gebruikt voor game-back-ups van het Wii -systeem
- WAFL Geoptimaliseerd voor willekeurige schrijfbewerkingen.
- Protogon - Bestandssysteem geïntroduceerd met build 7955 van Windows 8 , maar alleen beschikbaar in de serverversie, vervolgens gewijzigd rond eind 2011 in ReFS Resilient File System
Gedistribueerd bestandssysteem
Met een gedistribueerd bestandssysteem hebt u toegang tot bestanden op een externe computer via een netwerk , mogelijk gelijktijdig vanaf meerdere computers. Voorbeelden van netwerkbestandssystemen zijn:
- AFS (Andrew-bestandssysteem)
- AppleShare
- CIFS (ook bekend als SMB of Samba )
- Staart
- Wereldwijd bestandssysteem (GFS)
- Intermezzo
- Interplanetair bestandssysteem ( IPFS )
- Glans
- MagmaFS
- NFS
- 9P
Speciaal bestandssysteem
Sommige bestandssystemen worden gebruikt voor speciale taken die niet direct in de eerste twee categorieën vallen. Velen hebben geen relatie met een permanent gegevensopslagmedium, maar worden door het besturingssysteem gebruikt om toegang te geven tot bepaalde functionaliteit. Enkele voorbeelden zijn:
- archfs (archieven)
- cdfs (cd lezen en schrijven)
- incdfs (lezen en schrijven van herschrijfbare cd's of dvd's alsof het diskettes zijn, gebruikt in Nero-software)
- cfs (caching)
- DEVFS ( solaris , GNU / Linux , maakt dynamisch speciale bestanden om toegang te geven tot de daadwerkelijk geïnstalleerde apparaten)
- ftpfs ( FTP -toegang )
- lnfs (lange namen)
- nntpfs (netnieuws)
- procfs ( GNU / Linux en anderen, toont systeem- en processtatusgegevens)
- ROMFS (bestandssysteem gebruikt in μClinux- systemen )
- TCFS - Transparant cryptografisch bestandssysteem. Het is ontworpen aan de Universiteit van Salerno en biedt een transparante coderingslaag die het gebruik van de open, lees-schrijf-primitieven van unix-systemen mogelijk maakt.
- TMPFS (tijdelijk bestandssysteem dat op het systeemgeheugen rust)
- SYSFS ( GNU / Linux 2.6, vervangt gedeeltelijk procfs )
Opmerkingen
- ^ Bestandssystemen , op tldp.org . Ontvangen 8 april 2022 .
- ^ Florence E. University of California, Office-praktijk en zakelijke procedure , New York, Chicago [enz.] The Gregg Publishing Co, 1922. Ontvangen op 8 april 2022 .
- ^ RP Elliott, HET BORON-KOOLSTOFSYSTEEM. Technisch eindrapport, 1 mei 1960-30 april 1961 , Bureau voor wetenschappelijke en technische informatie (OSTI), 1 juni 1961. Ontvangen op 8 april 2022 .
- ^ Introductie van Apple File System - WWDC 2016 - Video's - Apple Developer , op developer.apple.com . Ontvangen 23 juni 2016 .
Gerelateerde items
- Chkdsk
- Harde schijf
- Bestand
- Opmaak
- Bestandssysteem Hiërarchie Standaard
- Gedistribueerd bestandssysteem
- Bestandsformaat
- Massageheugen
- Partitie (computer)
- Pad
- Journalen
- Virtueel bestandssysteem
- Verkenner
Andere projecten
Wikimedia Commons bevat afbeeldingen of andere bestanden op bestandssystemen