Udtrykket filsystem (forkortet " FS " til filsystem , undertiden filsystem på engelsk) betegner tvetydigt:
Generelt en fil -system eller fil management system (FMS) er en måde at lagre information og organisere det i filer på det, der kaldes, i software engineering , sekundære hukommelser (til hardware computer , det er masse hukommelse såsom en harddisk , en SSD- disk , en CD-ROM , en USB-nøgle , en diskette osv.). Sådan filhåndtering gør det muligt at behandle og gemme store mængder data såvel som at dele dem mellem flere computerprogrammer . Det giver brugeren et abstrakt billede af sine data og gør det muligt at lokalisere dem fra en sti.
Der er andre måder at organisere data på , for eksempel databaser (især relationsdatabase ) og indekserede filer .
Det perforerede kort forsvandt gradvist fra 1970, da I / O-enhederne med magnetbånd og disketter i "8 inch" -format og mere effektive masseminder dukkede op .
I 1964 gjorde DECtape- systemet fra DEC- firmaet det muligt at registrere data på magnetbånd snarere end hulkort .
I 1968 blev GEORGE 3 udstyret med en filbutik ( filbutik ), der registrerede filerne i en træstruktur i ideen om Multics . Hver bruger af systemet havde en brugermappe ( hjem ) med så mange undermapper som nødvendigt. Brugermapper kunne fås direkte eller gennem en sti, som :: MASTER.USERS.COMPSCI, JOHN . Et system med adgangskontrollister blev brugt til sikkerhed, der gør det muligt at konfigurere adgang for bruger og gruppe. Filsystemet var organiseret på to niveauer: den ene på disken og den anden på magnetbånd.
I 1972 var ODS-1 et fladt filsystem (brugt af RSX-11 OS). Efterfølgende erstattes den af ODS-2 og ODS-5.
I 1974 dukkede CP / M-filsystemet op. Dette operativsystem gemmer filer på disketter i en bestemt logisk organisation (som ikke blev overtaget af MS-DOS) og kan udfylde disketter, indtil de er helt fulde.
CP / M kan også styre harddiske (i virkeligheden, da BIOS er "åben" og tydeligt beskrevet i dokumentationen, som Digital Research leverede med noget af softwaren, er det derfor muligt at tilpasse ethvert CP / M-system til ethvert tilgængeligt massehukommelse - og tilgængelige perifere enheder).
Hver fil har et navn og en udvidelse (mere præcist er syntaksen: <filnavn (maks. 8 byte)>. <Udvidelse (maks. 3 byte)>).
I 1978 dukkede Apples første filsystem op.
I 1980 dukkede FAT12-systemet op. FAT16-systemet i 1984.
Den BIOS parameterblokken (BPB) indføres med PC DOS 2.0. Denne udgave introducerer også skrivebeskyttet, arkiv , volumenetiket og mappeattributbit til mappeprioritering.
I 1988 definerede ISO 9660 (en ISO-standard) filsystemet, der blev brugt på cd-rom'er.
I 1993 optrådte NTFS version 1.0-systemet, brugt af Windows.
I 1994 og 1995 blev filsystemerne til cd-rom'er afsluttet: Rock Ridge og Joliet .
Filsystem | Opfinder | År af introduktion |
Første operativsystem | Licens |
---|---|---|---|---|
DECtape | DEC | 1964 | PDP-6 skærm | |
Niveau-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 | Kerneoperativsystem | |
CP / M- filsystem | Gary Kildall | 1974 | CP / M | |
V6FS | Bell Labs | 1975 | Unix version 6 | |
OS4000 | GEC | 1977 | OS4000 | |
FAT (8-bit) | Marc McDonald , Microsoft | 1977 | Microsoft Standalone Disk BASIC-80 | |
DOS 3.x | Apple Computer | 1978 | Apple DOS | |
Pascal | Apple Computer | 1978 | Æble Pascal | |
CBM DOS | Commodore | 1978 | BASIC Microsoft (til CBM PET) | |
V7FS | Bell Labs | 1979 | Version 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 "Videnskabeligt center" (nu Sitronics ) | 1985 | Vilnius Basic , BK skærmprogram | |
HFS | Apple Computer | 1985 | Mac OS | |
Amiga OFS | Metacomco til 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 (nu Symantec ) | 1991 | udviklet til 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 version 1.0 | Microsoft , Tom Miller , Gary Kimura | 1993 | Windows NT 3.1 | Ejer |
AKU | Margo seltzer | 1993 | Berkeley Sprite | |
ekst2 | Remy-kort | 1993 | Linux , Hurd | |
UFS1 | Kirk mckusick | 1994 | 4.4BSD | |
XFS | SGI | 1994 | IRIX | |
HFS (hierarkisk filsystem) | IBM | 1994 | MVS / ESA (nu 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-filsystem (PSFS) | PolyServe | 1998 | Windows , Linux | |
ODS-5 | DEC | 1998 | OpenVMS 7.2 | |
SFS | John hendrikx | 1998 | AmigaOS , AROS , MorphOS | |
ekst3 | 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 til e-business | |
GFS | Sistina ( rød hat ) | 2000 | Linux | |
Melio FS | Sanbolic | 2001 | Windows | |
NTFS version 3.1 | Microsoft | 2001 | Windows XP | Ejer |
ReiserFS | Namesys | 2001 | Linux | |
zFS | IBM | 2001 | z / OS (backported til 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 | |
Tillid | Datalight | 2003 | Windows CE , VxWorks , brugerdefinerede porte | |
VxCFS | VERITAS (nu Symantec ) | 2004 | AIX , HP-UX , Solaris , Linux | |
ZFS | Sun Microsystems | 2004 | Solaris | CDDL |
Reiser4 | Namesys | 2004 | Linux | |
Ikke-flygtigt 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 hat | 2006 | Linux | |
ekst4 | Forskellige | 2006 | Linux | |
exFAT | Microsoft | 2006, 2009 | Windows CE 6.0 , Windows XP SP3 , Windows Vista SP1 | Ejer |
TexFAT / TFAT | Microsoft | 2006 | Windows CE 6.0 | |
Btrfs | Oracle Corporation | 2007 | Linux | LPG |
Ceph | Sage Weil , opbevaring af inkktank , Red Hat | 2007, 2012 | Linux | |
WBFS | kwiirk og Waninkoko (Wii homebrew) | 2008 | Wii | |
HAMMER | Matthew Dillon | 2008 | DragonFly BSD | |
Tux3 | Forskellige | 2008 | Linux | |
UBIFS | Nokia med hjælp fra University of Szeged | 2008 | Linux | |
Oracle ACFS | Oracle Corporation | 2009 | Kun Linux - Red Hat Enterprise Linux 5 og Oracle Enterprise Linux 5 | |
Reliance Nitro | Datalight | 2009 | Windows CE , Windows Mobile , VxWorks , Linux , brugerdefinerede porte | |
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 statistik | |
ReFS | Microsoft | 2012, 2013 | Windows Server 2012 | |
Nøglesnor-filsystem | Dan Luedtke | 2012 | Linux | |
F2FS | Samsung | 2012 | Linux | GPLv2 |
APFS | Æble | 2016 | macOS | |
Filsystem | Skaberen | Introduktionsår | Første operativsystem | Licens |
Mængden af data, der behandles af computerapplikationer, når ofte flere hundrede gigabyte og går op til flere terabyte til visse industrielle applikationer. Sådanne datamængder kan ikke lagres i hovedhukommelsen . Derudover er langvarig vedvarende lagring, der gør det muligt at gemme de behandlede data eller blive behandlet til fremtidig brug, også nødvendigt. Princippet, der bruges til at reagere på dette problem, består i at gemme disse data i sekundære hukommelser i form af filer, det vil sige sekvenser af blokke (den mindste enhed, som lagerenheden er i stand til at administrere). Indholdet af disse blokke, en simpel sekvens af binære data , kan fortolkes i henhold til filformatet, såsom tegn, hel- eller flydende-numre, maskinkontrolkoder, hukommelsesadresser osv. Udvekslingen mellem de to typer hukommelse sker derefter ved blokoverførsel.
Formålet med filsystemet er at give adgang til indholdet af lagrede filer (åbne filen, gemme den, kopiere eller flytte den til en anden placering eller slette den) fra deres sti, dannet med et navn efter en liste over indlejrede mapper .
For brugeren ses et filsystem som en træstruktur: filer grupperes i mapper (et koncept, der bruges af de fleste operativsystemer). Disse mapper indeholder enten filer eller rekursivt andre mapper. Så der er en rodkatalog og underkataloger. En sådan organisation genererer et hierarki af mapper og filer organiseret i et træ.
Der er forskellige metoder til at knytte et filnavn til dets indhold. I tilfælde af FAT- filsystemet , et gammelt MS-DOS- og Windows-filsystem, der stadig er meget udbredt på flytbare medier såsom USB-drev, indeholder hver bibliotek en tabel, der associerer filnavne med deres størrelse og et indeks, der peger på filallokeringstabellen, et reserveret område på disken, der angiver for hver datablok indekset for den næste blok i den samme fil.
I tilfælde af Unix (eller Linux / Minix ) filsystemer identificeres filer og mapper med et unikt nummer, inode nummeret . Dette nummer giver adgang til en datastruktur ( inode ), der samler alle oplysninger om en fil undtagen navnet, især beskyttelsen af adgangen til læsning, skrivning eller lister over datoer samt 'find indholdet. Navnet er gemt i den mappe, der er knyttet til et inodenummer. Denne organisation har den fordel, at en enkelt fil på disken kan være kendt af systemet med flere navne.
Organiseringen af NTFS- filsystemet er endnu mere kompleks og fungerer meget som en database.
Navnet på en fil er en streng af tegn, ofte af begrænset størrelse. I dag er næsten alle tegn i Unicode-biblioteket generelt anvendelige, men nogle specifikke tegn, der har betydning for operativsystemet, kan være forbudt eller udfaset. Dette er f.eks. Tilfældet med tegnene ":", "/" eller "\" i Windows.
Unix-filsystemer bruger filnavne baseret på en række bytes. De nederste lag af software (kerne, filsystemer) håndterer filnavne uden at kende det anvendte tegnsæt. På brugerniveau leveres tegnsættet normalt ikke af filsystemet, men afhænger af brugerens lokalitet. I en sammenhæng, hvor interoperabilitet på globalt niveau ønskes, ønskes Unicode-kompatibilitet, og derfor bruges UTF-8 mere og mere især i Linux-distributioner. Ældre systemer brugte regionale kodningssystemer, der kan ødelægge filnavne, når brugere har forskellige landestandardindstillinger. I moderne systemer undgås brugen af andre filnavne end Unicode for at reducere interoperabilitetsproblemer med Unicode-systemer.
NTFS , Virtual FAT og Joliet , ReFS bruger UTF-16 tegnsæt til filnavne.
Under Windows og i grafiske miljøer har navnet på en fil generelt et suffiks (udvidelse) adskilt af en periode, der afhænger af filens indhold: .txt for f.eks. Tekst. Denne udvidelse afhænger af valget af applikationer, der understøtter denne fil. Men i Linux / Unix, i kommandolinjesystemer og i programmeringssprog er udvidelsen kun en del af filnavnet, dets format registreres af MIME- typen, der er skrevet gennemsigtigt i overskriften.
Hver fil er beskrevet af metadata (gemt i inode under Unix), mens indholdet af filen skrives til en eller flere blokke af lagringsmediet, afhængigt af filens størrelse.
De mest almindelige metadata på UNIX er:
På de fleste Unix-systemer viser stat- kommandoen hele indholdet af inoden .
Filhåndteringssystemet udfører flere funktioner:
Den underliggende fysiske organisering af det anvendte medium (blokke, lineære) og input / output-mekanismer på lavt niveau er maskeret. Brugeren kan derfor organisere sine permanente data ved at distribuere dem i forskellige filer. Indholdet af filer bestemmes af deres format , der afhænger af den anvendte applikation.
Ud over denne abstrakte organisation kan filsystemer omfatte automatisk datakomprimering eller kryptering, mere eller mindre finkornet styring af filadgangsrettigheder og skrivelogning (for robusthed i tilfælde af en fejl) af systemet). Derudover kan nogle filsystemer spænde over et helt netværk, såsom NFS. Nogle af disse netværksfilsystemer kan distribueres eller distribueres, såsom PVFS2.
Valget af filhåndteringssystem er hovedsageligt baseret på operativsystemet. Normalt understøtter nyere operativsystemer et stort antal filsystemer.
MS-DOS (og kompatible) og tidlige versioner af Windows 95 brugte filsystemerne FAT16 og FAT12 (til medier mindre end 16 MB ). Fra og med Windows 95 OSR2 begyndte valget mellem filsystemer at udvides. Både FAT16 og FAT32 kunne bruges, og fra en bestemt partitionsstørrelse var valget af FAT32- system så mere fornuftigt.
Under de første versioner af Windows NT (NT3.x og NT4) er der valget mellem systemet FAT16 og NTFS . Dette operativsystem understøtter ikke FAT32 . Generelt anbefales NTFS , fordi det giver større sikkerhed samt forbedret ydeevne sammenlignet med FAT . I modsætning til tidligere versioner af Windows NT accepterer Windows NT5 ( Windows 2000 ) partitioner af typen FAT16 , FAT32 og NTFS . Således anbefales det nyeste filsystem (NTFS 5), da det tilbyder mere funktionalitet end FAT- systemer .
Vista SP1 tilbyder at formatere i exFAT, som er en stor udvikling af FAT, der foreslår en bedre pålidelighed, en "ægte" styring af lange navne og ACL . Windows CE 6 (den fremtidige Windows Mobile 7) administrerer også denne nye FS. Microsofts mål er at erstatte FAT, der hovedsageligt bruges på flytbare medier som hukommelseskort.
Unix-verdenen (Unix, Linux, BSD, Mac OS X) understøtter et meget stort antal filsystemer. Dette skyldes det faktum, at på trods af deres antal følger de understøttede systemer generelt standarder og især POSIX .
Journalerede filsystemer skriver ændringer til en journal, før de gør dem til filerne selv. Denne mekanisme giver større pålidelighed ved at tillade "igangværende" ændringer at blive gendannet i tilfælde af en utilsigtet nedlukning (strømafbrydelse, systemnedbrud, frakobling af en ekstern disk osv.).
Snapshot- filsystemer eller på fransk snapshots giver mulighed for at registrere filsystemets tilstand på et givet tidspunkt.
Disse filsystemer er ikke beregnet til at give adgang til faktiske filer. Under præsentationen af et klassisk hierarki af filer og kataloger præsenterer de faktisk information af forskellig art (om computerens tilstand, perifere enheder eller tilladelse til adgang til databaser). Dette er derfor specifikke grænseflader til bestemt software, generelt operativsystemet.