Sekundarni pomnilnik



Disk je najbolj pogost sekundarni pomnilni medij. Kljub njegovi velikosti je optimizacija njegovega prostora zelo pomembna. Diskovne bloke lahko alociramo datotekam na tri različne načine:

Zaporedno alociranje(Contiguous Allocation): Pri tej metodi pomnimo podatke datoteke v linearno zaporedje blokov na disku. Datotečni direktorij mora za vsako datoteko vsebovati ime datoteke, številko začetnega bloka in dolžino datoteke.

Prednosti:

Slabosti:




Povezano alociranje (Linked Allocation): Pri tej metodi so podatkovni bloki datoteke razpršeni po disku. Direktorij datoteke vsebuje ime datoteke in številko začetnega bloka. Vsak podatkovni blok pa porabi nekaj bajtov za kazalec na naslednji blok. Kazalec v zadnjem bloku ima posebno vrednost EOF (End Of File).
 
Prednosti:
  • Ni zunanje fragmentacije. Uporabimo lahko katerikoli prosti blok.
  • Datoteko lahko širimo tudi kasneje in ni potrebno deklarirati velikosti datoteke že ob njeni tvorbi.
  • Zgoščevanje diska ni potrebno.


Slabosti:

  • Direkten dostop je zelo neučinkovit.
  • Kazalci porabijo nekaj prostora v podatkovnih blokih.
  • Razpršenost kazalcev po disku pomeni določeno nezanesljivost.


Indeksirano alociranje (Indexed Allocation): Pri tej metodi alociramo za vsako tvorjeno datoteko indeksni blok. Ta blok vsebuje vse kazalce, ki kažejo na podatkovne bloke. Direktorij vsebuje ime datoteke in številko indeksnega bloka.


 
Prednosti:
  • Z združevanjem vseh kazalcev na enem mestu se zanesljivost poveča.
  • Direktni dostop do podatkov je učinkovit. i-ti kazalec v indeksni tabeli kazalcev že kaže na i-ti blok datoteke. 


Slabosti:

  • Problem s porabo prostora na disku s kazalci je še večji, saj za vsako datoteko porabimo cel blok, čeprav bi potrebovali le nekaj kazalcev.


Interaktivni primeri