Sistem de fișiere
Sistemul de fișiere (în engleză: file system sau și filesystem) desemnează organizarea internă a unui purtător de date, care de obicei este cuplat la un calculator. Pe parcursul vieții lor, fișierele sunt supuse multor operații: ele trebuiesc create, denumite, regăsite, renumite, citite, modificate, duplicate, deplasate, reorganizate, defragmentate, șterse ș.a. În tot acest timp este nevoie și de o corespondență clară între numele unui fișier, util în primul rând omului, și adresa sa de pe purtătorul de date, necesară calculatorului. Regăsirea rapidă a unui fișier este și ea importantă, în condițiile în care un singur purtător de date actual poate găzdui chiar și sute de mii de fișiere. Pentru a asigura viteze de funcționare mulțumitoare, organizarea internă a stocării și accesării fișierelor unui purtător de date trebuie să țină cont și să profite de caracteristicile acestuia. Programele necesare pentru operațiile cu fișiere fac de obicei parte din sistemul de operare al calculatorului la care sunt cuplate.
Detalii
modificareÎn afară de nume, fișierele de pe un purtător de date pot deține și atribute suplimentare care descriu în amănunțime caracteristicile lor individuale. Așa de exemplu formatul datelor sale, data creării, data celei mai recente modificări, eventuale restricții de acces la fișier ș.a. Toate trăsăturile unui fișier se mai numesc și "metadate", spre deosebire de datele propriu-zise din fișier. Metadatele, inclusiv numele fișierelor, se memorează de obice într-un index sau "Cuprins" sau "Tablă de conținut" (în engleză table of content, TOC) a purtătorului de date respectiv. Atunci când numărul fișierelor este mare, ele se pot grupa în așa-numite dosare sau directori (cu accentul pe ultima silabă; engleză: directories), care și ele se înregistrează în tabla de conținut. Deoarece dosarele pot să conțină atât fișiere cât și alte dosare, se obține de obicei un sistem de fișiere ierarhic.
Proiectarea unui sistem de fișiere și a indexului respectiv nu este o sarcină trivială. Scopurile care trebuie atinse sunt asigurarea în permanență a integrității și rapiditatea accesului la fișiere, care pot fi în permanentă schimbare, mai ales la discurile dure actuale (2010), care pot avea o capacitate de ordinul a 2 TB (2.000.000.000.000 baiți) și mai mult, conținând chiar sute de mii de fișiere pe un singur disc.
Fiecare tip de purtător de date (ca de exemplu discurile dure, benzile magnetice, discurile optice, memoriile flash) utilizează un sistem de fișiere cu structură specifică. Plecând de la numele fișierului și de la sistemul de fișiere implementat, sistemul de operare și rutinele sale accesează indexul necesar, află sau calculează adresa fișierului pe purtătorul de date corespunzător și poate accesa în final și datele fișierului. Purtătoare de date moderne ca de ex. discurile dure dețin și o „inteligență“ proprie (microcod sau firmware), care ușurează accesul la fișiere și date, și care poate oferi și unele funcțiuni speciale ca de exemplu:
- contoare de greșeli temporare (de tip S.M.A.R.T. sau și altele) care, pe baza statisticii greșelilor temporare reparabile automat, pot aprecia încă din timp momentul defectării definitive a dispozitivului; ceva mai devreme ele emit însă o alarmă pentru înlocuirea lui cu unul nou, fără a se pierde datele;
- managementul sectoarelor de rezervă, activate și folosite automat în caz de defectare a sectoarelor originale.
Aceste funcțiuni din urmă nu mai țin însă de sistemul de fișiere de pe purtătorul de date, ci mai curând de plasarea fizică a datelor de orice gen (fișiere, directori, piste de rezervă, înregistrări speciale ș.a.) pe purtătorul de date.
Exemple de sisteme de fișiere pentru discuri dure
modificareLinux/Unix
modificare- AdvFS (HP Tru64 UNIX) Cluster cu Journaling
- Union fs
- btrfs – (Btree file system)
- CFS Crypto File System
- CramFS Compressed ROM filesystem
- EAFS Extended Acer File System – pentru SCO Unix
- EFS (Extent File System, precursorul lui XFS)
- EncFS Encrypted Filesystem
- ext2 (second extended file system)
- ext3 (ext2 cu Journaling)
- ext4 (urmașul lui ext3)
- FFS Berkeley Fast File System
- FUSE
- FhGFS Fraunhofer (Parallel) File System
- GFS (Global File System)
- GNOME Storage (asociativ)
- GPFS General Parallel File System
- HTFS High throughput file system – pentru SCO OpenServer
- JFFS2 (Journaling Flash File System, Version 2)
- JFS (Journaled File System de la IBM)
- LUFS Linux Userland Filesystem
- minix
- NFS Network File System (pentru Sun Solaris)
- NILFS
- OCFS2 Oracle Cluster File System for Linux Version2
- ReiserFS (Journaling File System al lui Hans Reiser)
- Reiser4
- SquashFS
- s5fs
- UFS (UNIX File System pentru Solaris și BSD)
- UnionFS
- VxFS – (Journaled File System de la VERITAS)
- xFS
- XFS – (de la SGI)
- ZFS (Zetta File System) – sistem pe 128 biți scris de Sun Microsystems pentru Solaris [1]
Microsoft DOS
modificare- FAT și FAT12 (File Allocation Table, pentru dischete)
- FAT16 (pentru discuri dure)
- FAT32 (pentru discuri capacitive, începând de la DOS Version 7.x)
Microsoft OS/2
modificare- FAT
- HPFS (High performance file system)
Microsoft Windows 9x-Series (începând cu Windows 95b)
modificare- toate sistemele de fișiere de la MS-DOS
- VFAT (Virtual FAT)
- NTFS (cu Journaling)
- WinFS
- exFAT (Extended File Allocation Table) - pentru Windows CE6 și Vista SP1
Apple/Macintosh
modificare- Apple DOS
- Apple SOS
- Apple ProDOS
- Hierarchical File System (HFS)
- HFS+
- HFSX
- Macintosh File System (MFS)
Exemple de sisteme de fișiere pentru CD-ROM
modificareVezi și
modificareReferințe și note
modificare- ^ Sisteme de fișiere în Linux despre-linux.eu, 24 august 2016