Begrepet filsystem (forkortet " FS " for filsystem , noen ganger filsystem på engelsk) betegner tvetydig:
Generelt sett en fil system eller fil management system (FMS) er en måte å lagre informasjon og organisere det i filer på det som kalles i software engineering , sekundære minner (for maskinvare datamaskin , er det masse minne for eksempel en harddisk , en SSD- disk , en CD-ROM , en USB-nøkkel , en diskett , etc.). Slik filhåndtering gjør det mulig å behandle og lagre store datamengder, samt å dele dem mellom flere dataprogrammer . Det gir brukeren et abstrakt syn på dataene sine og gjør det mulig å finne dem fra en bane.
Det er andre måter å organisere data på , for eksempel databaser (spesielt relasjonsdatabase ) og indekserte filer .
Det perforerte kortet forsvant gradvis fra 1970 da I / O-enhetene med magnetbånd og disketter i "8 inch" -format og mer effektive masseminner dukket opp .
I 1964 gjorde DECtape- systemet fra DEC- selskapet det mulig å registrere data på magnetbånd i stedet for hullkort .
I 1968 ble GEORGE 3 utstyrt med en filbutikk ( filbutikk ) som registrerte filene i en trestruktur i ideen om Multics . Hver bruker av systemet hadde en brukermappe ( hjemme ) med så mange undermapper som nødvendig. Brukermapper kan nås direkte eller gjennom en bane, som :: MASTER.USERS.COMPSCI, JOHN . Et system med tilgangskontrollister ble brukt for sikkerhet som tillot å konfigurere tilgang for bruker og gruppe. Filsystemet var organisert på to nivåer: det ene på disken og det andre på magnetbånd.
I 1972 var ODS-1 et flatt filsystem (brukt av RSX-11 OS). Den vil bli erstattet senere av ODS-2 og ODS-5.
I 1974 dukket CP / M-filsystemet opp. Dette operativsystemet lagrer filer på disketter i en bestemt logisk organisasjon (som ikke ble overtatt av MS-DOS), og kan fylle disketter til de er helt fulle.
CP / M kan også håndtere harddisker (i virkeligheten, siden BIOS er "åpen" og tydelig beskrevet i dokumentasjonen som Digital Research leverte med noe av programvaren, er det derfor mulig å tilpasse et hvilket som helst CP / M-system til alle tilgjengelige masseminne - og tilgjengelige eksterne enheter).
Hver fil har et navn og en utvidelse (mer presist er syntaksen: <filnavn (maksimalt 8 byte)>. <Utvidelse (maks. 3 byte)>).
I 1978 dukket Apples første filsystem opp.
I 1980 dukket FAT12-systemet opp. FAT16-systemet i 1984.
Den BIOS parameterblokken (BPB) innføres med PC-DOS 2.0. Denne utgivelsen introduserer også skrivebeskyttet, arkiv- , volumetikett- og mappeattributtbiter for mappeprioritering.
I 1988 definerte ISO 9660 (en ISO-standard) filsystemet som ble brukt på CD-ROM-er.
I 1993 dukket NTFS versjon 1.0-systemet opp, brukt av Windows.
I 1994 og 1995 ble filsystemene for CD-ROM- er fullført: Rock Ridge og Joliet .
Filsystem | Oppfinner | År innledning |
Første operativsystem | Tillatelse |
---|---|---|---|---|
DECtape | DEC | 1964 | PDP-6 skjerm | |
Nivå-D | DEC | 1968 | TOPS-10 | |
George3 | IKT (senere ICL) | 1968 | George 3 | |
ODS-1 | DEC | 1972 | RSX-11 | |
RT-11 filsystem | DEC | 1973 | RT-11 | |
DOS ( GEC ) | GEC | 1973 | Core operativsystem | |
CP / M filsystem | Gary Kildall | 1974 | CP / M | |
V6FS | Bell Labs | 1975 | Unix versjon 6 | |
OS4000 | GEC | 1977 | OS4000 | |
FAT (8-bit) | Marc McDonald , Microsoft | 1977 | Microsoft frittstående disk BASIC-80 | |
DOS 3.x | Apple Computer | 1978 | Apple DOS | |
Pascal | Apple Computer | 1978 | Apple Pascal | |
CBM DOS | Commodore | 1978 | BASIC Microsoft (for CBM PET) | |
V7FS | Bell Labs | 1979 | Versjon 7 Unix | |
ODS-2 | DEC | 1979 | OpenVMS | |
FAT12 | Tim Paterson , Seattle Computer Products | 1980 | QDOS , 86-DOS | |
AFS | Carnegie Mellon University | 1982 | Multiplatform MultoOS | |
DFS | Acorn Computers Ltd. | 1982 | Acorn BBC Micro MOS | |
ADFS | Acorn Computers Ltd. | 1983 | Acorn Electron (senere Arthur RISC OS ) | |
FFS | Kirk mckusick | 1983 | 4.2BSD | |
ProDOS | Apple Computer | 1983 | ProDOS 8 | |
MFS | Apple Computer | 1984 | Mac os | |
FAT16 | Microsoft , IBM | 1984 | PC DOS 3.0 / MS-DOS 3.0 | |
Elektronika BK båndformat | NPO "Vitenskapelig senter" (nå Sitronics ) | 1985 | Vilnius Basic , BK-skjermprogram | |
HFS | Apple Computer | 1985 | Mac os | |
Amiga OFS | Metacomco for Commodore | 1985 | AmigaOS | |
High Sierra | Ecma International | 1985 | MS-DOS , Mac OS | |
NWFS | Novell | 1985 | NetWare 286 | |
FAT16B | Compaq | 1987 | Compaq MS-DOS 3.31, DR DOS 3.31 | |
MINIX V1 FS | Andrew S. Tanenbaum | 1987 | MINIX 1.0 | |
Amiga FFS | Commodore | 1988 | AmigaOS 1.3 | |
HPFS | IBM og Microsoft | 1988 | OS / 2 | |
ISO 9660: 1988 | Ecma International , Microsoft | 1988 | MS-DOS , Mac OS og AmigaOS | |
JFS1 | IBM | 1990 | AIX | |
VxFS | VERITAS (nå Symantec ) | 1991 | utviklet for Unix System Laboratories , HP-UX | |
ekst | Remy-kort | 1992 | Linux | |
WAFL | NetApp | 1992 | Data ONTAP | |
MINIX V2 FS | Andrew S. Tanenbaum | 1992 | MINIX 1.6 og 2.0 | |
AdvFS | DEC | 1993 | Digital Unix | |
NTFS versjon 1.0 | Microsoft , Tom Miller , Gary Kimura | 1993 | Windows NT 3.1 | Eieren |
AKU | Margo seltzer | 1993 | Berkeley Sprite | |
ext2 | Remy-kort | 1993 | Linux , Hurd | |
UFS1 | Kirk mckusick | 1994 | 4.4BSD | |
XFS | SGI | 1994 | IRIX | |
HFS (hierarkisk filsystem) | IBM | 1994 | MVS / ESA (nå z / OS ) | |
Rock Ridge | Young Minds Inc. | 1994 | Linux , Mac OS , AmigaOS og FreeBSD | |
Joliet ("CDFS") | Microsoft | 1995 | Microsoft Windows , Linux , Mac OS og FreeBSD | |
PFS | Michiel Pelt | 1996 | AmigaOS | |
Romeo | Adaptec | 1996 | Microsoft Windows | |
UDF | ISO / ECMA / OSTA | 1995 | - | |
FAT32 | Microsoft | 1996 | Windows 95b | |
QFS | LSC Inc, Sun Microsystems | 1996 | Solaris | |
GPFS | IBM | 1996 | AIX , Linux , Windows | |
Vær filsystem | Be Inc. , D. Giampaolo , C. Meurillon | 1996 | BeOS , HaikuOS | |
HFS Plus | Apple Computer | 1998 | Mac OS 8.1 | |
NSS | Novell | 1998 | NetWare 5 | |
PolyServe File System (PSFS) | PolyServe | 1998 | Windows , Linux | |
ODS-5 | DEC | 1998 | OpenVMS 7.2 | |
SFS | John hendrikx | 1998 | AmigaOS , AROS , MorphOS | |
ext3 | Stephen tweedie | 1999 | Linux | |
ISO 9660: 1999 | Ecma International , Microsoft | 1999 | Microsoft Windows , Linux , Mac OS X , FreeBSD og AmigaOS | |
JFS | IBM | 1999 | OS / 2 Warp Server for e-business | |
GFS | Sistina ( Red Hat ) | 2000 | Linux | |
Melio FS | Sanbolic | 2001 | Windows | |
NTFS versjon 3.1 | Microsoft | 2001 | Windows XP | Eieren |
ReiserFS | Namesys | 2001 | Linux | |
zFS | IBM | 2001 | z / OS (backported to OS / 390 ) | |
FATX | Microsoft | 2002 | Xbox | |
UFS2 | Kirk mckusick | 2002 | FreeBSD 5.0 | |
Lysekrone | Cluster File Systems (senere Oracle Corporation ) | 2002 | Linux | |
OCFS | Oracle Corporation | 2002 | Linux | |
VMFS2 | VMware | 2002 | VMware ESX Server 2.0 | |
ext3cow | Zachary Peterson | 2003 | Linux | |
Fossil | Bell Labs | 2003 | Plan 9 fra Bell Labs 4 | |
Googles filsystem | 2003 | Linux | ||
PramFS | MontaVista | 2003 | Linux | |
Tillit | Datalight | 2003 | Windows CE , VxWorks , tilpassede porter | |
VxCFS | VERITAS (nå Symantec ) | 2004 | AIX , HP-UX , Solaris , Linux | |
ZFS | Sun Microsystems | 2004 | Solaris | CDDL |
Reiser4 | Namesys | 2004 | Linux | |
Ikke-flyktig filsystem | Palm, Inc. | 2004 | Palm OS Garnet | |
MINIX V3 FS | Andrew S. Tanenbaum | 2005 | MINIX 3 | |
OCFS2 | Oracle Corporation | 2005 | Linux | |
NILFS | NTT | 2005 | Linux | |
VMFS3 | VMware | 2005 | VMware ESX Server 3.0 | |
GFS2 | Rød hatt | 2006 | Linux | |
ext4 | Diverse | 2006 | Linux | |
exFAT | Microsoft | 2006, 2009 | Windows CE 6.0 , Windows XP SP3 , Windows Vista SP1 | Eieren |
TexFAT / TFAT | Microsoft | 2006 | Windows CE 6.0 | |
Btrfs | Oracle Corporation | 2007 | Linux | LPG |
Ceph | Sage Weil , Inktank Storage , Red Hat | 2007, 2012 | Linux | |
WBFS | kwiirk og Waninkoko (Wii homebrew) | 2008 | Wii | |
HAMMER | Matthew Dillon | 2008 | DragonFly BSD | |
Tux3 | Diverse | 2008 | Linux | |
UBIFS | Nokia med hjelp fra University of Szeged | 2008 | Linux | |
Oracle ACFS | Oracle Corporation | 2009 | Linux bare - Red Hat Enterprise Linux 5 og Oracle Enterprise Linux 5 | |
Tillit Nitro | Datalight | 2009 | Windows CE , Windows Mobile , VxWorks , Linux , tilpassede porter | |
LTFS | IBM | 2010 | Linux , Mac OS X , planlagt Microsoft Windows , | LGPL |
IlesfayFS | Ilesfay Technology Group | 2011 | Microsoft Windows , planlagt Red Hat Enterprise Linux | |
VMFS5 | VMware | 2011 | VMware ESXi 5.0tux 3 statistikk | |
ReFS | Microsoft | 2012, 2013 | Windows Server 2012 | |
Lanyard Filesystem | Dan Luedtke | 2012 | Linux | |
F2FS | Samsung | 2012 | Linux | GPLv2 |
APFS | eple | 2016 | Mac os | |
Filsystem | Skaper | Introduksjonsår | Første operativsystem | Tillatelse |
Volumet av data som behandles av dataprogrammer ofte når flere hundre gigabyte og går opp til flere terabyte for visse industrielle applikasjoner. Slike datamengder kan ikke lagres i hovedminnet . I tillegg er langvarig vedvarende lagring, slik at dataene som blir behandlet eller behandlet kan lagres for fremtidig bruk, også nødvendig. Prinsippet som brukes for å svare på dette problemet består i å lagre disse dataene i sekundære minner i form av filer, det vil si en serie blokker (den minste enheten lagringsenheten klarer å administrere). Innholdet i disse blokkene, en enkel sekvens av binære data , kan tolkes i henhold til filformatet, slik som tegn, hel- eller flytende tall, maskinens betjeningskoder, minneadresser, etc. Utvekslingen mellom de to minnetyper gjøres deretter ved blokkoverføring.
Formålet med filsystemet er å gi tilgang til innholdet i lagrede filer (åpne filen, lagre den, kopiere eller flytte den til en annen plassering eller slette den) fra deres bane, dannet av et navn foran en liste over nestede kataloger .
For brukeren blir et filsystem sett på som en trestruktur: filer grupperes sammen i kataloger (et konsept som brukes av de fleste operativsystemer). Disse katalogene inneholder enten filer eller rekursivt andre kataloger. Så det er en rotkatalog og underkataloger. En slik organisasjon genererer et hierarki av kataloger og filer organisert i et tre.
Det er forskjellige metoder for å knytte et filnavn til innholdet. Når det gjelder FAT- filsystemet , et gammelt MS-DOS- og Windows-filsystem som fortsatt er mye brukt på flyttbare medier som USB-stasjoner, inneholder hver katalog en tabell som knytter filnavn med deres størrelse og en indeks som peker mot filallokeringstabellen, et reservert område på disken som indikerer for hver datablokk indeksen for neste blokk i samme fil.
Når det gjelder Unix (eller Linux / Minix ) filsystemer, identifiseres filer og kataloger med et unikt nummer, inode nummeret . Dette nummeret brukes til å få tilgang til en datastruktur ( inode ) som grupperer all informasjonen om en fil unntatt navnet, spesielt beskyttelsen av tilgangen til å lese, skrive eller lister over datoer, så vel som virkemidlene for å 'finne innholdet. Navnet er lagret i katalogen som er tilknyttet et inodenummer. Denne organisasjonen har fordelen at en enkelt fil på disken kan være kjent for systemet med flere navn.
Organiseringen av NTFS- filsystemet er enda mer kompleks, og fungerer omtrent som en database.
Navnet på en fil er en streng med tegn, ofte av begrenset størrelse. I dag er nesten alle tegnene i Unicode-katalogen vanligvis brukbare, men noen spesifikke tegn som har betydning for operativsystemet, kan være forbudt eller utfaset. Dette er for eksempel for tegnene ":", "/" eller "\" i Windows.
Unix-filsystemer bruker filnavn basert på en sekvens av byte. De nederste lagene av programvare (kjerne, filsystemer) håndterer filnavn uten å vite hvilket tegnsett som er brukt. På brukernivå leveres tegnsettet som regel ikke av filsystemet, men avhenger av brukerens sted. I en sammenheng der det er ønskelig med interoperabilitet på globalt nivå, er Unicode-kompatibilitet ønsket, og derfor brukes UTF-8 i økende grad, spesielt i Linux-distribusjoner. Eldre systemer brukte regionale kodingssystemer som kan ødelegge filnavn når brukere har forskjellige lokale innstillinger. I moderne systemer unngås bruk av andre filnavn enn Unicode for å redusere interoperabilitetsproblemer med Unicode-systemer.
NTFS , Virtual FAT og Joliet , ReFS bruker UTF-16 tegnsett for filnavn.
Under Windows og i grafiske miljøer har navnet på en fil vanligvis et suffiks (utvidelse) atskilt med en periode som avhenger av innholdet i filen: .txt for eksempel for tekst. Denne utvidelsen vil avhenge av valget av applikasjoner som støtter denne filen. Imidlertid, i Linux / Unix, i kommandolinjesystemer og i programmeringsspråk, er utvidelsen bare en del av filnavnet, dets format oppdages av MIME- typen skrevet gjennomsiktig i toppteksten.
Hver fil er beskrevet av metadata (holdt i inode under Unix), mens innholdet i filen skrives til en eller flere blokker på lagringsmediet, avhengig av størrelsen på filen.
De vanligste metadataene på UNIX er:
På de fleste Unix-systemer viser stat- kommandoen hele innholdet i inoden .
Filhåndteringssystemet utfører flere funksjoner:
Den underliggende fysiske organiseringen av mediet som brukes (blokker, lineære) og de lave nivåene input / output mekanismer er maskerte. Brukeren kan derfor organisere sine permanente data ved å distribuere dem i forskjellige filer. Innholdet i filene bestemmes av formatet , som avhenger av applikasjonen som brukes.
I tillegg til denne abstrakte organisasjonen, kan filsystemer inkludere automatisk datakomprimering eller kryptering, mer eller mindre finkornet styring av filtilgangsrettigheter og skrivelogging (for robusthet, i tilfelle en feil). Av systemet). I tillegg kan noen filsystemer spenne over et helt nettverk, for eksempel NFS. Noen av disse nettverksfilsystemene kan distribueres eller distribueres, for eksempel PVFS2.
Valget av filhåndteringssystem er hovedsakelig basert på operativsystemet. Vanligvis støtter nyere operativsystemer et stort antall filsystemer.
MS-DOS (og kompatible) og tidlige versjoner av Windows 95 brukte filsystemene FAT16 og FAT12 (for media mindre enn 16 MB ). Fra og med Windows 95 OSR2 begynte valget mellom filsystemer å utvides. Både FAT16 og FAT32 kunne brukes, og fra en viss partisjonsstørrelse var valget av FAT32- system da mer fornuftig.
Under de første versjonene av Windows NT (NT3.x og NT4) er det valget mellom systemet FAT16 og NTFS . Dette operativsystemet støtter ikke FAT32 . Generelt anbefales NTFS fordi det gir større sikkerhet samt forbedret ytelse sammenlignet med FAT . I motsetning til tidligere versjoner av Windows NT godtar Windows NT5 ( Windows 2000 ) partisjoner av typen FAT16 , FAT32 og NTFS . Dermed anbefales det siste filsystemet (NTFS 5) siden det tilbyr mer funksjonalitet enn FAT- systemer .
Vista SP1 tilbyr å formatere i exFAT, som er en stor utvikling av FAT, og foreslår en bedre pålitelighet, en "ekte" styring av lange navn og ACL . Windows CE 6 (fremtidens Windows Mobile 7) administrerer også denne nye FS. Microsofts mål er å erstatte FAT, som hovedsakelig brukes på flyttbare medier som minnekort.
Unix-verdenen (Unix, Linux, BSD, Mac OS X) støtter et veldig stort antall filsystemer. Dette er på grunn av det faktum at de støttede systemene til tross for antallet deres generelt følger standarder og spesielt POSIX .
Registrerte filsystemer skriver endringer i en journal før de gjør dem til filene selv. Denne mekanismen gir større pålitelighet ved å tillate at "pågående" modifikasjoner gjenopprettes i tilfelle en utilsiktet avstengning (strømbrudd, systemkrasj, frakobling av en ekstern disk osv.).
Snapshot- filsystemer , eller på fransk, snapshots gir muligheten til å registrere tilstanden til filsystemet på et gitt tidspunkt.
Disse filsystemene er ikke ment å gi tilgang til faktiske filer. De presenterer faktisk, under utseendet til et klassisk hierarki av filer og kataloger, informasjon av variert art (om tilstanden til datamaskinen, periferiutstyr eller tillat tilgang til databaser). Dette er derfor spesifikke grensesnitt for bestemt programvare, generelt operativsystemet.