Was ist Paging und wie funktioniert es?
Paging wird ab i386 vom Prozessor unterstützt und ist nichts weiter als eine
Einteilung des Speichers in gleich große Seiten. Vorteil des virtuellen Speichers,
welcher durch Mapping oder Paging erst möglich ist, sind für Anwendungen
theoretisch unendlich großen Arbeitsspeicher. Grund dafür ist, dass der
Tertiärspeicher als Zwischenspeicher für schlafende oder temporär nicht notwendige
Seiten ausgenutzt wird. Es gibt ausgeklügelte Seitenerstetzungsalgorithmen, welche
das Austauschen von Seiten übernehmen. Ein weiteres Problem was beim Paging gelöst
werden muss, ist die eventuell entstehende Inkonsistenz. D ieses Problem wird wie
bekanntermaßen üblich durch Dirty-Bits in den Pages gelöst.
Verwirrend ist anfangs der Zusammenhang von Segmentierung und Paging. Letztendlich
laufen beide Technologien gleichzeitig auf einem modernen System und ergänzen sich
gegenseitig. Paging ist hinter den Segmentierungsvorgang geschalten, um Transparenz
zu gewährleisten. Die durch die Segmentierung berechnete bzw. übergebene lineare
Adresse entspricht ohne Paging der physikalischen. Falls Paging aktiv ist, muss
noch etwas mehr getan werden.
Die Umsetzung von Linearer in Physikalischer Adresse hängt vom verwendeten Paging ab. Normalerweise wird über die ersten Bits die Page-Table referenziert und über die folgenden der Pagetable-Eintrag, aus dem die Basisadresse geholt wird. Der Offset wird normalerweise beibehalten.