Ruslasafnanir Flashcards
Ruslasöfnunaraðferðir/ garbage collection methods
Reference Count,
Mark and Sweep,
Stop and Copy,
Generation Scavenging
Reference Count á íslensku
Tilvísunartalning
Lýsið Refrence counting ?
Í hverju minnissvæði í kös er teljari, sem telur beinar tilvísunar á minnissvæði sem breytur nota, og þegar teljarinn verður 0 má skila minnisvæðinu.
Mark and Sweep, hvernig veit maður hvenær þarf að ruslasafna?
Þessi aðferð vinnur þannig að ónotuð minnissvæði eru geymd í lista, sem kallaður er frjálsi listinn.
Þegar reynt er að úthluta minni er athugað hvort eitthvað er tiltækt á frjálsa listanum.
Ef svo er ekki þarf að ruslasafna.
Stop and Copy / afritunaraðferðin
Tvö jafnstór minnissvæði fyrir kös, og er aðeins annað svæðið í notkun hverju sinni (nema meðan á ruslasöfnun stendur).
Minni er ávallt úthlutað aftast í því svæði sem er í notkun.
Í byrjun ruslasöfnunar er víxlað á svæðum og öll svæði í gamla svæðinu sem eru í notkun eru afrituð í nýja svæðið.
Einnig er reiknað með því að sérhvert minnissvæði hafi pláss fyrir framvísunarbendi, s.framvísun, en það pláss má nota í annað þegar ruslasöfnun er ekki í gangi.
Minnissvæði sem lifa af ruslasöfnun eru afrituð yfir í nýju kösina og eru þá um leið merkt og fá framvísunarbendi sem bendir á samsvarandi minnissvæði í nýju kösinni.
Eins og í merkja og sópa aðferðinni er reiknað er með því að öll minnissvæði séu ómerkt þegar ruslasöfnun hefst.
Ókostir Refrence counting ?
Worst of all, it can’t handle cyclic structures.
These are very common — anything with a parent or reverse reference creates a cycle which will leak memory.
Mark and sweep three phases ?
mark, sweep, compact
Mark
Taka eftir/ Merkja hluti sem eru enn í notkun
Sweep
Henda hlutum sem eru ekki í notkun
Compact
Compact the memory, þjappa gögnun saman í minninu