introducere:-deoarece spațiul pe disc este limitat, ar trebui să reutilizăm spațiul din fișierele șterse pentru fișiere noi. Pentru a urmări spațiul liber pe disc, sistemul menține o listă de spațiu liber. Lista de spațiu liber înregistrează toate blocurile de disc liber pe cele care nu sunt alocate unui fișier sau director. Această listă de spațiu liber poate fi implementată ca una dintre următoarele:
a) vector de biți – lista de spațiu liber este implementată ca hartă de biți sau vector de biți. Fiecare bloc este reprezentat de un bit. Dacă blocul este liber, bitul este 1, dacă blocul este alocat, bitul este 0.
principalul avantaj al acestei abordări este simplitatea sa relativă și eficiența sa în găsirea primului bloc liber sau n blocuri libere consecutive pe disc. Calculul numărului de bloc este (numărul de biți pe cuvânt) * (numărul de cuvinte cu valoare 0) compensarea primului bit 1
B) lista legată-o altă abordare a gestionării spațiului liber este de a lega împreună toate blocurile de disc libere păstrând un pointer la primul bloc liber într – o locație specială de pe disc și memorându-l în memorie. Primul bloc conține un pointer la următorul bloc de disc liber.
c) gruparea – o modificare a abordării listă liberă este de a stoca adresele n blocuri libere în primul bloc liber.
D) numărare – o altă abordare este de a profita de faptul că mai multe blocuri contigue pot fi alocate sau eliberate simultan atunci când spațiul este alocat cu algoritmul de alocare contiguă sau clustering.
eficiență și performanță
discurile tind să reprezinte un blocaj major în performanța sistemului, deoarece sunt cea mai lentă componentă principală a computerului. Eficiență:- Utilizarea eficientă a spațiului pe disc depinde în mare măsură de alocarea discului și de algoritmii de directoare utilizați.
performanță:-cele mai multe controlere de disc includ memorie locală pentru a forma o memorie cache la bord, care este suficient de mare pentru a stoca piese întregi la un moment dat. Odată ce se efectuează o căutare, piesa este citită în memoria cache a discului începând din sectorul de sub capul discului. Controlerul de disc transferă apoi orice solicitare de sector către sistemul de operare. Unele sisteme mențin o secțiune separată a memoriei principale pentru o memorie cache tampon în care blocurile sunt păstrate sub presupunerea că vor fi utilizate din nou. Alte sisteme de date de fișiere cache folosind un cache de pagină. Cache-ul paginii folosește tehnici de memorie virtuală pentru a cache datele fișierelor ca pagini, mai degrabă decât ca blocuri orientate spre sistemul de fișiere. Cache-ul de date de fișiere folosind adrese virtuale este mai eficient decât cache-ul prin blocuri de disc fizice ca interfață accesează cu memorie virtuală, mai degrabă decât sistemul de fișiere. Mai multe sisteme utilizează cache-ul paginii pentru a memora în cache atât paginile de proces, cât și datele fișierelor. Acest lucru este cunoscut sub numele de cache tampon unificat.
există și alte probleme care pot afecta performanța I/O, cum ar fi dacă scrierea în sistemul de fișiere apare sincron sau asincron. Scrierile sincrone apar în ordinea în care subsistemul de disc le primește și scrierile nu sunt tamponate. Scrieri asincrone se fac majoritatea timpului. Unele sisteme își optimizează memoria cache a paginii utilizând diferiți algoritmi de înlocuire în funcție de tipul de acces al fișierului. Accesul secvențial poate fi optimizat prin tehnici cunoscute sub numele de free behind și citite înainte. Free behind elimină o pagină din buffer imediat ce se solicită Pagina următoare. Cu citire înainte, o pagină solicitată și mai multe pagini ulterioare sunt citite și memorate în cache.