x86-Programmierung und -Betriebsarten (Teil 5)

Schutzfunktionen

Ähnlich wie Segmente können auch Pages vor einem Zugriff durch Programme geschützt werden. Im Gegensatz zu den Segmenten, für die vier Privilegierungsebenen von 0 bis 3 zur Verfügung stehen, kennt der Schutzmechanismus für Paging derer nur zwei: User und Supervisor. Programme mit den Privilegierungsstufen CPL=0 bis CPL=2, das heißt Betriebssystem, Einheitentreiber und Betriebssystemerweiterungen, besitzen die Stufe Supervisor. Anwendungsprogramme dagegen die Stufe User. Die Privilegierungsstufe von Pages wird durch das U/S-Bit (User/ Supervisor) angegeben. U/S=0 gilt damit für Betriebssystem, System-Software et cetera (CPL=0, 1, 2), U/S=1 für Applikationscode und -daten (CPL=3).

Durch das R/W-Bit (Read/Write) werden Pages als nur-lesbar (R/W=0) oder als les- und überschreibbar (R/W=1) gekennzeichnet. Eine Verletzung, zum Beispiel ein Schreibzugriff auf eine nur-lesbare Page (R/W=0), führt zu einer Exception "Page-Fehler". Der Segmentierungsmechanismus schützt im Protected Mode die Daten dagegen auf einer Segmentbasis. Eine Verletzung der Paging-Schutzmechanismen, zum Beispiel durch einen Schreibzugriff auf eine nur-lesbare Page (R/ W=0) oder einen User-Zugriff auf eine Supervisor-Page, führt ebenfalls zur Exception "Page-Fehler" und damit zu einem Interrupt 0eh. Die drei Bits AVAIL stehen dem Betriebssystem für die Verwaltung der Pages zur Verfügung, alle anderen Bits sind reserviert.

Segmentierung und Paging bewirken damit eine zweifache Adressenumsetzung. Bei der Segmentierung wird anhand der Deskriptortabellen und Segmentdeskriptoren die Basisadresse des Segments bestimmt und durch Addition des Offsets eine lineare Adresse in einem großen virtuellen Adressraum gebildet. Paging setzt diese lineare Adresse in eine physikalische Adresse des sehr viel kleineren physikalischen Adressraums oder eine Exception "Page-Fehler" um. Dieser Vorgang ist im Bild "Doppelt" dargestellt. Durch die Segmentdeskriptor-Cache-Register und den Translation-Lookaside-Puffer erfolgt diese Umsetzung in den meisten Fällen ohne Zeitverzögerung.