Koalisering (informatikk)

Fra Wikipedia, den frie encyklopedi

Innen informatikk er koalisering eller koalescering en type minnehåndtering hvor to nærliggende frie minneblokker i dataminnet slås sammen. Koalescering kan gjøres så snart blokker er frigjorte, eller kan utsettes til et senere tidspunkt (kjent som utsatt koalescering), eller kan ikke gjøres i det hele tatt.

Motivasjon[rediger | rediger kilde]

Når en program ikke lenger trenger visse blokker med minne kan disse blokkene frigis fra minnet. Uten koalescering forblir disse minneblokkene skilt fra hverandre i sin opprinnelige forespurte størrelse selv om de fyisisk ligger ved siden av hverandre. Dersom en påfølgende forespørsel om minne spesifiserer en minnestørrelse som ikke kan oppfylles med et helt tall av disse frigjorte blokkene (med potensielt ulike størrelser) kan ikke disse naboblokkene med frigjort minne tildeles for denne forespørselen. Coalescing avhjelper dette problemet ved å gjøre naboblokkene med frigjort minne sammenhengende uten grenser slik at deler eller hele av dette minneområdet kan tildeles forespørselen.

Bruksområder[rediger | rediger kilde]

Koalesering er en av flere teknikker som kan brukes for å redusere ekstern fragmentering, men er ikke helt effektiv.

Koalescens og relaterte teknikker som haugkomprimering (engelsk: heap compaction) kan brukes i søppeltømming.

Se også[rediger | rediger kilde]