Hoppa till innehållet

Allokeringsenhet

Från Wikipedia
(Omdirigerad från Allokeringsenheter)

Allokeringsenhet är det minsta minnesutrymme som kan användas vid minnesallokering, alltså reservation, av datorminne. För hårddiskar kallas denna enhet ofta "kluster" (engelska: data cluster) eller "block" och för det interna arbetsminnet används ofta beteckningen "sida" (engelska: page).

Valet av storlek är en kompromiss mellan behovet att kunna lagra så stora mängder data som möjligt, och sannolikheten för att råka ut för intern minnesfragmentering. Varje allokeringsenhet måste kunna identifieras med en egen unik adress och därför finns en övre gräns på totala antalet allokeringsenheter. Ju större allokeringsenhet desto större totalt minne. Å andra sidan, ju större allokeringsenhet, desto större risk för att hela allokeringsenheten inte kan utnyttjas och man får ett slöseri med det tillgängliga minnet.

Hårddiskstruktur:
(A) spår
(B) skivsektor
(C) spårsektor
(D) kluster

För en hårddisk är den minsta del som hårdvaran kan läsa eller skriva en sektor. Traditionellt har en sektor varit på 512 byte, men på moderna hårddiskar kan storleken vara en annan, beroende på konfiguration.[1] Typiska klusterstorlekar kan variera från 1 till 128 sektorer. Det totala möjliga antalet kluster varierar beroende på typ av filsystem. FAT16 tillåter till exempel totalt 65 526 (216 - 10)[2] kluster, FAT32 228 (268 435 456) kluster och NTFS 264 stycken.

Arbetsminnet i moderna datorer (undantaget en del inbyggda system) är i allmänhet uppdelat på ”sidor” (engelska: page) av en viss storlek.[3] Sidor i den virtuella minnesrymden (de adresser som används i ett datorprogram) kopplas ihop med adresser i de fysiska minneskretsarna. För att denna koppling skall kunna utnyttjas effektivt kan minne inte allokeras i enheter mindre än en sida.

Källförteckning

[redigera | redigera wikitext]