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
-
Povezano alociranje
-
Indeksirano alociranje
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:
-
Enostavna implementacija
-
Tako linearen kot sekvenčni dostop do podatkov sta
enako preprosta.
Slabosti:
-
Širjenje datotek ni enostavno.
-
Tvegamo zunanjo fragmentacijo.
-
Problem fragmentacije lahko rešujemo z zgoščevanjem,
ki pa je časovno potratno.
-
Jedro bi moralo alocirati in rezervirati zaporedne
lokacije na disku že ob prvi tvorbi datoteke.
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


