Die Frage die sich stellt, hast du ein Seitenverwalteten Speicher oder gestaltest du den Speicher in beliebig Großen Blöcken die ein vielfaches von deiner min Speichermenge ist.
Also ich denke mir das so, dass ich in den 20MB mir beliebig große Speicherblöcke hole so das innerhalb von den 20MB ne verkette Liste von den angeforderten Speicherblöcken entsteht.
@Blubber2063 Denke das beantwortet deine Frage, wenn nicht erklärs mir nochmal genauer bitte.
Ich würde das ganze dann in den Freispeicherbereich einpassen und immer die Knoten verschieben, je nach dem ob nun grade Speicher freigegeben oder belegt wurde. Allerdings brauchst du dann immer die Größe des von einem Knoten belegten Speicher, irgendwie sieht mir das mit der Nummer sehr nach einem Seitenverwalteten Speicher aus, dann kannst du halt auch ein Feld mit der Größe deine Seitenzahl aufmachen und dort festhalten wem welche seite gehört, bzw ob sie frei ist.