Structura sistemului de fisiere I-noduri, Blocul, Subblocul, Lista



Structura sistemului de fisiere. I-noduri

Reprezentarea interna a unui fisier si informatiile referitoare la carcateristicile sale sunt continute de o structura de date numita i-nod (information node), care contine date despre: pozitia pe disc a datelor din fisier, proprietarul fisierului, drepturile de acces, momentul ultimului acces la fisier sau ultima modificare a fisierului sau I-nodului. Un fisier poate avea mai multe nume, dar exista un singur i-nod asociat. Relatia stabilita intre nume si i-nod se numeste legatura . Fiecare i-nod are asociat un numar de ordine (i-number ) ce desemneaza in mod unic numele interne ale fisierelor, iar cataloagele contin numai tabela de traducere a numelui extern al fisierului in numarul de ordine asociat.



Cand un proces creeaza un nou fisier, nucleul asociaza acestuia un i-nod liber al carui numar de ordine devine identificatorul intern al fisierului si creeaza o noua intrare in catalogul corespunzator. I-nodurile sunt memorate in sistemul de fisiere dar, pentru a micsora timpul de executie a operatiilor care necesita informatii despre fisiere, o copie a tabelei de i-noduri este pastrata in memoria interna. Nucleul sistemului de operare contine urmatoarele structuri de date: o tabela de fisiere ,cate o tabela de descriptori de fisier pentru fiecare proces. Tabela descriptorilor de fisier identifica toate fisierele create sau dezchise de un anumit proces. Tabela de fisiere inregistreaza, pentru fiecare fisier, pozitia in octeti de la care se va face urmatoarea operatie de citire sau scriere asupra fisierului. In momentul in care procesul va lansa o comanda de deschidere sau creare de fisier, nucleul sistemului de operare ii va intoarce indexul fisierului din tabela descriptorilor de fisier alocata acelui proces. Daca procesul lanseaza o comanda de scriere/citire asupra fisierului, comanda va contine ca argument si acest index, pe baza caruia sistemul de operare va identifica descriptorul acelui fisier, apoi pozitia sa in sistemul de fisiere si in cele din urma i-nodul asociat (din informatiile cuprinse in i-nod se identifica zona de date a fisierului.

Un i-nod contine toate informatiile cu privire la un fisier (mai putin numele sau), cum ar fi:

  • tipul fisierului

  • drepturile de acces

  • identificatorul proprietarului fisierului

  • identificatorul grupului caruia apartine fisierul

  • marimea fisierului

  • data si ora ultimei accesari a fisierului

  • data si ora ultimei modificari a fisierului

  • data si ora crearii fisierului

  • tabel de adrese de disc a blocurilor ce compun fisierul (in cazul unor blocuri de 512 octeti, marimea fisierului poate ajunge la 1 Go

Un sistem de fisiere este compus dintr-o secventa de blocuri logice, marimea acestora fiind un multiplu de 512 octeti (marimea blocului depinde de implementarea sistemului). Structura generala a sistemului de fisiere este urmatoarea:

*****************************

* Bloc pentru incarcarea *

* sistemului de operare *

*****************************

* Superbloc * 14795xtb69sfc5h

*****************************

* Lista de i-noduri *

*****************************

* * tf795x4169sffc

* * tf795x4169sffc

* Blocuri de date *

* *

* *

*****************************

Blocul de incarcare ocupa, de obicei, zona aflata pe primul sector al discului si contine procedurile de incarcare ale sistemului de operare. Desi este considerata zona a sistemului de fisiere, nu este folosita practic de acesta.

Superblocul ocupa urmatoarele sectoare de pe disc si contine informatii referitoare la sistemul de fisiere, cum ar fi:

  • Marimea si starea sistemului de fisiere(eticheta, numele sistemului de fisiere, marimea blocurilor, data si ora ultimei modificari a superblocului)

  • Informatii cu privire la i-noduri (numar total de i-noduri alocate, numarul de i-noduri libere...)

  • Blocurile de memorie (numarul total de blocuri libere, tabel cu numerele a 50 de blocuri libere si un index in acest tabel)

Lista de i-noduri cuprinde informatii cu privire la fiecare i-nod din sistem, marimea sa fiind specificata in momentul configurarii sistemului de fisiere. Nucleul sistemului de operare se refera la i-noduri prin indexul acestora din tabela de i-noduri. Unul dintre i-noduri este radacina sistemului de fisiere, prin acesta fiind disponibila structura de cataloage a sistemului de fisiere.

Blocurile de date incep imediat dupa lista de i-noduri si contin datele din fisiere sau date administrative. Un bloc de date nu poate apartine, la un moment dat, decat unui singur fisier.