Ich habe mir einige meiner alten Bücher zur OS-Theorie angesehen und festgestellt, dass eine eklatante Lücke in all diesen OS-Büchern darin besteht, wie man tatsächlich freie physische Seiten verfolgt (dh Algorithmen zur tatsächlichen Implementierung der freien Liste). Ich weiß ziemlich gut, wie Userland-Speicherzuordnungen funktionieren, aber ein großer Unterschied bei der physischen Seitenzuweisung besteht darin, dass die Fragmentierung physischer Seiten kein Problem darstellen sollte, da die Seitentabelle nur die physischen Seiten auswählen kann, ohne sich darum kümmern zu müssen, ob sie vorhanden sind sind zusammenhängend oder nicht. Da die Vermeidung von Fragmentierung eines der Hauptanliegen von Userland-Zuweisern ist, scheint die physische Seitenzuweisung ein grundlegend anderes Problem zu sein. Ich denke, dass dies nicht ganz richtig ist, wenn man Superseiten unterstützen möchte, um den Druck auf den TLB zu verringern.
Meine Frage: Welche Techniken werden in modernen Hochleistungskernen für dieses Problem verwendet? Wird dieses Problem auch in NUMA-Systemen erheblich komplizierter?