Termenul sistem de fișiere (prescurtat „ FS ” pentru File System , uneori sistem de fișiere în limba engleză) desemnează ambiguu:
În general, un sistem de fișiere sau un sistem de gestionare a fișierelor (FMS) este o modalitate de stocare a informațiilor și de organizare a acestora în fișiere pe ceea ce se numește, în ingineria software , memorii secundare (pentru computerul hardware , este memorie de masă, cum ar fi un hard disk , un disc SSD , un CD-ROM , o cheie USB , o dischetă etc.). O astfel de gestionare a fișierelor face posibilă procesarea și stocarea unor cantități mari de date, precum și partajarea acestora între mai multe programe de calculator . Acesta oferă utilizatorului o vizualizare abstractă a datelor sale și permite localizarea acesteia dintr-o cale.
Există și alte modalități de organizare a datelor , de exemplu bazele de date (în special baza de date relațională ) și fișierele indexate .
Cardul perforat a dispărut treptat din 1970 când au apărut unitățile I / O cu bandă magnetică și dischete în format „8 inch” și amintiri de masă mai eficiente.
În 1964, sistemul DECtape de la compania DEC a făcut posibilă înregistrarea datelor pe benzile magnetice, mai degrabă decât pe cardurile perforate .
În 1968, GEORGE 3 a fost echipat cu un depozit de fișiere ( depozit de fișiere ) care înregistra fișierele într-o structură de copac în ideea Multics . Fiecare utilizator al sistemului avea un folder utilizator ( acasă ) cu câte subfoldere era nevoie. Folderele utilizatorilor pot fi accesate direct sau printr-o cale, cum ar fi :: MASTER.USERS.COMPSCI, JOHN . Un sistem de liste de control al accesului a fost utilizat pentru securitate, permițând configurarea accesului de către utilizator și grup. Sistemul de fișiere a fost organizat pe două niveluri: unul pe disc, iar celălalt pe bandă magnetică.
În 1972, ODS-1 era un sistem de fișiere plat (utilizat de sistemul de operare RSX-11). Ulterior va fi înlocuit cu ODS-2 și ODS-5.
În 1974, a apărut sistemul de fișiere CP / M. Acest sistem de operare salvează fișierele pe dischete într-o anumită organizație logică (care nu a fost preluată de MS-DOS) și poate umple dischetele până când acestea sunt complet pline.
CP / M poate gestiona, de asemenea, hard disk-uri (în realitate, deoarece BIOS-ul este „deschis” și descris în mod clar în documentația pe care Digital Research a furnizat-o cu unele dintre software-urile sale, este deci posibilă adaptarea oricărui sistem CP / M particular la orice sistem disponibil memorie de masă - și periferice disponibile).
Fiecare fișier are un nume și o extensie (mai exact, sintaxa este: <numele fișierului (maxim 8 octeți)>. <Extensie (maxim 3 octeți)>).
În 1978, a apărut primul sistem de fișiere Apple.
În 1980 a apărut sistemul FAT12. Sistemul FAT16 în 1984.
Blocul parametru BIOS (BPB) este introdus cu PC - DOS 2.0. Această versiune introduce, de asemenea , biți de atribut doar pentru citire, arhivă , etichetă de volum și folder pentru prioritizarea folderelor.
În 1988, ISO 9660 (un standard ISO) a definit sistemul de fișiere utilizat pe CD-ROM-uri.
În 1993 a apărut sistemul NTFS Versiunea 1.0, folosit de Windows.
În 1994 și 1995, sistemele de fișiere pentru CD-ROM-uri au fost finalizate: Rock Ridge și Joliet .
Sistemul de fișiere | Inventator | Anul introducerii |
Sistem de operare inițial | Licență |
---|---|---|---|---|
DECtape | DEC | 1964 | Monitor PDP-6 | |
Nivelul-D | DEC | 1968 | TOPS-10 | |
George3 | TIC (ulterior ICL) | 1968 | George 3 | |
ODS-1 | DEC | 1972 | RSX-11 | |
Sistem de fișiere RT-11 | DEC | 1973 | RT-11 | |
DOS ( GEC ) | GEC | 1973 | Sistem de operare de bază | |
Sistem de fișiere CP / M | Gary Kildall | 1974 | CP / M | |
V6FS | Laboratoarele Bell | 1975 | Unix versiunea 6 | |
OS4000 | GEC | 1977 | OS4000 | |
FAT (8 biți) | Marc McDonald , Microsoft | 1977 | Microsoft Standalone Disk BASIC-80 | |
DOS 3.x | Computer Apple | 1978 | Apple DOS | |
Pascal | Computer Apple | 1978 | Apple Pascal | |
CBM DOS | Commodore | 1978 | Microsoft de bază (pentru CBM PET) | |
V7FS | Laboratoarele Bell | 1979 | Versiunea 7 Unix | |
ODS-2 | DEC | 1979 | OpenVMS | |
FAT12 | Tim Paterson , Seattle Computer Products | 1980 | QDOS , 86-DOS | |
AFS | Universitatea Carnegie Mellon | 1982 | Multiplatform MultoOS | |
DFS | Acorn Computers Ltd. | 1982 | Acorn BBC Micro MOS | |
ADFS | Acorn Computers Ltd. | 1983 | Acorn Electron (mai târziu Arthur RISC OS ) | |
FFS | Kirk mckusick | 1983 | 4.2BSD | |
ProDOS | Computer Apple | 1983 | ProDOS 8 | |
MFS | Computer Apple | 1984 | Mac OS | |
FAT16 | Microsoft , IBM | 1984 | PC DOS 3.0 / MS-DOS 3.0 | |
Format banda Elektronika BK | NPO "Centru științific" (acum Sitronics ) | 1985 | Vilnius Basic , program de monitorizare BK | |
HFS | Computer Apple | 1985 | Mac OS | |
Amiga OFS | Metacomco pentru Commodore | 1985 | AmigaOS | |
Sierra înaltă | Ecma International | 1985 | MS-DOS , Mac OS | |
NWFS | Novell | 1985 | 286. NetWare | |
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 și Microsoft | 1988 | OS / 2 | |
ISO 9660: 1988 | Ecma International , Microsoft | 1988 | MS-DOS , Mac OS și AmigaOS | |
JFS1 | IBM | 1990 | AIX | |
VxFS | VERITAS (acum Symantec ) | 1991 | dezvoltat pentru Unix System Laboratories , HP-UX | |
ext | Card Remy | 1992 | Linux | |
WAFL | NetApp | 1992 | Date ONTAP | |
MINIX V2 FS | Andrew S. Tanenbaum | 1992 | MINIX 1.6 și 2.0 | |
AdvFS | DEC | 1993 | Unix digital | |
NTFS versiunea 1.0 | Microsoft , Tom Miller , Gary Kimura | 1993 | Windows NT 3.1 | Proprietar |
LFS | Margo seltzer | 1993 | Berkeley Sprite | |
ext2 | Card Remy | 1993 | Linux , Hurd | |
UFS1 | Kirk mckusick | 1994 | 4.4BSD | |
XFS | SGI | 1994 | IRIX | |
HFS (Sistem de fișiere ierarhic) | IBM | 1994 | MVS / ESA (acum z / OS ) | |
Creasta de stâncă | Young Minds Inc. | 1994 | Linux , Mac OS , AmigaOS și FreeBSD | |
Joliet („CDFS”) | Microsoft | 1995 | Microsoft Windows , Linux , Mac OS și 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 | |
Fii sistemul de fișiere | Be Inc. , D. Giampaolo , C. Meurillon | 1996 | BeOS , HaikuOS | |
HFS Plus | Computer Apple | 1998 | Mac OS 8.1 | |
NSS | Novell | 1998 | NetWare 5 | |
Sistem de fișiere PolyServe (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 și AmigaOS | |
JFS | IBM | 1999 | OS / 2 Warp Server pentru e-business | |
GFS | Sistina ( Red Hat ) | 2000 | Linux | |
Melio FS | Sanbolic | 2001 | Windows | |
NTFS versiunea 3.1 | Microsoft | 2001 | Windows XP | Proprietar |
ReiserFS | Namesys | 2001 | Linux | |
zFS | IBM | 2001 | z / OS (backportat la OS / 390 ) | |
FATX | Microsoft | 2002 | Xbox | |
UFS2 | Kirk mckusick | 2002 | FreeBSD 5.0 | |
Candelabru | Cluster File Systems (mai târziu Oracle Corporation ) | 2002 | Linux | |
OCFS | Oracle Corporation | 2002 | Linux | |
VMFS2 | VMware | 2002 | VMware ESX Server 2.0 | |
ext3cow | Zachary Peterson | 2003 | Linux | |
Fosil | Laboratoarele Bell | 2003 | Planul 9 de la Bell Labs 4 | |
Sistem de fișiere Google | 2003 | Linux | ||
PramFS | MontaVista | 2003 | Linux | |
Încredere | Datalight | 2003 | Windows CE , VxWorks , porturi personalizate | |
VxCFS | VERITAS (acum Symantec ) | 2004 | AIX , HP-UX , Solaris , Linux | |
ZFS | Sun Microsystems | 2004 | Solaris | CDDL |
Reiser4 | Namesys | 2004 | Linux | |
Sistem de fișiere non-volatil | 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 | palarie rosie | 2006 | Linux | |
ext4 | Variat | 2006 | Linux | |
exFAT | Microsoft | 2006, 2009 | Windows CE 6.0 , Windows XP SP3 , Windows Vista SP1 | Proprietar |
TexFAT / TFAT | Microsoft | 2006 | Windows CE 6.0 | |
Btrfs | Oracle Corporation | 2007 | Linux | GPL |
Ceph | Sage Weil , Inktank Storage , Red Hat | 2007, 2012 | Linux | |
WBFS | kwiirk și Waninkoko (Wii homebrew) | 2008 | Wii | |
CIOCAN | Matthew Dillon | 2008 | DragonFly BSD | |
Tux3 | Variat | 2008 | Linux | |
UBIFS | Nokia cu ajutorul Universității din Szeged | 2008 | Linux | |
Oracle ACFS | Oracle Corporation | 2009 | Numai Linux - Red Hat Enterprise Linux 5 și Oracle Enterprise Linux 5 | |
Reliance Nitro | Datalight | 2009 | Windows CE , Windows Mobile , VxWorks , Linux , porturi personalizate | |
LTFS | IBM | 2010 | Linux , Mac OS X , Microsoft Windows planificat , | LGPL |
IlesfayFS | Ilesfay Technology Group | 2011 | Microsoft Windows , planificat Red Hat Enterprise Linux | |
VMFS5 | VMware | 2011 | VMware ESXi 5.0tux 3 statistici | |
ReFS | Microsoft | 2012, 2013 | Windows Server 2012 | |
Lanyard Filesystem | Dan Luedtke | 2012 | Linux | |
F2FS | Samsung | 2012 | Linux | GPLv2 |
APFS | măr | 2016 | macOS | |
Sistemul de fișiere | Creator | Anul introducerii | Sistem de operare inițial | Licență |
Volumul de date procesate de aplicațiile informatice ajunge în mod obișnuit la câteva sute de gigaocteți și crește până la câțiva terabiți pentru anumite aplicații industriale. Astfel de volume de date nu pot fi stocate în memoria principală . În plus, este necesară și stocarea persistentă pe termen lung, care să permită salvarea datelor procesate sau procesate pentru o utilizare viitoare. Principiul folosit pentru a răspunde la această problemă constă în stocarea acestor date în memorii secundare sub formă de fișiere, adică a seriilor de blocuri (cea mai mică unitate pe care dispozitivul de stocare este capabil să o gestioneze). Conținutul acestor blocuri, o succesiune simplă de date binare , poate fi interpretat în funcție de formatul fișierului ca caractere, numere întregi sau cu virgulă mobilă, coduri de funcționare a mașinii, adrese de memorie etc. Schimbul între cele două tipuri de memorie se face apoi prin transfer de blocuri.
Scopul sistemului de fișiere este de a permite accesul la conținutul fișierelor stocate (deschiderea fișierului, salvarea acestuia, copierea sau mutarea acestuia într-o a doua locație sau ștergerea acestuia) din calea lor, formată dintr-un nume precedat de o listă de directoare imbricate.
Pentru utilizator, un sistem de fișiere este văzut ca o structură de copac: fișierele sunt grupate împreună în directoare (un concept utilizat de majoritatea sistemelor de operare). Aceste directoare conțin fie fișiere, fie recursiv alte directoare. Deci există un director rădăcină și subdirectoare. O astfel de organizație generează o ierarhie de directoare și fișiere organizate într-un arbore.
Există diferite metode pentru asocierea unui nume de fișier cu conținutul acestuia. În cazul sistemului de fișiere FAT , un vechi sistem de fișiere MS-DOS și Windows încă utilizat pe scară largă pe suporturi amovibile, cum ar fi unitățile USB, fiecare director conține un tabel care asociază numele fișierelor cu dimensiunea lor și un index care indică tabelul de alocare a fișierelor, o zonă rezervată a discului indicând pentru fiecare bloc de date indexul următorului bloc al aceluiași fișier.
În cazul sistemelor de fișiere Unix (sau Linux / Minix ), fișierele și directoarele sunt identificate printr-un număr unic, numărul inodului . Acest număr este utilizat pentru a accesa o structură de date ( inode ) care grupează toate informațiile despre un fișier, cu excepția numelui, în special protecția accesului la citire, scriere sau liste de date, precum și mijloacele de „găsire a conținutului”. Numele este stocat în directorul asociat cu un număr de inod. Această organizație are avantajul că un singur fișier de pe disc poate fi cunoscut de sistem cu mai multe nume.
Organizarea sistemului de fișiere NTFS este și mai complexă, funcționând la fel ca o bază de date.
Numele unui fișier este un șir de caractere, adesea de dimensiuni limitate. Astăzi, aproape toate caracterele din directorul Unicode sunt în general utilizabile, dar unele caractere specifice care au semnificație pentru sistemul de operare pot fi interzise sau depreciate. Acesta este cazul, de exemplu, pentru caracterele ":", "/" sau "\" din Windows.
Sistemele de fișiere Unix folosesc nume de fișiere pe baza unei secvențe de octeți. Straturile inferioare ale software-ului (nucleu, sisteme de fișiere) gestionează numele fișierelor fără a cunoaște setul de caractere utilizat. La nivel de utilizator, setul de caractere utilizat nu este de obicei furnizat de sistemul de fișiere, ci depinde de setările locale ale utilizatorului. Într-un context în care se dorește interoperabilitatea la nivel global, se dorește compatibilitatea Unicode și, prin urmare, UTF-8 este din ce în ce mai utilizat în special în distribuțiile Linux. Sistemele mai vechi foloseau sisteme de codare regionale care pot corupe numele fișierelor atunci când utilizatorii au setări locale diferite. În sistemele moderne, utilizarea numelor de fișiere numite altele decât Unicode este evitată pentru a reduce problemele de interoperabilitate cu sistemele Unicode.
NTFS , Virtual FAT și Joliet , ReFS utilizează setul de caractere UTF-16 pentru numele fișierelor.
În Windows și în medii grafice, numele unui fișier are, în general, un sufix (extensie) separat de o perioadă care depinde de conținutul fișierului: .txt pentru text, de exemplu. Această extensie va depinde de alegerea aplicațiilor care acceptă acest fișier. Cu toate acestea, în Linux / Unix, în sistemele de linie de comandă și în limbaje de programare, extensia este doar o parte a numelui fișierului, formatul său este detectat de tipul MIME scris în mod transparent în header.
Fiecare fișier este descris de metadate (păstrate în inode sub Unix), în timp ce conținutul fișierului este scris pe unul sau mai multe blocuri ale mediului de stocare, în funcție de dimensiunea fișierului.
Cele mai frecvente metadate pe UNIX sunt:
Pe majoritatea sistemelor Unix, comanda stat afișează întregul conținut al inodului .
Sistemul de gestionare a fișierelor îndeplinește mai multe funcții:
Organizarea fizică subiacentă a mediului utilizat (blocuri, liniare) și mecanismele de intrare / ieșire de nivel scăzut sunt mascate. Prin urmare, utilizatorul își poate organiza datele permanente distribuindu-le în diferite fișiere. Conținutul fișierelor este determinat de formatul acestora , care depinde de aplicația utilizată.
În plus față de această organizare abstractă, sistemele de fișiere pot include comprimarea sau criptarea automată a datelor, gestionarea mai mult sau mai puțin fină a drepturilor de acces la fișiere și înregistrarea în scriere (pentru robustețe, în cazul unei defecțiuni) a sistemului). În plus, unele sisteme de fișiere pot acoperi o întreagă rețea, cum ar fi NFS. Unele dintre aceste sisteme de fișiere de rețea pot fi distribuite sau distribuite, cum ar fi PVFS2.
Alegerea sistemului de gestionare a fișierelor se bazează în principal pe sistemul de operare. De obicei, sistemele de operare mai noi acceptă un număr mare de sisteme de fișiere.
MS-DOS (și compatibil) și versiunile anterioare ale Windows 95 foloseau sistemele de fișiere FAT16 și FAT12 (pentru suporturi sub 16 MB ). Începând cu Windows 95 OSR2, alegerea între sistemele de fișiere a început să se extindă. Atât FAT16 cât și FAT32 ar putea fi utilizate și, dintr-o anumită dimensiune a partiției, alegerea sistemului FAT32 a fost atunci mai judicioasă.
În primele versiuni de Windows NT (NT3.x și NT4), există alegerea între sistemul FAT16 și NTFS . Acest sistem de operare nu acceptă FAT32 . În general, NTFS este recomandat deoarece oferă o securitate mai mare, precum și performanțe îmbunătățite în comparație cu FAT . Spre deosebire de versiunile anterioare de Windows NT, Windows NT5 ( Windows 2000 ) acceptă partiții de tip FAT16 , FAT32 și NTFS . Astfel, este recomandat cel mai recent sistem de fișiere (NTFS 5), deoarece oferă mai multe funcționalități decât sistemele FAT .
Vista SP1 oferă formatarea în exFAT, care reprezintă o mare evoluție a FAT, propunând o fiabilitate mai bună, un management „real” al numelor lungi și ACL . Windows CE 6 (viitorul Windows Mobile 7) gestionează, de asemenea, acest nou FS. Scopul Microsoft este de a înlocui FAT, care este utilizat în principal pe suporturi amovibile, cum ar fi cardurile de memorie.
Lumea Unix (Unix, Linux, BSD, Mac OS X) acceptă un număr foarte mare de sisteme de fișiere. Acest lucru se datorează faptului că, în ciuda numărului lor, sistemele acceptate respectă în general standardele și în special POSIX .
Sistemele de fișiere jurnalizate scriu modificări într- un jurnal înainte de a le face în fișiere. Acest mecanism oferă o fiabilitate mai mare, permițând recuperarea modificărilor „în curs” în caz de oprire prematură (întreruperea alimentării, blocarea sistemului, deconectarea unui disc extern etc.).
Sistemele de fișiere instantanee sau instantanee în franceză oferă posibilitatea de a înregistra starea sistemului de fișiere la un moment dat.
Aceste sisteme de fișiere nu sunt destinate să ofere acces la fișiere reale. Acestea prezintă, de fapt, sub apariția unei ierarhii clasice de fișiere și directoare, informații de natură variată (despre starea computerului, periferice sau care permit accesul la baze de date). Prin urmare, acestea sunt interfețe specifice pentru anumite programe software, în general pentru sistemul de operare.