Pula pamięci to blok pamięci przypisany do określonego programu lub aplikacji na komputerze. Informacje o uruchomionym programie, takim jak system operacyjny lub dowolna otwarta aplikacja na komputerze, są przechowywane w pamięci o dostępie swobodnym (RAM) na komputerze. Przypisanie każdemu programowi określonego bloku pamięci przy użyciu technologii puli pamięci pozwala uniknąć problemu nakładania się pamięci. Nakładanie występuje, gdy dwa programy próbują wykorzystać te same sekcje pamięci; podobnie jak próba podzielenia się kawałkiem ciasta, programy mogą „walczyć” o pamięć współdzieloną, powodując błędy w systemie. Dzięki puli pamięci każdy program otrzymuje swój własny „kawałek”, co skutkuje harmonijnym działaniem komputera.
Użytkownik może myśleć o pamięci RAM w komputerze jak o prostej wielopiętrowej półce na książki. Bez użycia puli pamięci, w miarę napływania informacji komputer zacznie po prostu bezkrytycznie zapełniać półki od góry do dołu, łącząc informacje tak, że w pamięci nie ma żadnej liniowej struktury logicznej. Chociaż jest to całkowicie słuszne podejście do obsługi pamięci, wymiany organizacji na szybkość, wadą jest to, że programy są usuwane z pamięci, a ich miejsce zajmują nowe programy. Istnieje duża szansa, że informacje potrzebne nowemu programowi nie zmieszczą się dokładnie w lukach uwolnionych po usunięciu starego programu. Bez łączenia pamięci ta rozbieżność zmusza komputer do dalszego narażania organizacji w pamięci RAM; nazywa się to fragmentacją.
Posiadanie pofragmentowanych informacji w pamięci oznacza, że komputer będzie musiał wykonać czynność żonglowania, aby pobrać informacje dla dowolnego konkretnego programu. Dzięki buforowaniu pamięci fragmentacja jest zminimalizowana, ponieważ komputer przypisuje każdemu programowi określony obszar w „półce” pamięci, minimalizując ryzyko dezorganizacji. Powoduje to trochę dodatkowego obciążenia na komputerze na początku, ponieważ musi on wykonywać „żonglowanie” pamięcią, gdy program jest ładowany po raz pierwszy, ale znacznie zwiększa wydajność programu podczas jego działania, ponieważ komputer już wie gdzie szukać na „półce” informacji o programie.
System operacyjny ogólnie kontroluje działanie puli pamięci. Posiada możliwość przydzielania, dystrybucji i przestawiania różnych „pul” w pamięci RAM komputera, dostosowując się w razie potrzeby do wymagań poszczególnych aplikacji. Na przykład, jeśli aplikacja zażąda większego bloku pamięci niż został przypisany, system operacyjny musi podjąć działania w celu powiększenia określonej puli przypisanej do tego programu bez naruszania pul pamięci innych aktywnych programów w systemie. Optymalizacja tego wymaga, aby konkretna aplikacja była dostosowana do konkretnego systemu operacyjnego i odwrotnie, zapewniając, że obie współpracują ze sobą w celu alokacji i rezerwacji pamięci dla aplikacji w możliwie najbardziej wydajny sposób.