One embodiment of the present invention provides a system for freeing
memory within a computing device. During operation, the system receives a
command to free a given segment of memory within the computing device,
wherein the command specifies the location of the given segment and the
size of the given segment. In response to the command, the system adds the
given segment to a free segment table that contains entries for free
segments of memory within the computing device. During this process, if
the given segment is contiguous with an existing segment in the free
segment table, the given segment is concatenated with the existing segment
by adding the given segment to an entry for the existing segment in the
free segment table.
Één belichaming van de onderhavige uitvinding verstrekt een systeem for.freeing die geheugen bevrijdt binnen een gegevensverwerkingsapparaat. Tijdens verrichting, ontvangt het systeem een bevel vrij een bepaald segment van geheugen binnen het gegevensverwerkingsapparaat, waarin het bevel de plaats van het bepaalde segment en de grootte van het bepaalde segment specificeert. In antwoord op het bevel, voegt het systeem het bepaalde segment aan een vrije segmentlijst die toe ingangen voor vrije segmenten van geheugen binnen het gegevensverwerkingsapparaat bevat. Tijdens dit proces, als het bepaalde segment met een bestaand segment in de vrije segmentlijst aangrenzend is, wordt het bepaalde segment aaneengeschakeld met het bestaande segment door het bepaalde segment aan een ingang voor het bestaande segment in de vrije segmentlijst toe te voegen.