Hm, ich komm derzeit nicht an mein Minix2-Buch ran, da ich wegen Praktikum wieder zuhause wohne... da standen ein paar Ideen drin.
Ein Beispiel: Du brauchst über jede irgendwo gemappte Page systemweit eine Statistik, die dir angibt, wie oft in einem bestimmten Zeitraum (z.B. zwischen 2 Scheduleraufrufen) eine Page benutzt wurde. Das kann ein Bit oder ein Zähler pro Page sein. Wichtig ist, dass diese Statistik extern gehalten und regelmäßig genullt wird. Brauchst du Speicher, sortierst du diese Liste aufsteigend und lagerst die vorne stehenden Pages der Reihe nach aus, bis genug Speicher frei ist.
Der Zählerstand ist somit der Nutzungsgrad. Allerdings kannst du für jeden Algorithmus auch Fälle konstruieren, bei denen er versagt. In meinem Fall genau dann, wenn dein Prozess alle 500ms seine Daten braucht, der wird dann bei RAM-Knappheit ständig ausgelagert und wieder eingelesen.