Betriebssystem-Eigenschaften von RMOS3
8.5 Betriebsmittelverwaltung
Adressierung im Protected Mode
Im Protected Mode erfolgt die Adressierung nicht direkt über die Basisadressen des
gewünschten Daten-Segments, sondern über Segmentselektoren.
Dieser Segmentselektor wird in ein 16-Bit Segmentregister, z.B. DS, geladen und dient zur
Adressierung eines Descriptors, z.B. Descriptor #3. Das heißt, dieser Segmentselektor wählt
einen Descriptor aus seiner Descriptor-Tabelle (GDT, LDT) aus.
Dieser Descriptor beschreibt die Eigenschaften des gewünschten Datensegments, also
Basis-Adresse, Limit und Zugriffsrechte und wird in das zugehörige Segment Register
Cache (z.B. DS-Cache) übertragen.
Dabei überprüft der Prozessor die Zugriffsrechte und löst bei einem Verstoß einen
sogenannten Exception-Interrupt aus.
Über das Segment Register Cache, das die 32Bit-Basisadresse des Datensegments enthält,
kann jetzt die Basis des Datensegments adressiert werden.
Pointer auf Datensegmente im Protected Mode sind far-Pointer (48Bit), die sich aus einem
16 Bit Selector und einem 32 Bit Offset zusammensetzen.
Das Segment Register Cache liefert außerdem Informationen über alle
Segmenteigenschaften, die der Prozessor für die Ausübung seiner Schutzfunktion braucht:
● Das Segment-Limit gibt den größten zulässigen Offset an (maximal 4 GByte).
● Die Zugriffsrechte (Accessrights AR) geben an, unter welchen Umständen ein Segment
Der physikalische Adressbereich und die maximale Segmentgröße sind 4 GByte.
Bild 8-19
124
benutzt werden darf z.B. ein Segment wird als "nicht beschreibbar" gekennzeichnet).
Laden eines Deskriptors
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01