|
Stocarea fisierelor si organizarea discului
Un hard disc este o unitate ermetica ce contine un numar de platouri. Hard discurile pot fi montate atat in pozitie orizontala, cat si verticala. Capete de citire-scriere sunt pozitionate deasupra si dedesubtul fiecarui disc. Discul invartindu-se, capul se deplaseaza intre centrul suprafetei si marginea acesteia. Astfel se poate citi intreaga suprafata a discului.
Pe un hard disc, datele sunt stocate in benzi subtiri concentrice. Suprafata care poate fi citita sau scrisa cu capul de citire-scriere intr-o pozitie fixa este numita pista. Pot exista mai mult de o mie de piste intr-un hard disc de 3,5 inch. Fiecare pista e impartita in zone numite sectoare. Un sector este cea mai unitate fizica de stocare a informatiei pe disc, si aproape intotdeauna are o marime de 512 octeti (0,5 KB).
Structura hard discurilor mai vechi fac referire la notatiile cilindru, cap, sector. Un cilindru este obtinut atunci cand toate capetele de citire-scriere se afla in aceeasi pozitie pe disc. Deci un cilindru este alcatuit din pistele egal departate de centru. Pistele asezate una deasupra celeilalte formeaza un cilindru.
Aceasta schema este usor eliminata de hard discurile moderne. Acestea utilizeaza un factor de translatie care face ca zona de memorie sa para continua, sistemele de operare aparute dupa Windows 95 utilizand acest mod de lucru.
Pentru sistemul de operare al unui calculator pistele sunt mai degraba logice decat o structura fizica, si sunt stabilite cand discul este formatat. Pistele sunt numerotate, incepand cu 0 la marginea suprafetei discului, si crescand pana la numere mari, de obicei 1023 in centrul discului. In mod similar sunt 1024 de cilindri la un hard disc, numerotati de la 0 la 1023.
Discurile se rotesc cu viteza constanta. Capul de citire-scriere pozitionat mai aproape de centrul discului citeste o suprafata care se misca mai incet decat o suprafata care se afla mai spre marginea discului. Pentru a compensa aceasta diferenta fizica, pistele mai apropiate de marginea discului sunt populate mai putin dens cu date decat cele situate mai aproape de centrul discului. Rezultatul obtinut in urma unei astfel de alocari este acela ca totalul datelor citite intr-o anumita perioada de timp este acelasi indiferent de pozitia capului de citire-scriere.
Spatiul pe disc este completat cu date conform unui plan standard. O parte a discului contine spatiul rezervat pentru informatia despre pozitionarea hardware a pistelor, si nu este disponibil pentru sistemul de operare. Astfel un disc continand doua fete are trei parti disponibile pentru date. Datele despre pozitionarea pistelor sunt scrise pe disc in timpul asamblarii de catre producator. Sistemul de control al discului citeste aceste date pentru a pozitiona corect capul de citiere-scriere.
Un sector este cea mai mica unitate fizica de stocare si este aproape intotdeauna de 512 octeti, pentru ca 512 este o putere a lui 2 (2 la puterea 9). Numarul 2 este utilizat pentru ca in general sunt 2 stari utilizate de calculator: on off.
Fiecare sector al discului este etichetat. Datele de identificare a unui sector sunt scrise imediat inaintea continutului sectorului si identifica adresa de inceput a sectorului.
O metoda optima de a stoca un fisier este aceea de a-l stoca intr-o serie contigua. Multe fisiere sunt mai mare de 512 octeti si depinde de sistem sa aloce sectoare pentru datele fisierului. De exemplu daca marimea fisierului este de 800 de octeti, sunt alocate pentru fisier 2 sectoare de 512 octeti. Aceste 2 sectoare cu 800 octeti se numesc clustere. Un cluster este de aceeasi marime ca un sector. Se numeste cluster deoarece spatiul este rezervat pentru continutul datelor. Acest proces partajeaza datele stocate impotriva rescrierii. Mai tarziu daca sunt adaugate date la fisier si marimea lor depaseste 1600 octeti, alte 2 clustere sunt alocate, stocand intregul fisier in cele 4 clustere.
Daca nu sunt disponibile clustere adiacente, urmatoarele doua clustere pot fi scrise in alta parte pe disc, pe acelasi cilindru sau pe cilindru diferit, oriunde sistemul gaseste doua sectoare disponibile.
Fisierul stocat in acest in acest mod necontiguu este considerat fragmentat. Fragmentarea poate micsora performanta sistemului daca sistemul de fisiere trebuie sa directioneze capetele de citire-scriere la cateva adrese diferite pentru a gasi toate datele fisierului pe care vrem sa-l citim. Timpul suplimentar pentru cap sa ajunga la un numar de adresa cauzeaza o intarziere inainte ca intregul fisier sa fie refacut.
Marimea clusterului poate fi schimbata pentru a optimiza stocarea fisierului. Dimensiunea mare a clusterului reduce potentialul de fragmentare dar mareste probabilitatea ca clusterele sa aiba spatiu nefolosit.
Folosirea clusterelor mai mari de un sector reduce fragmentarea si reduce cantitatea de spatiu pe disc necesar pentru a stoca informatiile despre zonele folosite se nefolosite pe disc.