Activitatea de gestionare a datelor sub
controlul sistemului de operare consta in organizarea datelor pe
suportii de memorie externa in scopul stocarii lor si
pentru a permite regasirea lor, in vederea realizarii schimbului de
date cu celelalte componente ale sistemului de calcul.
Fisierul reprezinta unitatea logica de organizare a datelor pe suportul
de memorie externa.
Componenta sistemului de operare care
asigura gestiunea datelor pe suportii de memorie externa se
numeste sistemul de gestiune a fisierelor (SGF).
Sistemul de operare defineste
unitati logice corespunzatoare echipamentelor periferice,
echipamente de intrare/iesire, dispozitive de memorie externa numite device-uri.
Pentru fiecare tip de device, sistemul de operare furnizeaza cate un
program de interfata numit driver.
Schimbul de date gestionat de SGF se
realizeaza la nivel de fisier, prin cooperarea rutinelor SGF cu
programele driver corespunzatoare echipamentelor periferice implicate.
 
Functiile
indeplinite de SGF pentru gestionarea datelor stocate pe suportii de
memorie externa sunt:
 - functia de evidenta a
     fisierelor, care trebuie sa ofere date despre fisiere
     si despre modul de organizare a fisierelor pe suport cat si
     despre drepturile de acces ale utilizatorilor la fisiere; 
- functia de alocare a memoriei externe,
     pentru stocarea fisierelor; pentru realizarea acestei functii,
     sistemul de operare trebuie sa realizeze si o evidenta
     a ocuparii dispozitivelor de memorie externa; 
- functia de dezalocare a memoriei externe, prin eliberarea
     memoriei externe ocupate; 
- functia de acces la date, care trebuie sa faciliteze accesul
     utilizatorului la date, prin localizarea inregistrarii dorite si
     accesarea ei, conform drepturilor de acces. 
Utilizand conceptul de fisier, se poate
spune ca SGF este acea componenta a sistemului de operare care
implementeaza operatiile de creare, intretinere si
exploatare a fisierelor.
 
Tinand cont de functiile pe care
trebuie sa le indeplineasca in sistemul de calcul, SGF trebuie
sa satisfaca urmatoarele conditii:
 - sa asigure un mecanism de lucru cu fisierele cat mai
     accesibil pentru utilizator 
- sa permita o utilizare cat mai eficienta a
     dispozitivelor de memorie externa 
- sa asigure o independenta
     maxima a programelor fata de particularitatile
     hardware ale sistemului de calcul 
- sa permita accesul concurent la
     fisiere 
- sa asigure securitatea
     si integritatea datelor memorate in fisiere. 
Evidenta fisierelor 
Functia
SGF de evidenta a fisierelor pe suportii de memorie
externa trebuie sa rezolve urmatoarele
probleme:
 - identificarea fisierului si memorarea caracteristicilor
     generale ale sale 
- organizarea unui sistem de cataloage pentru inregistrarea tuturor
     fisierelor de pe un dispozitiv de memorie externa. 
Dintre toate dispozitivele de memorie
externa, discurile magnetice necesita cea mai complexa
evidenta a fisierelor pe care le memoreaza, pentru ca
sunt dispozitive care permit stocarea simultana a mai multor fisiere
(dispozitive multifisier) si sunt direct
adresabile, deci modul de organizare a evidentei fisierelor
pe suport trebuie sa permita accesul direct la fisiere.
Fiecare volum de disc contine cate o
tabela cu informatii despre fisierele memorate in volumul
respectiv, tabela numita catalog de fisiere sau director.
Accesul la fisiere se face pe baza datelor din aceasta tabela;
fiecare intrare in tabela director contine cate un descriptor de
fisier, ce cuprinde date despre fisier, si anume:
 - identificatorul de fisier, format dintr-o pereche de valori, de forma (Nume,Indicativ), unde
     Nume este numele simbolic al fisierului, recunoscut de utilizator,
     iar Indicativ este un numar prin care fisierul este identificat
     intern, de catre SGF; 
- informatii de adresa care permit localizarea fisierului in disc; natura acestor
     informatii difera, in functie de modul de alocare a
     discului folosit pentru generarea fisierului; 
- informatii pentru controlul accesului la fisier,
     prin care sistemul de operare realizeaza functia de
     protectie a datelor: 
  - atributele de
      fisier (de exemplu: fisier read-only, fisier sistem,
      fisier ascuns aplicatiilor obisnuite) 
- utilizatorii si drepturile de acces la fisier pe care le au
      (de exemplu: W acces in scriere, R acces in citire, A acces pentru
      modificare, D acces pentru stergere) 
- drepturi de partajare a fisierului, de exemplu in cadrul unei
      retele de calculatoare; 
- informatii despre date calendaristice, de exemplu:
     data cand a fost creat fisierul, data ultimei actualizari, data
     ultimei consultari; 
- alte informatii despre fisier, de exemplu: modul de
     organizare, dupa modul de alocare a suportului (contigua,
     inlantuita, indexata), tipul de fisier, dupa
     formatul articolului (cu format fix, variabil, nedeterminat), dupa
     modul de codificare a datelor (fisier binar, fisier text),
     dupa durata stocarii pe suport (permanent, temporar, la termen),
     numarul de accese la fisier, etc. 
Modul
de organizare a sistemului de fisiere in directori poate fi:
 
			
 - cu un singur
     nivel, definind un director unic pentru fiecare volum de disc;
     acest director are dimensiune fixa, deci numarul de intrari
     in director este fix, adica numarul maxim de fisiere care
     pot fi memorate in volumul de disc este limitat de aceasta valoare
     maxima. Pentru o astfel de organizare a
     sistemului de fisiere, pe un volum de disc poate fi un singur
     fisier cu un anumit nume (identificator); 
- cu doua niveluri, intre
     care exista o relatie de subordonare: 
  - pe primul nivel se
      defineste un director principal MFD (Master File Directory), avand
      cate o intrare pentru fiecare utilizator; in felul acesta se asigura
      protectia datelor intre utilizatori, pentru ca drepturile de
      acces ale unui utilizator se pot limita la fisierele din propriul
      sau director 
- pe al doilea nivel
      sunt definiti directorii utilizatorilor, UFD (User File Directory),
      care contin cate o intrare pentru fiecare fisier al
      utilizatorului respectiv. Pentru o astfel de
      organizare, pot exista pe un volum de disc mai multe fisiere cu
      acelasi nume, cu conditia sa apartina la UFD-uri
      diferite; 
- cu structura de arbore, care extinde modul de
     organizare de mai sus la mai multe niveluri; fiecare volum contine un
     director principal, numit radacina; intrarile unui
     director contine descriptori pentru toate fisierele pe care le
     include; un director este tot un fisier, care difera de
     fisierele utilizator numai prin continut; rezulta ca
     un director poate contine oricati directori sau oricate
     fisiere, cu conditia ca orice fisier sa se
     gaseasca intr-un singur director; 
- cu structura de graf aciclic,
     asemanatoare organizarii in arbore de directori, dar cu
     deosebirea ca un fisier poate sa apartina la mai
     multi directori. 
1.
Evidenta ocuparii volumului de disc 
Pentru a realiza alocarea spatiului din
disc, sistemul de operare trebuie sa asigure o evidenta a
modului in care este ocupat fiecare volum si a spatiului liber din
disc. In acest scop, volumul este
impartit in unitati de alocare de lungime fixa, numite
blocuri si numerotate secvential; exista mai
multe modalitati de realizare a evidentei blocurilor libere
si a celor ocupate:
 - cu ajutorul tabelei de ocupare a volumului (TOV), care
     are atatea pozitii cate blocuri are volumul; in fiecare pozitie
     se memoreaza cate un indicator, care este setat pe 0 daca blocul
     nu este ocupat si pe o valoare diferita de 0 la ocuparea
     blocului; 
- cu ajutorul unei liste inlantuite a blocurilor libere;
     in directorul volumului se memoreaza un pointer la primul bloc liber
     de pe volum; fiecare bloc liber contine un pointer la urmatorul
     bloc liber; ultimul bloc liber contine un indicator de sfarsit
     de lista; alocarea unui bloc se face cu scoaterea lui din lista
     (de obicei de la unul din capetele listei); eliberarea unui bloc se face
     cu inserarea blocului in lista; dezavantajul este ca pentru
     consultarea listei, de exemplu pentru a determina numarul blocurilor
     libere din disc, trebuie incarcate in memoria interna atatea
     blocuri cate se consulta; 
- o metoda mai eficienta este evidenta printr-o
     lista inlantuita si indexata a ocuparii
     volumului; in primul bloc liber din volum se memoreaza cate adrese de
     blocuri libere incap; acest bloc se numeste bloc de index;
     daca numarul blocurilor libere depaseste
     capacitatea blocului de index, pe ultima pozitie din blocul de index
     se memoreaza adresa unui nou bloc de index, samd; in directorul
     volumului se memoreaza un pointer catre primul bloc de index;
     alocarea de blocuri libere ca si inserarea unor blocuri eliberate in
     blocurile de index se realizeaza la nivelul ultimului bloc de index. 
1.2. Alocarea spatiului pe disc
In functie de modalitatea de alocare a
discului se determina modul de acces la fisier si
informatiile care se memoreaza in descriptorul de fisier, pentru
a permite accesarea fisierului. Exista mai multe moduri de alocare a
discului pentru generarea unui fisier:
 
 
 - alocarea este contigua atunci cand fisierul
     ocupa un set de adrese consecutive in disc; pentru a face posibil
     accesul la fisier, in descriptorul de fisier trebuiesc
     precizate: adresa de inceput a fisierului si lungimea
     fisierului; in cazul utilizarii alocarii contigue poate
     sa apara, in timp, o fragmentare a discului si necesitatea
     compactarii datelor din volum; 
- alocarea inlantuita se realizeaza
     cand blocurile fisierului alcatuiesc o lista
     inlantuita; acest mod de alocare permite numai accesul
     secvential la fisier; in descriptorul de fisier se
     memoreaza adresa primului bloc al fisierului, pentru a permite
     citirea fisierului si adresa ultimului bloc, pentru a permite
     extinderea fisierului; 
alocarea indexata
foloseste un bloc suplimentar, numit bloc de index, care se genereaza
odata cu fisierul; in blocul de index se memoreaza, in ordinea
alocarii lor, adresele blocurilor fisierului; pentru fisiere
mari, blocurile de index se pot inlantui; aceasta alocare
permite accesul direct la un bloc de date din fisier; in descriptorul de
fisier se memoreaza adresa primului bloc de index si
numarul de blocuri alocate fisierului.
  
  
BIBLIOGRAFIE: 
1.D.
Cramer, Interworking with TCP-IP, vol.1, Prentice Hall, New
-Jersey,1991.
2.Andrew S. Tanenbaum, Modern Operating Systems, Prentice Hall,1992.
3.Iosif Ignat, Emil Muntean, Kalman Pustzai,   Microinformatica, 1992.
 . Andrew
Tanenbaum, Sisteme de Operare Moderne, Editura Byblos,
Bucuresti, 2004.
 Sorin
Adrian Ciureanu, Sisteme de operare,
suport de curs,
 Grigore Albeanu, Sisteme de operare, suport de curs.