Adressraum ist die Abbildung der Virtuellen Seiten auf die Physikalische Seite oder Nichtzugreifbarkeit, dabei gibt es Zugriffsattribute (Read-Only,readwrite). Die Abbildung wird durch TLB und die Seitentabellen in der MMU realisiert.
verbirgt das HW-Konzept, sonst kann kein Schutz garantiert werden.
Dieses muß gezämt werden, aber muss die beliebige Implementierung von Schutz (und nicht-Schutz) durch Tasks auf dem Userlevel erlauben. [Liedtke1995]
Mapping and Granting sind Operationen auf der Seitentabelle, es werden keine Daten kopiert.
User level Pager nutzen diese Operationen. Seitenfehler werden vom Kern mit IPC zu dem jeweiligen Pager weitergereicht.
Threads können sich dyamisch mit individuellen Pagern verbinden.
(Deswegen wird ein modul sigma0 auch beim booten geladen (und dem resourcemanager bekannt gemacht).
Weitere Adressräume können durch granting, mapping, und unmapping von sog. Flexpages konstruiert werden.
Damit kann man verschiedene Speicherverwaltungen am dem mu-Kern implementieren.I/O-Ports werden auch Teile des Adressraums gesehen und können genauso gemappt und ungemappt werden.
[ElphinstoneHeiser2013]: in neueren Kernen seit API Version N1 ABI, wurde die Rekursvität abgeschafft, nachdem man festgestellt hat, dass 20-50% des Kernspeichers durch die Abbildungstabelle eingenommen wird.
In L4-embedded git es die Abbildungen immer von Frames (näher an der Hardware
→ Leider ging die Möglichkeit der Delegation verloren.
seL4 hat dann wieder ein Speichemodell, das das wieder zulässt.