Wat is een geheugenpool?
Een geheugenpool is een geheugenblok toegewezen aan een specifiek programma of een specifieke toepassing op de computer. Informatie voor een actief programma, zoals het besturingssysteem of een open toepassing op de computer, wordt opgeslagen in RAM (Random Access Memory) op een computer. Door elk programma een specifiek geheugenblok toe te wijzen met behulp van geheugenpooltechnologie wordt het probleem van geheugenoverlap voorkomen. Overlap treedt op wanneer twee programma's dezelfde secties van het geheugen proberen te gebruiken; zoals het proberen om een stukje taart te delen, kunnen de programma's uiteindelijk "vechten" over het gedeelde geheugen, wat resulteert in fouten op het systeem. Met een geheugenpool krijgt elk programma zijn eigen "slice", wat resulteert in een harmonieuze werking van de computer.
Een gebruiker kan het RAM-geheugen in de computer zien als een eenvoudige boekenplank met meerdere verdiepingen. Zonder gebruik van geheugenpools, zodra informatie binnenkomt, zal de computer de schappen gewoon van boven naar beneden vullen en informatie splitsen zodat er geen lineaire logische structuur in het geheugen bestaat. Hoewel dit een volledig geldige aanpak is voor het omgaan met geheugen, handelsorganisatie voor snelheid, komt het nadeel wanneer programma's uit het geheugen worden verwijderd en nieuwe programma's hun plaats innemen. De kans is groot dat de informatie die nodig is voor het nieuwe programma niet precies in de openstaande gaten past toen het oude programma werd verwijderd. Zonder geheugenpooling dwingt deze discrepantie de computer om de organisatie binnen het RAM-geheugen verder in gevaar te brengen; dit staat bekend als fragmentatie.
Het hebben van gefragmenteerde informatie in het geheugen betekent dat de computer een jongleeractie moet uitvoeren om informatie voor een specifiek programma op te halen. Met geheugenpooling wordt fragmentatie geminimaliseerd omdat de computer elk programma een specifiek gebied binnen de "boekenplank" van het geheugen toewijst, waardoor het risico op desorganisatie wordt geminimaliseerd. Dit resulteert in een beetje extra overhead op de computer, omdat het geheugen moet "jongleren" wanneer het programma voor het eerst wordt geladen, maar de efficiëntie van het programma aanzienlijk verhoogt terwijl het wordt uitgevoerd, zoals de computer al weet waar te kijken op de "plank" voor informatie over het programma.
Het besturingssysteem regelt over het algemeen de werking van de geheugenpool. Het heeft de mogelijkheid om de verschillende "pools" in het RAM van de computer toe te wijzen, te distribueren en opnieuw te rangschikken, indien nodig aan te passen aan de eisen van individuele toepassingen. Als een toepassing bijvoorbeeld om een groter geheugenblok vraagt dan is toegewezen, moet het besturingssysteem de specifieke pool die aan dat programma is toegewezen, vergroten zonder de geheugenpools van andere actieve programma's op het systeem aan te tasten. Om dit te optimaliseren, moet een bepaalde toepassing worden afgestemd op een bepaald besturingssysteem en omgekeerd, zodat beide samenwerken om geheugen voor de toepassing op de meest efficiënte manier toe te wijzen en te reserveren.