Documente Academic
Documente Profesional
Documente Cultură
Cele mai multe sisteme de gestiune de fisiere utilizeaza un suport de stocare a datelor
care ofera acces la o serie de sectoare de marime fizica fixa, in general putere a lui 2 (512 bytes
sau 1, 2, 4 KB sunt cele mai frecvente). Sistemul de gestiune de fisiere este responsabil pentru
organizarea acestor sectoare in fisiere si directoare , si tine evidenta care sectoare apartin carui
fisier si care nu sunt utilizate. Majoritatea sistemelor de gestiune de fisiere adreseaza datele in
unitati de dimensiuni fixe numite " grupuri "sau" blocuri ", care contin un anumit numar de
sectoare de disc (de obicei intre 1 si 64). Aceasta este cea mai mica cantitate de spatiu pe disc,
care poate fi alocata unui fisier.
Nume de fisiere
Un nume de fisier este un nume atribuit unui fisier pentru a-i asigura o locatie de stocare
in memoria computerului. Prin acest nume un fisier poate fi accesat. Indiferent daca sistemul de
gestiune de fisiere are un dispozitiv de stocare de baza sau nu, sistemele de gestiune de fisiere au
in mod normal directoare care asociaza numele cu fisierul, de obicei prin introducerea numelui
lui intr-un index al unui tabel de alocare a fisierelor de un anume fel, cum ar fi FAT pentru DOS,
sau un inode pentru un sistem de gestiune de fisiere gen Unix. Structurile directorului pot fi
plate, sau pot permite ierarhii, unde directoarele pot contine subdirectoare. In unele sisteme de
gestiune de fisiere, numele fisierelor sunt structurate, cu o sintaxa speciala pentru extensii si
versiuni. In altele, ele sunt siruri simple de caractere, iar metadatele fisierelor sunt stocate in alta
parte.
Metadate
Alte atribute sunt de obicei asociate fiecarui fisier intr-un sistem de gestiune de fisiere.
Lungimea datelor continute intr-un fisier poate fi stocata ca un numar de blocuri alocate
fisierului sau ca un numar exact de bytes. Timpul cand fisierul a fost modificat ultima data poate
fi stocat ca un timestamp (stampila de timp) al lui. Unele sisteme de gestiune de fisiere, de
asemenea pot stoca timpul creerii fisierului, cand a fost ultima data accesat, sau cand metadatele
fisierului au fost modificate. (Obs: Multe sisteme de operare mai vechi nu tineau cont de astfel
de detalii legate de timp) Alte informatii pot include tipul de dispozitiv al fisierului (ex: bloc ,
caracter , socket , subdirector , etc), ID-ul ultilizatorului si ID-ul grupului , si setari legate de
permisiunea de acces (ex: daca fisierul este read-only, executabil etc.)
Facilitati
Acces securizat
Un sistem de gestiune de fisiere de disc este un sistem de gestiune realizat pentru stocarea
de fisiere pe un dispozitiv de stocare de date, cel mai frecvent o unitate de disc , care ar putea fi
direct sau indirect conectat la computer. Exemple de sisteme de gestiune de fisiere pe disc includ
FAT (FAT12, FAT16, FAT32, exFAT), NTFS , HFS si HFS + , HPFS , UFS , ext2 , ext3 , ext4 ,
btrfs , ISO 9660 , ODS-5 , Veritas File System , ZFS si UDF . Unele sisteme de gestiune de
fisiere de disc sunt sisteme de jurnalizare sau de versiuni.
ISO 9660 si Universal Disc Format , sunt doua dintre cele mai comune formate care
vizeaza Compact Disc-uri si DVD-uri . Mount Rainier este o extensie noua la UDF sustinuta de
Linux 2.6 si Windows Vista care faciliteaza rescrierea DVD-urilor in acelasi mod ca la dischete.
Un sistem de gestiune de fisiere flash este un sistem de gestiune proiectat pentru stocarea
fisierelor pe dispozitive cu memorie flash. Acestea sunt ce in ce mai raspandite, deoarece
numarul de dispozitive mobile este in crestere, in acelasi timp creste si capacitatea memoriilor
flash.
stergerea blocurilor: blocurile de memorie flash trebuie sa fie sterse in mod explicit,
inainte ca acestea sa poate fi rescrise. Timpul necesar pentru a sterge blocuri poate fi
semnificativ, deci este benefica stergea blocurilor neutilizate in timp ce aparatul este
inactiv.
acces aleator: sistemele de gestiune de fisiere de disc sunt optimizate pentru a evita
seeking`uri de disc ori de cate ori este posibil, din cauza costului ridicat al
seeking`ului. Dispozitive de memorie flash beneficiaza de lipsa latentei in acest caz.
wear leveling: dispozitivele cu memorie flash au tendinta de a se uza atunci cand un
singur bloc este suprascris in mod repetat; sistemele de gestiune de fisiere flash sunt
proiectate sa disperseze uniform scrierea.
Sistemele de gestiune de fisiere cu “log” au multe din proprietatile bune ale sistemelor de
gestiune de fisiere flash. Astfel de sisteme includ JFFS2 si YAFFS .
Un nou concept de gestionare a fisierelor este conceptul unui sistem de gestiune de fisiere
bazat pe baze de date. In loc de, sau in plus fata de gestionarea structurata ierarhic, fisierele sunt
identificate prin caracteristicile lor, ca tip de fisier, subiect, autor, sau metadate similare.
Fiecare operatiune pe disc, poate implica modificarea unui numar de diferite fisiere si
structuri de disc. In multe cazuri, aceste modificari sunt legate intre ele, in sensul ca este
important ca toate acestea sa fie executate in acelasi timp. De exemplu, in cazul unei banci care
trimite bani catre o alta banca in format electronic, computerul bancii va "trimite" instructiuni de
transfer la cealalta banca si va actualiza, de asemenea, propriile inregistrari pentru a indica faptul
ca transferul a avut loc. Daca din vreun motiv oarecare calculatorul este avariat inainte de a fi
avut sansa sa-si actualizeze propriile evidente, atunci la resetare, nu va fi nici o inregistrare de
transfer, dar bancii ii vor lipsi niste bani.
Un sistem de gestiune de fisiere comune este unul in care un numar de masini (de obicei
servere), toate au acces la acelasi subsistem de pe un disc extern (de obicei un SAN). Sistemul de
gestiune de fisiere arbitreaza accesul la acest subsistem, previne coliziuni de scriere. Exemplele
includ SFP de la Red Hat , GPFS de la IBM, si SFS de la DataPlow.
Un sistem de gestiune de fisiere cu un scop special este, practic orice sistem de gestiune
de fisiere care nu este un fisier de sistem de disc sau de retea. Aceasta include sisteme in care
fisierele sunt organizate dinamic de software , destinate unor scopuri, cum ar fi comunicarea
dintre procesele calculatorului sau spatiul fisierelor temporare.
Sisteme de gestiune de fisiere cu un scop special sunt cel mai des folosite de sistemele de
operare de fisiere-centrice, cum ar fi Unix. Exemple includ sistemul procfs (/ proc) folosit de
unele variante de Unix, care acorda acces la informatii despre procese sau alte caracteristici ale
sistemului de operare.
Sateliti spatiali de explorare, cum ar fi Voyager I si II, foloseau sisteme de gestiune de fisiere
speciale bazate pe benzi digitale. Acum, astfel de “nave” ca Cassini-Huygens utilizeaza un
sistem de gestiune de fisiere ce lucreaza in timp real sau sistem de gestiune de fisiere cu influente
RTOS. Roboteii trimisi pe Marte sunt un exemplu de astfel de sisteme de gestiune de fisiere
RTOS, importante in acest caz deoarece acestea implementeaza memoria flash .
Bibliografie:
[1]
http://en.wikipedia.org/wiki/Flash_file_system
[2]
http://en.wikipedia.org/wiki/Network_file_system
[3]
http://en.wikipedia.org/wiki/Shared_disk_file_system
[4]
http://en.wikipedia.org/wiki/Special_file_system
Referinte generale:
Apple Computer Inc. - "Technical Note TN1150: HFS Plus Volume Format"
http://ro.wikipedia.org/wiki/Sistem_de_fișiere
Notă. Necesitatea organizării datelor în memoria externă rezultă analizând câteva criterii de
comparaţie dintre memoria internă şi cea externă:
Fisierul este o colecţie organizată de date unite după criterii comune calitative, de
prelucrare şi scop.
Toate limbajele de programare universale lucrează cu această noţiune, pentru organizarea
datelor în memoria externă. Sistemele de bază de date lucrează cu această noţiune şi în plus o
dezvoltă în noţiunea de bază de date.
Prezentăm, în continuare, câteva noţiuni fumdamentale utilizate în organizarea datelor în
fişiere. De aceste noţiuni se ţine seama şi la baze de date.
1. Caracteristici ale unui fişier:
- actualizarea se referă la trei operaţii : adaugarea, modificarea, ştergerea de înregistrări;
- natura datelor din fişier trebuie să fie omogenă (să se refere la aceeaşi entitate din lumea
reală);
- prelucrarea datelor din fişier se referă la tipul şi frecvenţa operaţiilor efectuate pe
înregistrări;
- volumul de date din fişier (se măsoară în număr de octeţi).
2. Structura unui fişier:
partea de identificare este dată de etichetele plasate la începutul şi sfârşitul fişierului;
partea de date este colecţia omogenă de date ce aparţin aceleaşi entităţi din lumea reală
structurată astfel:
fişier înregistrări câmpuri valori.
3. Modul de organizare reprezintă modul de dispunere a înregistrărilor pe suportul fizic şi
presupune reguli de memorare a datelor.
Categorii de moduri de organizare a fişierelor:
a) Standard
o Este cea mai veche şi există pe toate tipurile de calculatoare.
o Înregistrarea este formată dintr-un şir de caractere dispus pe o linie acceptată de
periferic.
o Toate limbajele recunosc fişiere standard de intrare şi ieşire.
b) Clasică (elementară)
o Organizarea se face pe medii magnetice sau optice.
o Tipuri:
- SECVENŢIALĂ
Înregistrările sunt dispuse în fişier una după alta fără nici o ordine
prestabilită.
Localizarea unei înregistrări se face prin parcurgerea tuturor
înregistrărilor anterioare ei (secvenţial).
Toate sistemele de operare şi limbajele de programare acceptă
organizarea secvenţială.
- RELATIVĂ
Înregistrările sunt dispuse în fişier una după alta şi numerotate (de
către sistem) de la 0 sau 1 la câte sunt (număr de realizare)
Localizarea unei înregistrări se poate face secvenţial sau direct prin
numărul de realizare.
- INDEXAT-SECVENŢIALĂ
Înregistrările sunt dispuse în fişier în ordine strict crescătoare după
o cheie (face parte din înregistrare).
Cheia este unul sau mai multe câmpuri care identifică în mod unic
o înregistrare.
Fişierului îi este ataşat o tabelă de indecşi care face legătura între
valoarea cheii şi adresa fizică a înregistrării.
Localizarea unei înregistrări se poate face secvenţial dar şi direct
prin cheie:
se compară cheia înregistrării căutate cu indecşii din tabela
de index şi se localizează direct partea fizică a fişierului în
care se află înregistrarea căutată;
în partea fizică localizată se face o căutare secvenţială a
înregistrării dorite.
c) Specială (complexă)
Se bazează pe modurile de organizare clasice.
Sunt utilizate în baze de date şi în sisteme de fişiere.
Tipuri (câteva):
- PARTIŢIONAREA
Înregistrările din fişier sunt grupate în partiţii sub un nume.
În cadrul unei partiţii înregistrările sunt organizate secvenţial.
Se utilizează pentru bibliotecile de programe
- MULTIINDEXAREA
Este o extindere a indexării prin utilizarea mai multor chei alese de
programator.
Spaţiul ocupat este mai mare.
Se utilizează pentru fişiere care necesită regăsiri intense multicriteriale.
- INVERSĂ
Presupune existenţa a două fişiere: de bază şi invers.
Fişierul de bază conţine datele propriu-zise şi are organizare secvenţială.
El este fişierul în care se caută.
Fişierul invers este construit din cel de bază (printr-o tehnică de inversare)
şi are organizare relativă. El este fişierul prin intermediul căruia se caută.
Spaţiul ocupat necesar este cam de 3,5 ori mai mare faţă de cât ocupă
fişierul de bază.
4) Modul de acces reprezintă modul în care se determină locul ocupat de o înregistrare într-un
fişier şi depinde de modul de organizare.
Tipuri de moduri de acces pentru fişiere:
- SECVENŢIAL presupune că localizarea unei înregistrări se face prin parcurgerea
tuturor înregistrărilor care o preced.
Este permis accesul secvenţial pentru toate tipurile de fişiere.
Se recomandă pentru fişierele din care sunt necesare, la o prelucrare, peste
50% din numărul total de înregistrări.
Pentru optimizare se recomandă ordonarea fişierului.
- DIRECT presupune că localizarea unei înregistrări se face cu ajutorul unei chei
definite de programator.
Notă. Accesul direct se poate face după numărul de realizare sau după o valoare a cheii.
- DINAMIC presupune că la o singură deschidere de fişier se pot localiza,
alternativ şi repetat, înregistrări în acces secvenţial şi direct.
Notă. Criterii de comparaţie pentru organizarea datelor în fişiere şi baze de date sunt prezentate
în Anexa 2.
Informaţia, care se reprezintă în calculator în memoria internă sau externă, se poate defini
structural după schema:
are ca are ca are ca
informaţia entitatea atributul valoarea
obiect proprietate măsură
Modelul de structură se referă la descrierea tuturor atributelor unei entităţi în interdependenţă.
Valorile atributelor se materializează prin date, care dau o reprezentare simbolică a informaţiilor.
Modelul de date este ansamblul de concepte şi instrumente necesar pentru a realiza structura
colecţiilor de date (schema) (fig. 2.1.).
Modelul de date este compus din:
- concepte;
- un formalism pentru a descrie datele (structura de date);
- un ansamblu de date pentru a le manipula (datele).
DATELE
(ansamblul de manipulat)
În literatura de specialitate [RICC01], [RAGE00] sunt prezentate trei tipuri de modele de date
pentru baze de date. Prezentăm, pe scurt, aceste tipuri, împreună cu câteva caracteristici pentru
fiecare:
modelul conceptual (la analiză)
descrie sistemul în termeni pe înţelesul utilizatorului;
se foloseşte pentru specificaţia iniţială a datelor şi pentru comunicarea cu
utilizatorii;
este un mod de stabilire a unei legături între dezvoltatori şi utilizatori.
modelul logic (la proiectare)
specifică structura bazei de date (colecţiile de date şi legăturile dintre ele);
se scrie într-o formă care să poată fi folosită pentru crearea bazei de date;
se foloseşte pentru definirea şi întreţinerea bazei de date de către SGBD şi pentru
formularea cerinţelor de regăsire de către utilizatori.
modelul fizic (sarcina SGBD)
descrie modul în care modelul logic al datelor va fi reprezentat la stocare, în
memoria externă (fişiere, indecşi, discuri etc.);
de obicei, este generat automat, de către SGBD, pornind de la modelul logic.
În cele ce urmează ne vom ocupa, în cea mai mare parte, de modelul logic de date pentru
baze de date.
Modelul ierarhic
nivel 0 TIP_ÎNREG 0
Modelul reţea
TIP_ÎNREG 1 TIP_ÎNREG 2
TIP_ÎNREG 3 TIP_ÎNREG 4
TIP_ÎNREG 5 TIP_ÎNREG 6
...
Fig. 2.3. Diagrama de structură reţea
Modelul relaţional
b) Definirea legăturilor dintre entităţi se face logic construind asocieri între tabele cu
ajutorul unor atribute de legătură.
Legăturile se pot reprezenta sub forma unei diagrame de structură (fig. 2.4.) numită şi
schema BD.
3.1.1. Definitii.Concepte
Structura de date ce include un volum mare de informatii procesate omogen se numeste
fisier.Una din abstractiile fundamentale in lumea sistemelor de operare , are o forma
standardizata si este folosit pentru a stoca informatiile necesare functionarii sistemului de operare
si interactiunii cu utilizatorul.
Diversele partitii existente in Windows , sunt detectate la bootare si li se ofera o litera din
alphabet (C-Z). In Linux , sistemul nu stie de existent acestora daca nu se mounteaza o partitie
sau un dispozitiv.Ofera o mare flexibilitate in sensul ca se pot ascunde anumite portiuni din HDD
sau in functie de necesitatea utilizatorului diverse componente, e un plus pentru securitate si
ergonomie dar nu este o metoda usoara de acces pentru incepatori.Modul de abordare al
sistemului de fisiere unificat din Linux are si alte avantaje.De exemplu majoritate fisierelor
executabile le contine directorul “/usr”. Linux ne permite sa mountam acest director pe alta
partitie sau chiar pe alt calculator din retea.Deoarece directorul “/usr” ca aparea ca un director
local , sistemul nu va detecta nici o incompatibilitate.Acest lucru in Windows nu este posibil, de
exemplu mutarea directorului “Program Files” pe alta partitie nu pastreaza o functionalitate
totala.
La prima vedere este un lucru minor , dar piesa importanta in functionabilitate este ca
Linux foloseste slash “/” pentru despartirea cailor catre fisiere , spre deosebire de back-slashul
“\” folosit de Windows.Pentru un obisnuit cu Windows aceasta reacomodare poate fii destul de
dificila , Durand ceva vreme pana la acomodare.Mai mult , spre deosebire de Windows unde nu
conteaza daca denumirea fisierului este introdusa cu litere mari sau litere mici , Linux este un
sistem “case sensitive” adica face diferenta intre dimensiunile literelor folosite.
3.drepturile de acces
4.data si ora ultimei modificari efectuate asupra i-node-ului precum si timpul ultimului
acces si al ultimei modificari
3.Recovery Console
1.Poate suporta partitii de pana la 2(puterea 64) bytes si foloseste adrese de disc de 64
de biti;
6.Face distinctive intre litere mari si mici in cadrul numelor de fisiere ,folosindu-se de
POSIX (Portable Operating System Interface ) permite crearea de “hard-link-uri” si pastreaza
informatii de timp referitoare la fisier.Destinat managementului API (Application Programming
Interface) este POSIX;
O serie de fisiere sistem printre care si Master File Table (MFT) sunt create atunci
cand in Windows este formatata o partitie pentru prima oara in sistem NTFS , si contine
informatii despre toate fisierele si directoarele de pe volumul in cauza.Sectorul de boot este
prima informatie pe o partitie NTFS si reprezinta sectorul 0 al partitie ce contine un cod de
pornire al sistemului.In sectoarele 1-16 se regasesc alte informatii necesare programului de boot-
are.MFT este primul fisier pe un volum NTFS.Exista cel putin o intrare in MFT pentru fiecare
fisier de pe un volum NTFS. In MFT sunt pastrate toate informatiile despre un fisier ( nume ,
dimensiune , data creare, etc.).
Fig 1.2 MFT record pentru un fisier sau director mic
Cel mai mare plus pentru exFAT consta in faptul ca fisierele mai mari de 4GB
(fisierele media de obicei) pot fi copiate fara a fi nevoie o impartire a lor (split). Daca nu stiati in
formatul FAT32 un fisier nu poate avea mai mult de 4GB si o partitie pe hard disk putea avea
maxim 32GB. Cu exFAT partitia unui hard disk poate avea pana la maximum 512TB.
In momentul de fata cel mai utilizat sistem de fisiere este NTFS, chiar si pe
memoriile portabile, dar exista un inconveninet al acestui format si anume ca implementarea lui
necesita o anumita parte de stocare din memorie.
Spre exemplu daca se utilizeaza exFAT pe un stick de 4GB este nevoie de doar 96
Kilobytes, iar pentru NTFS este nevoie de 47 Megabytes.
ZFS este dezvoltat de catre Sun si este publicat sub licenta open-source, fiind folosit
in sistemul sau de operare Solaris si in proiectul OpenSolaris.Sistemul de fisiere ZFS are o serie
de avantaje fata de sistemele traditionale, printre care integrarea de mecanisme care asigura
integritatea datelor, suport pentru “storage pools”, permitand adaugarea de capacitate fara
manipulare de volume si partitii, si crearea de snapshot-uri, care marcheaza modificarile prin
care trece un fisier, permitand restaurarea unei stari anterioare, functionalitate anuntata deja in
Leopard sub numele de Time Mschine.
Leopard va fi lansat oficial in octombrie anul acesta, dupa ce a fost amanat pentru a permite
lansarea la timp a iPhone-ului. Dar detalii despre functionalitatea acestuia sunt asteptate la
conferinta Apple WWDC (World Wide Developer Conference) de saptamana viitoare din San
Francisco.
Sistemul de fisiere cu criptare (EFS) este o caracteristică Windows care se poate utiliza
pentru a depozita informatiile de pe hard disk într-un format criptat. Criptarea este cea mai
puternică protectie pe care Windows o furnizează pentru a ajuta la păstrarea în sigurantă a
informatiilor.
1. Criptarea este simplă; doar bifati o casetă de selectare în proprietătile fisierului sau
folderului pentru a o activa.
3. Fisierele sunt criptate când le închide si, dar sunt automat gata de utilizare atunci când le
deschide si.
4. Dacă vă răzgândi si în ceea ce priveste criptarea unui fisier, debifati caseta de selectare în
proprietătile fisierului.
Bibliografie:
http://en.wikipedia.org/wiki/NTFS
www.stst.elia.pub.ro
http://en.wikipedia.org/wiki/Fat
http://en.wikipedia.org/wiki/ZFTPServer_Suite
http://en.wikipedia.org/wiki/Master_boot_record
4. Sisteme de gestiune de fisiere UNIX
Sistemul de fisiere din Linux este foarte diferit fata de cel din Windows astfel incat poate fi un
mare impediment pentru utilizatorii care trec de la sistemele de operare Microsoft la un sistem
Unix-based.
Spre deosebire de Windows, care structureaza discul in partitii care cuprind foldere(directoare),
sub-foldere, fisiere, in Linux, totul porneste de la un director "radacina", reprezentat prin "/" si
se extinde prin sub-directoare. Astfel, Linux plaseaza toate partitiile sub directorul radacina in
cadrul acestei ierarhii, prin "montarea" lor in cadrul unor anumite directoare. In Windows, discul
este format din una sau mai multe partitii, notate de catre sistem prin litere, de la A la Z, unele
din acestea fiind rezervate de Windows pentru floppy, pentru unitatile optice, etc. Cel mai
aproape de directorul radacina din Linux se poate aprecia ca fiind partitia c: ( in cazul in care aici
s-a instalat sistemul de operare).
Sub Windows, diversele partitii sunt detectate la bootare si li se atribuie o litera (drive letter).
Sub Linux, daca nu "montezi" o partitie sau un dispozitiv, sistemul nu va sti despre existenta
acesteia/acestuia. Poate nu pare cea mai simpla metoda de a oferi access la partitiile sistemului
sau la dispozitive dar ofera foarte multa flexibilitate.
Acest tip de schema, de plan, cunoscut sub numele de sistem de fişiere unificat, ofera mai multe
avantaje faţă de abordarea pe care Windows o utilizează.
4.2. Crearea unui sistem de fisiere sub Linux
Pentru a putea fi utilizat, un sistem de gestiune a fisierelor trebuie creat intai. Aceasta operatie se
numeste formatare pe sistemele Windows sau Ms-DOS. Un proces similar are loc si pe sistemele
Unix-based. Daca in Windows, partitiile au nume date prin litere, de la A la Z, pe Linux,
partitiile au nume in functie de tipul hard-diskului. Astfel, exista doua tipuri de hard-diskuri:
In functie de tipul discului, acesta poate fi partitionat in mai multe partitii, numerotate de catre
sistem. Spre exemplu, un disc sda va fi partitonat in sda1, sda2, etc.
Fiecare disc poate fi partitionat in partitii care vor fi numerotate, de exemplu pentru discul sda,
cu sda1, sda2, sda3, etc.
Crearea unui sistem de fisiere se realizeaza intr-una din partitiile dorite. De exemplu, daca
dorim sa cream un sistem de fisiere de tip ex2fs pentru sistemul Linux, se utilizeaza comanda:
mkfs [parametri] nume_partitie
Exemplu: Vom crea un sistem de fisiere pe a doua partitie a discului hda:
mkfs -t ex2fs /dev/hda2, unde parametrul -t indica tipul sistemului de fisiere,
iar /dev este un director special pentru sistemul Linux utilizat in operatiile de comunicatii cu
perifericele calculatorului. Toate perifericele (devices) au cate o intrare in acest director.
Directorul radacina(root) in Linux, din care pornesc toate celelalte directoare. De aici vine si numele
utilizatorului cu drepturi depline root.
/bin
Director accesibil tuturor utilizatorilor. Contine utilitare de baza, necesare la pornirea sistemului.
/boot
Aici se gaseste tot ce este necesar procesului de boot.Imaginile kernelului(fisierele) sunt tinute aici.
/dev
Interfeţele de tip fisier catre dispozitivele reale si virtuale ale sistemului. Aici se gasesc de exemplu
partitiile nemontate, placile de retea, etc.
/etc
Locul în care sunt amplasate fişierele de configurare ale sistemului, nu conţine binare, doar fişierele
care nu se schimbă prea des.
/home
Locul în care stau directoarele şi fişierele utilizatorilor. De obicei fiecare utilizator are un subdirector
cu numele său poziţionat aici, în afară de utilizatorul root, care îşi ţine fişierele proprii în /root. De
reţinut că directorul /home poate fi pe o partiţie separată, care este montată în această poziţie.
/lib
Aici stau bibliotecile sistemului – bucăţi de cod care pot fi folosite în comun de mai multe programe.
În subdirectorul /modules, se regăsesc modulele kernel-ului.
/mnt
În acest director se creează de obicei puncte de montare pentru sistemele de fişiere montate
temporar.
/media
Aici se montează partiţiile sistemului, unităţile de CD/DVD, Floppy.
/opt
Director pentru programe suplimentare
/root
Directorul personal al utilizatorului root.
/sbin
Programe ale sistemului rezervate utilizatorului root
/tmp
Directorul pentru fişierele temporare, ce de obicei se goleşte la pornirea sistemului.
/urs
Acest subarbore de directoare poate fi accesat de toţi utilizatorii şi conţine date care nu sunt
modificate în mod obişnuit. Poate fi amplasat şi pe un mediu de pe care se poate doar citi, nu şi
scrie (read-only).
/usr/X11R6
Software legat de sistemul X Windows, versiunea 11, release 6 (cel mai comun server grafic în
Linux).
/usr/bin
Majoritatea comenzilor din sistem se găsesc aici.
/usr/include
Aici îşi caută compilatorul C fişierele de tip header (directiva #include).
/usr/local
Aplicatii instalate local.
/usr/sbin
Programe pentru superutilizatori care nu sunt esentiale functionarii sistemului
/usr/share
Date statice ale programelor. Un subdirector interesant: /usr/share/doc, unde se găseşte documentaţie pentru diferite
programe.
/usr/src
Surse ale programelor instalate, iar în subdirectorul: /usr/src/linux, sursele kernel-ului.
/var
Fisiere variabile ale sistemului - loguri, fisiere temporare, etc.
/var/lib
Fisiere de stare ale aplicatiilor. In general fiecare program isi ataseaza aici informatii pe care sa le acceseze o alta
instanta a sa.
/var/lock
Lock file. O modalitate simplă pentru a împiedica rularea simultană a două instanţe ale aceluiaşi program este
crearea unui fişier gol cu numele aplicaţiei în acest director.
/var/log
Jurnalele sistemului le găsiţi aici. Tot aici vă puteti da seama de unele erori apărute pe parcurs. Toate problemele se
memorează în aceste loguri.
/var/mail
Email-urile care aşteaptă să fie citite. Acest director îşi dispută rolul cu /var/spool/mail.
/var/run
Date care asteapta procesare ulterioara (a unui utilizator, aplicatie sau administrator). Cozile de imprimare si e-mail-
urile pentru sisteme care nu folosesc /var/mail, se gasesc aici.
/var/tmp
Fişiere temporare care nu se pierd la restart (reboot) – spre deosebire de /tmp.
/var/www
Aici se pot copia aplicatiile html -php. Este directorul radacina al serverelor web.
4.3. Sisteme de gestiune a fisierelor in Linux
4.3.1. Ext2
Ext2 sau second extended filesystem este un sistem de gestiune al fisierelor pentru sistemul de
operare Linux. A fost creat de catre Rémy Card. Ext2 a fost sistemul de gestiune al fisierelor
implicit in cateva distributii Linux, printre care Debian si RedHat. Desi au aparut versiuni
imbunatatie, ext2 este sistemul de fisiere recomandat pentru dispozitivele de stocare de tip flash
(cum ar fi carduri SD, SSD si stick-uri USB) datorita inexistentei jurnalizarii care minimizeaza
numarul de scrieri, stiindu-se ca numarul de scrieri pe un dispozitiv de tip flash are un numar
limitat de cicluri de scriere.
Dezvoltarea initiala a kernelului Linux a fost facuta sub sistemul de operare MINIX. Sistemul de
fisiere oferit de Minix era in mare parte fara erori dar folosea un offset de 16 biti si din aceasta
cauza dimensiunea limita maxima a partitiei era de 64 megabytes. De asemenea exista o limita a
numelui fisierelor la 14 caractere. Din cauza acestor limite, a inceput munca pentru inlocuirea
acestui sistem nativ Linux de gestiune de fisiere. Astfel a aparut sistemul de fisiere ext.
Sistemul de gestiune a fisierelor ext a rezolvat cele doua mari probleme din sistemul Minix
(dimensiunea maxima a partitiei si dimensiunea maxima a numelui fisierelor la 14 caractere).
Prin acesta, partitia putea avea o dimensiune de 2 gigabytes si numele fisierelor puteau ajunge
pana la 255 caractere. Dar in continuare existau probleme: nu exista suport pentru acces separat,
data si ora modificarii fisierelor.
Ca o solutie la caceste probleme, doua sisteme noi de gestiune a fisierelor au fost dezvoltate in
Ianuarie 1993: xiafs si second extended file system (ext2) , care a fost o revizie generala a
sistemului extended file system si implementa multe idei din Berkeley Fast File System. Ext2
a fost creat tinand cont si de o dezvoltare ulterioara cu spatii lasate in structurile sale de date de
pe disk pentru utilizari ulterioare.
Spatiul este impartit in blocuri in sistemul ext2 si organizat in grupuri bloc, analog grupurilor de
cilindru din UFS (Unix File System). Acest lucru este facut pentru a reduce fragmentarea externa
si a minimiza numarul de cautari ale discului cand se citeste o suma mare de date consecutive.
Fiecare bloc poate contine o copie a superblockului. Superblock-ul contine informatii importante
care sunt cruciale pentru bootarea sistemului de operare, astfel sunt facute copii de backup in mai
multe blocuri ale sistemului de gestiune a fisierelor. Cu toate astea, de obicei numai prima copie
care este gasita in primul bloc a sistemului de gestiune a fisierelor este folosita pentru bootare.
4.3.1.2. Limitele ext2
Motivul limitelor sistemului ext2 este formatul fisierelor si kernelul sistemului de operare. Multi
din acesti factori sunt determinati odata cu crearea sistemului de gestiune a fisierelor. Acestia
depind de dimensiunea blocurilor si raportul dintre numarul de blocuri si de innode-uri. In Linux
dimensiunea blocului este limitat de arhitectura paginarii.
Un inode este o structura de date dintr-un sistem de gestiune a fisierelor traditional Unix, cum ar
fi UFS. Un inode gazduieste informatie de baza despre un fisier, director obisnuit, sau orice alt
obiect a sistemului de fisiere.
Indexarea directoarelor creste performanta pentru directoare cu un numar mare de fisiere (mai
mult de 10.000). Limita teoretica a numarului de fisiere dintr-un director este de 1.3 × 1020 desi
nu este relevant pentru situatii practice.
4.3.1.3. Compresia
e2compr este o modificare a sistemului de gestiune a fisierelor ext2, astfel incat kernelul Linux
sa suporte comprimarea si decomprimarea online a fisierelor la nivelul sistemului de gestiune a
fisierelor fara niciun suport ofer de aplicatii-user.
e2compr este o adaugare, o extensie a ext2 care permite compresia si decompresia din mers.
Arhiveaza doar fisiere obisnuie, datele administrative (superblockurile, inodurile, directoarele
etc.) nefiind arhivate(in principal din motive de siguranta).Accesul la blocurile arhivate este
posibil pentru operatii de citire si de scriere.
e2fsprogs
e2fsprogs este un set de utilitare pentru intretinerea sistemelor de gestiune a fisierelor ext2, ext3,
si ext4.
4.3.2. EXT3
Ext3 sau third extended filesystem este un sistem de fisiere jurnalizat care este folosit in mod
curent de catre kernelul Linux. Este sistemul de fisiere implicit folosit de catre multe distributii
populare de Linux. Stephen Tweedie a fost primul care a precizat ca lucreaza la extinderea
sistemului ext2.
Marele avantaje fata de ext2 este jurnalizarea, care imbunatateste siguranta si elimina nevoia de a
verifica sistemul de fisiere dupa o inchidere incorecta a sistemului.
4.3.2.1. Avantaje
Desti performanta (viteza) sistemului este mai putin atractiva decat la sistemele de fisiere
competitoare cum ar fi JFS, ReiserFS si XFS, are un avantaj important din cauza faptului ca
permite o upgradare de la ext2 fara a fi necesar backup-ul si restaurarea datelor Ext3 deasemenea
foloseste mai putina putere a CPU-ului decat ReiserFS sau XFS. Este considerat de asemena mai
sigur decat alte sisteme de gestiune a fisierelor pentru Linux datorita simplitatii si testarii largi a
acestuia.
Un sistem de jurnalizare
Creste a sistemului de fisiere online
4.3.2.2.1. Functionalitatea
Deoarece ext3 îşi doreşte să fie compatibil cu ext, multe dintre structurile de pe disc sunt similare
cu cele ale ext2. Ca in cazul multor sisteme de gestiune a fisierelor Linux, consistenta sistemului
ext3 nu poate fi verificata in timp ce sistemul este "montat". Incercand sa verifice un sistem de
fisiere care este deja montat, se pot detecta erori unde datele modificate nu au ajuns inca pe disc
si poate corupe sistemul de fisiere in timp ce se incearca corectarea acestor erori.
4.3.2.2.2. Defragmentation
Nu exista nici un suport pentru recuperarea fisierelor sterse.Driverul ext3 sterge activ fisierele
prin stergerea fisierelor inode din motive de siguranta
4.3.2.2.4. Compresia
Suportul pentru compresie este disponibila ca un patch neoficial pentru ext3. Acesta are nevoie
insa inca de imbunatatire.
Fata de unele de sisteme de fisiere moderne, Ext3 nu are suport nativ pentru snapshot -
posibilitatea de a captura rapid starea sistemului de fisiere la momente arbitrare de timp Next3
este o versiune modificata a Ext3 care ofera suport pentru snapshots mentinand compativilitatea
cu formatul EXT3.
4.3.3. Ext4
Ext4 sau fourth extended filesystem este un sistem de gestiune a fisierelor jurnalizat pentru Linux,
dezvoltat ca succesor pentru ext3.
4.3.3.1. Caracteristici
Sistem de fisiere mari. Ext4 poate suporta capacitati de dimensiuni pana la 1 exabyte si
fisiere cu dimensiuni pana la 15 terabytes.
Extensii. Extensiile sunt introduse sa inlocuiasca maparea clasica cu blocuri folosita de
ext2/3. O extensie este o gama de blocuri fizice continue care imbunatateste
performanta fisierelor mari si reduce defragmentarea. O singura extensie ext4 poate
mapa pana la 128 MB de spatiu continuu cu o dimensiune a blocurilor de 4 KB.
Compatibilitate. Ext4 este compatibili cu versiunile anterioare ext2 si ext3,
facand posibila "montarea" sistemelor de fisiere ext2 sau ext3 ca sisteme ext4.
Acest lucru imbunateste performanta versiunilor ext2/3 deoarece le permite in
acest fel sa foloseasca caracterticile noi din ext4 cum ar fi noul algoritm de
alocare a blocurilor.
Alocare intarziata. Ext4 foloseste o tehnica performanta a sistemelor de fisiere
numita alocare intarziata. Se refera la o intarziere a alocarii blocurilor pana cand
data urmeaza a fi scrisa pe disk, spre deosebire de alte sisteme de gestiune a
fisierelor, care aloca blocurile necesare inainte de acest pas. Aceasta metoda
creste performanta si reduce fragmentarea prin imbunatatirea alocarii blocurilor
bazata pe dimensiunile fisierelor.
4.3.4.XFS
XFS este un sistem de fisiere pe 64 de biti. XFS este un sistem de gestiune a fisierelor cu
jurnalizare de inalta performanta, creat de Silicon Graphics, pentru distributia de Linux pe care o
detineau , Irix. Pentru implementare s-a folosit "Allocation Group" care se refera la divizarea
discului in opt sau in mai multe zone de dimensiuni egale, fiecare din ele fiind autonoma in
gestionarea spatiului, astfel incat fiecare regiune poate lucra simultan. Fata de Ext3 sau
ReiserFs, XFS foloseste un sistem de jurnalizare mai performant si mai sgur prin utilizarea unei
tehnici numite "Delayed Allocation" pentru alocarea mai rapida si mai inteligenta a fisierelor in
spatiul liber de pe disc. (vezi si ext4).
4.3.5.ReiserFS
ReiserFS este un sistem de fisiere cu jornalizare dezvoltat de echipa lui Hans Reiser. Acesta
lucreaza folosind metadate particulare asociate fisierelor, ceea ce îi permite sa recupereze
fisierele, dupa eventualele blocaje de sistem, cu o rapiditate si o fiabilitate superioara altor
sisteme.
Marele avantaj al acestui sistem de fisiere consta în faptul ca nu este legat de tehnologii
anterioare precum Ext3, care este legat de Ext2. Iar unul dintre dezavantajele lui ReiserFS, fata
de Ext3, este necesitatea de a face back-up si de a formata o partitie Ext2, în cazul în care se vrea
conversia în ReiserFS. Momentan este în faza de dezvoltare Reiser4, succesorul lui
ReiserFS,rescris aproape de la zero; printre caracteristicile sale principale se remarca o viteza
majora, un suport mai bun pentru gestionarea directoarelor de dimensiuni mari continând multe
fisiere, îmbunatatirea sistemului de journaling, integrarea metadatelor in interiorul spatiului
numelor fisierelor, suportul pentru plug-in si optimizarea dinamica a datelor.
4.3.6.Btrfs
Btrfs este un sistem de fisiere pentru Linux care urmareste punerea in aplicare a unor
caracteristici avansate care se concentreaza pe toleranta la erori, administrarea si reparea usoara.
Initial a fost dezvoltat de Oracle, sub licenta GPL si liber pentru a putea contribui oricine isi
doreste la el.
Compesie
4.3.7. SquashFS
SquashFS (.sfs) este un sistem de fisiere arhivat accesibil numai pentru citire pentru Linux.
SquashFS arhiveaza fisiere, inoduri si directoare si suporta blocuri de dimensiune pana la 1MB
pentru o compresie mai mare.
SquashFS este folosit pe versiunile Live de pe CD-uri a distributiilor Arch Linux, Debiam
Fedora, Gentoo Linux, Linux Mint, Ubuntu si pentru distributii emedded cum ar fi OpenWRT si
DD-WRT pentru routeri. Este adesea folosit cu un sistem de fisiere de tip union(care permite ca
mai multe sisteme de fisere sa fie montate la un moment dat) cum ar fi UnionFS sau aufs pentru
a oferi capacitatea de citire-scriere pentru distributiile Live. Astfel se profita la maxim, folosind
abilitatile de compresie de viteza foarte mare a SquashFS impreuna cu abilitatea de a modifica
datele intr-o distributie live de pe un CD. Distributii precum Slax, Debian Live, Mandriva One si
Puppy Linux folosesc aceasta combinatie.
Bibliografie:
http://ebooks.unibuc.ro/informatica/Seiso/4.1.htm
http://en.wikipedia.org/wiki/Ext2
http://en.wikipedia.org/wiki/Ext3
http://en.wikipedia.org/wiki/Ext4
http://en.wikipedia.org/wiki/List_of_file_systems
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Comparison_of_file_systems
http://kb.siteground.com/article/What_is_an_inode.html
http://ebooks.unibuc.ro/informatica/Seiso/4.1.htm
http://www.linuxcumsa.ro/Linux/structura-sistemului-de-fisiere-pe-linux/
5. Sisteme de gestiune de fisiere in alte sisteme de operare
Primele versiuni de Mac OS erau compatibile doar cu Macintosh-uri bazate pe Motorola 68000.
Cand Apple a introdus calculatoare cu hardware-ul PowerPC, sistemul de operare a fost upgradat
pentru a putea rula pe această arhitectură, de asemenea. Mac OS 8.1 a fost ultima versiune care
ar putea rula pe un procesor clasa 68000 (68040). Mac OS X, care a înlocuit Mac OS-ul "Clasic",
este compatibil cu procesoare PowerPC şi Intel, prin versiunea 10.5 ("Leopard"). Versiunea 10.6
("Snow Leopard") functioneaza numai pe procesoare Intel.
Macintosh folosit iniţial Macintosh File System (MFS), un sistem de gestiune al fişierelor plat
cu un singur nivel de foldere. Acesta a fost rapid înlocuit în 1985 de către Hierarchical File
System (HFS), care a avut un arbore director adevărat. Ambele sisteme de gestiune ale fişierelor
sunt compatibile. Mai târziu, HFS a fost înlocuit cu HFS Plus sau HFS +, ca sistemul de gestiune
al fişierelor primar utilizat în calculatoarele Macintosh (sau alte sisteme care rulează Mac OS).
Odată cu introducerea lui OS X 10.6, Apple a renuntat la suportul pentru formatarea sau scrierea
discurilor si imaginilor in HFS, care sunt suportate numai ca volume read-only.
Directoare exista ca un concept pe Macintosh-urile bazate pe MFS, dar ele functioneaza cu totul
altfel fata de cum o fac pe sisteme moderne. Ele erau vizibile în Windows Finder, dar nu şi în
casetele de dialog. Întotdeauna exista un folder gol pe volum, şi dacă acesta era modificat în
vreun fel (de exemplu, prin adăugarea sau redenumirea fişierelor), un nou folder gol ar apărea,
astfel oferind o modalitate de a crea foldere noi. MFS stoca toate informaţiile despre listarea
fişierelor si directoarelor într-un singur fişier. Finder a creat iluzia de dosare, prin stocarea
tuturor fişierelor ca o pereche management director/management fişier. Pentru a afişa conţinutul
unui anume folder, MFS va scana directorul pentru toate fişierele cu care se ocupa. Nu era
nevoie sa se găsească un fişier separat care să cuprindă listarea directoarelor.
Macintosh File System nu suportă volume de peste 20 de megaocteţi, sau aproximativ 1.400 de
fişiere. În timp ce acest lucru este putin după standardele de azi, părea foarte expansiv atunci,
când toate computerele Apple Macintosh aveau o unitate floppy de 400 kiloocteti.
Fişierele erau identificate cu ID-uri de fişier unice, mai degrabă decât numele de fişiere, iar
numele de fisiere puteau avea 255 de caractere (deşi Finder suporta doar un maxim de 31 de
caractere).
Principala preocupare a fost timpul necesar pentru a afişa conţinutul unui folder. Pentru MFS
toate informaţiile de listare a directoarelor si a fişierelor erau depozitate într-un singur fişier, pe
care sistemul trebuia să-l caute pentru a construi o listă a fişierelor stocate într-un anume folder.
Aceasta functiona bine cu un sistem cu câteva sute de kiloocteti şi, probabil, de o sută de fişiere,
dar pe masura ce sistemele au crescut la megaocteţi şi mii de fişiere, performanţa s-a degradat
rapid. Soluţia a fost de a înlocui structura MFS cu una mai potrivită pentru sisteme de gestiune al
fişierelor mai mari. HFS a înlocuit structura plană cu Fisierul Catalog care foloseşte o structură
B-tree care ar putea fi cautata foarte repede, indiferent de dimensiune. De asemenea, HFS a
reproiectat diferite structuri pentru a putea să reţină numere mai mai, numerele întregi pe 16 biti
fiind înlocuite cu numere de 32 de biti aproape peste tot. Ciudat, una dintre puţinele locuri unde
aceasta imbunatatire nu a avut loc a fost directorul fişierul în sine, care limitează HFS la un total
de 64k fişiere.
Hierarchical File System împarte un volum în blocuri logice de 512 octeţi. Aceste blocuri logice
sunt apoi grupate în blocuri de alocare, care pot să conţină unul sau mai multe blocuri logice în
funcţie de mărimea totală a volumului. HFS foloseşte o valoare de 16 de biţi pentru a adresa
blocuri de alocare, limitând numărul de blocuri de alocare la 65536.
Există cinci structuri care alcătuiesc un volum HFS: blocurile logice 0 şi 1 din volum, care sunt
blocuri de bootare şi conţin informaţii despre pornirea sistemului; blocul logic 2, conţinând
Master Directory Block (MDB), care defineşte o gamă largă de date despre volumul în sine, de
exemplu, timbrul datei si orei creării volumului; blocul logic 3, care este blocul de pornire pentru
Volume Bitmap, care ţine evidenţa blocurilor de alocare care sunt în uz şi care sunt libere;
fisierul de depasiri, care este un B-tree care conţine extensii suplimentare, care înregistrează care
blocuri de alocare sunt alocate cărui fisier, o dată ce primele trei extensii din catalogul de fişiere
sunt epuizate; şi catalogul de fişiere care este un alt B-tree, care conţine înregistrări pentru toate
fişierele şi directoarele stocate în volum.
HFS Plus este arhitectural foarte asemănătoare cu HFS, deşi au existat o serie de modificări.
Obiectivele cheie care au ghidat proiectarea formatului HFS Plus au fost: utilizarea eficientă a
spaţiului pe disc, folosirea de nume de fişiere compatibile international, suport viitor pentru furci
de fişiere, şi uşurinţa bootarii pe sistemele de operare non-Mac OS.
HFS Plus este o versiune îmbunătăţită a HFS, sustinand fişiere mult mai mari (adresele de bloc
sunt reprezentate pe 32 de biţi în loc de 16 biţi) şi folosirea Unicode pentru a denumi elementele.
HFS Plus permite nume de fişiere până la 255 de caractere, şi foloseste furci multiple de fişiere
similar ca la NTFS, deşi până de curând, aproape nici un software nu profita de alte furci de
fisiere in afara de furcile de date si de resurse. HFS Plus foloseste, de asemenea, o tabela de
alocare de 32 de biţi, faţă de HFS care folosea 12 biţi.
Structura generală a unui volum HFS Plus este ilustrată în figura de mai jos.
Există nouă structuri care alcătuiesc un volum HFS Plus tipic. Sectoarele 0 şi 1 din volum sunt
blocuri de boot. Acestea sunt identice cu blocurile de boot într-un volum HFS. Sectorul 2 conţine
header-ul de volum echivalent cu Master Directory Block dintr-un volum HFS. Header-ul de
volum este întotdeauna situat în acelaşi loc. Fisierul de alocare care ţine evidenţa care blocuri de
alocare sunt libere şi care sunt în uz. Este similar cu Volume Bitmap din HFS, fiecare bloc de
alocare este reprezentat de un bit. Fisierul de alocare isi poate schimba dimensiunea şi nu trebuie
să fie stocat într-un mod continuu în volum. Fişierul catalog este un B-tree care conţine
înregistrări pentru toate fişierele şi directoarele stocate în volum. Fişierul catalog al HFS plus
este foarte similar cu fişierul catalog al HFS. Fişierul de depăşiri este un alt B-tree care
înregistrează blocurile de alocare care sunt alocate pentru fiecare fişier ca extinderi. Fişierul de
atribute poate stoca trei tipuri diferite de inregistrari de 4KB: înregistrările de atribute a datelor
inline, înregistrările atributelor furcilor de date şi înregistrările atributelor de extensii. Fişierul de
pornire este proiectat pentru sistemele non-Mac OS, care nu au suport pentru HFS sau HFS Plus.
Este similar cu blocurile de bootare ale unui volum HFS. Penultimul sector contine header-ul
alternativ de volum, echivalent cu Alternate Master Directory Block al HFS-ului. Ultimul sector
în volum este rezervat pentru utilizarea de către Apple. Este folosit în timpul procesului de
fabricaţie al calculatorului.
O expunere excelentă se realizează prin utilizarea unor structuri de date avansate cum ar fi
caching inteligent, citire-în-faţă şi scrie-în-spate. Spatiul de pe disc este gestionat mai economic
prin folosirea sectoarelor. HPFS include, de asemenea, o toleranţă la erori îmbunătăţită
substanţial. Programele au nevoie doar de simple modificări pentru a face uz de atributele extinse
şi numele lungi de fişiere.
Un volum HPFS are foarte puţine structuri fixe. Sectoarele de volum 0-15 (8KB) sunt
BootBlock-ul şi conţin un nume de volum, ID-ul volumului pe 32 de biţi, precum şi un program
de bootstrap al discului. Sectoarele 16 şi 17 sunt cunoscute ca SuperBlock şi respectiv
SpareBlock. SuperBlock este modificată numai prin utilitati de întreţinere disc. SpareBlock
conţine diverse steaguri şi indicia; acesta este modificat, deşi rar, pe măsură ce sistemul rulează.
Restul de disc este împărţit în benzi de 8Mb. Fiecare bandă are propriul bitmap de spaţiu liber în
care un bit reprezintă fiecare sector.
HPFS nu serveşte doar ca o modalitate de a organiza datele pe dispozitive de stocare de blocuri
cu acces aleator, dar este, de asemenea, un modul software care traduce cererile orientate pe
fişiere de la aplicaţii spre diverse dispozitive. HPFS este, de asemenea, un exemplu de sistem de
gestiune al fişierelor instalabil, ceea ce face posibil accesul simultan la mai multe structure de
volum incompatibile de pe acelasi sistem OS / 2.
Primul sistem de gestiune al fişierelor Amiga a fost Old File System (iniţial cunoscut sub numele
de Amiga File System). Chiar dacă a folosit blocuri de 512 octeţi, a rezervat prima porţiune mică
a fiecărui bloc pentru metadate, lăsând o capacitate de bloc de date de 488 octeţi per bloc. Nu a
fost foarte potrivit pentru nimic în afară de dischete, şi a fost înlocuit în scurt timp.
OFS foloseste codificarea si decodificarea MFM în mod implicit atunci când opera pe dischete.
Pe o dischetă Amiga există 80 cilindri. Fiecare cilindru are 2 piese MFM, unul pe fiecare parte a
discului. Discurile cu densitate dubla (DD) au 11 sectoare per piesă MFM, discurile de înaltă
densitate (HD) au 22 sectoare. Geometria unui disc floppy Amiga este după cum urmează: 512
bytes / sector, 11 din sectorul / piesă, 2 piese / cilindru, 80 cilindri / disc pentru discuri DD, şi:
512 bytes / sector, 22 din sectorul / piesă, 2 piese / cilindru , 80 cilindri / disc pentru discuri HD.
Discul DD are 11 * 2 * 80 = 1760 (de la 0 la 1759) blocuri, în timp ce discul HD are 22 * 2 * 80
= 3520 blocuri. Amiga stochează 880 KiB pe un disc DD şi 1760 KiB pe o dischetă HD.
OFS, predecesorul lui Fast File System (FFS), folosea 24 de octeti per sector pentru redundanţa
datelor, pentru a reconstrui datele structurate privind medii mai puţin sigure. Atunci când medii
de stocare de viteză mai mare (de exemplu, hard disk-uri) au devenit mai disponibile pentru
Amiga, aceste date redundante au reprezentat un “bottleneck”, pentru ca toate datele trebuiau să
fie transferate către aplicatie pentru a fi refacute.
FFS este simplu şi eficient, iar atunci când a fost introdus era mai mult decât potrivit, si avea
multe avantaje în comparaţie cu sisteme de gestiune al fişierelor de alte platforme. Cu toate
acestea, după cum OFS făcuse înainte, a îmbătrânit; Pe măsură ce hard disk-urile au devenit mai
mari şi numărul de fişiere de pe le-au crescut, utilizarea sa a devenit tot mai problematică.
FFS stochează un bitmap al sistemului de fişiere într-un singur sector, ceea ce predispune la
corupţie sau ştergerea dacă o operaţie de scriere este întreruptă de un crash sau de scoaterea
discului. Acest lucru ar putea duce la o situaţie cunoscută sub numele de invalidare a sistemului
de fişiere. Pentru a repara aceasta, întregul disc trebuia să fie scanat şi bitmap-ul reconstruit.
AmigaOS includea un validator de disc, iniţial pe disc (care a fost, din păcate, predispus de a fi
inlocuit de virusi pentru a se răspândi) sau, ulterior, ca parte a ROM. Validatorul de disc încerca
să repare bitmap-ul prin protejarea impotriva scrierii a discului şi scanarea lui; acest lucru putea
dura o lungă perioadă de timp şi făcea accesul la disc foarte lent până când termina, mai ales în
cazul mediilor mai lente.
Deşi iniţial limitată la adresare pe 32 de biţi (şi, prin urmare, discuri de aproximativ 2 GB), FFS
a primit ulterior unele patch-uri pe 64 de biţi ale unor părţi terţe şi apoi actualizări reale care să îi
permită să ocolească aceste limitări. Cele mai multe dintre aceste instrumente nu au fost
actualizate la momentul în care FFS devenit capabil de adresarea pe 64 de biţi şi putea să
funcţioneze pe partiţii doar cu primii 2 GB de pe disc.
Din aceste motive, FFS a fost înlocuit la mijlocul anilor 1990 cu alternative mai la zi, cum ar fi
Smart File System (SFS).
Smart File System (SFS) este un sistem de gestiune al fişierelor care ţine evidenţa modificărilor
pe care intenţionează să le facă într-un jurnal (de obicei, un jurnal circular într-o zonă dedicată a
sistemului de fişiere), înainte de comiterea lor la sistemul de fişier principal. În cazul unui crash
de sistem sau pană de curent, astfel de sisteme de gestiune al fişierelor sunt mai rapide pentru
recuperarea datelor şi mai puţin susceptibile să devină corupte. SFS utilizează dimensiuni ale
blocurilor variind de la 512 (29) la 32768 (215) octeti cu o dimensiune maximă a partiţiei de 128
GB. Integritatea este menţinută prin ţinerea unui jurnal de rollback cu toate modificările asupra
metadatelor într-o anumită perioadă de timp. Jurnalul este scris pe disc întai în spaţiul liber şi
apoi blocurile de metadate sunt suprascrise direct. Spre deosebire de celelalte sisteme de gestiune
al fişierelor Amiga, FFS şi OFS, integritatea sistemului de fişiere este foarte rar compromisă. O
caracteristică deosebit de interesant a SFS (şi aproape unică pentru sisteme de gestiune al
fişierelor Amiga), este capacitatea sa de a se defragmenta în timp ce sistemul de fişiere este
folosit, chiar şi pentru fişierele blocate. Procesului de defragmentare este aproape complet fără
stare (independent de locatie), ceea ce înseamnă că poate fi oprit şi a început instantaneu. În
timpul defragmentării integritatea datelor este asigurată atât de metadate cât si de date normale.
Bibliografie:
[1]http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPFileSystem/B
PFiBPFileSy.html
[2] http://www.asy.com/files.htm
[3] http://mac.wikia.com/wiki/Macintosh_File_System
[4] http://en.wikipedia.org/wiki/Macintosh_File_System
[5] http://developer.apple.com/mac/library/technotes/tn/tn1150.html
[6] http://tldp.org/HOWTO/Filesystems-HOWTO-7.html
[7] http://arstechnica.com/hardware/news/2008/03/past-present-future-file-systems.ars/4
[8] http://disktype.sourceforge.net/doc/ch03s02.html
[9] http://osxbook.com/book/bonus/ancient/whatismacosx/arch_fs.html
[10] http://tldp.org/HOWTO/Filesystems-HOWTO-4.html
[11] http://hobbes.nmsu.edu/h-browse.php?dir=/pub/os2/info
[13] http://en.wikipedia.org/wiki/Amiga_Old_File_System
[14] http://en.wikipedia.org/wiki/Amiga_Fast_File_System
[15] http://en.wikipedia.org/wiki/Smart_File_System
[16] http://lclevy.free.fr/adflib/adf_info.html