En minnespool är ett minnesblock som tilldelats ett specifikt program eller program på datorn. Information om ett program som körs, till exempel operativsystemet eller en öppen applikation på datorn, lagras i RAM (Random Access Memory) på en dator. Genom att tilldela varje program ett specifikt minnesblock med hjälp av minnespoolteknik undviks problemet med minnesöverlappning. Överlappning uppstår när två program försöker använda samma delar av minnet; som att försöka dela en bit paj, kan programmen sluta ”strida” om det delade minnet, vilket resulterar i fel i systemet. Med en minnespool får varje program sin egen ”slice”, vilket resulterar i harmonisk drift av datorn.
En användare kan tänka på RAM-minnet i datorn som en enkel bokhylla med flera våningar. Utan användning av minnespool, när information kommer in, kommer datorn bara att börja fylla hyllorna från topp till botten utan åtskillnad, och splittra information så att ingen linjär logisk struktur existerar i minnet. Även om detta är ett helt giltigt tillvägagångssätt för att hantera minne, handelsorganisation för hastighet, kommer nackdelen när program tas bort från minnet och nya program tar deras plats. Chansen är stor att den information som behövs för det nya programmet inte kommer att passa in i de luckor som frigjordes när det gamla programmet togs bort. Utan minnespooling tvingar denna diskrepans datorn att ytterligare kompromissa med organisationen inom RAM-minnet; detta är känt som fragmentering.
Att ha fragmenterad information i minnet innebär att datorn måste utföra en jonglering för att hämta information för ett specifikt program. Med minnespooling minimeras fragmentering eftersom datorn tilldelar varje program ett specifikt område inom ”bokhyllan” av minnet, vilket minimerar risken för desorganisering. Detta resulterar i lite extra overhead på datorn i början, eftersom den måste utföra sin minnes ”jonglering” när programmet först laddas, men ökar programmets effektivitet avsevärt medan det körs, vilket datorn redan vet var man kan leta på ”hyllan” för information om programmet.
Operativsystemet styr i allmänhet driften av minnespoolen. Den har förmågan att allokera, distribuera och omarrangera de olika ”poolerna” i datorns RAM-minne, anpassa efter behov för individuella applikationer. Till exempel, om en applikation begär ett större minnesblock än det har tilldelats, måste operativsystemet agera för att förstora den specifika poolen som tilldelats det programmet utan att inkräkta på minnespoolerna för några andra aktiva program i systemet. För att optimera detta krävs att en viss applikation ställs in för ett visst operativsystem och vice versa, vilket säkerställer att båda arbetar tillsammans för att allokera och reservera minne för applikationen på ett så effektivt sätt som möjligt.