Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Adressumsetzung

&pagelevel(4)&pagelevel

Jeder virtuelle Adressraum bildet eine Domäne. Soweit diese nicht zum Systemadressraum gehört oder explizit als mehrfach benutzbar definiert wurde, sind die Seiten eines Adressraums nur innerhalb dieses Adressraums zugänglich, d.h. vor Übergriffen von anderen Adressräumen her geschützt. Dieser Schutz wird durch die Adressumsetzung erreicht, die sich bei der Transformation einer virtuellen in eine reale Adresse stets auf den eingeschalteten Adressraum bezieht. Bei der Taskinitiierung wird ein spezielles Hardwareregister (CR1) eingeschaltet, das die Basisadresse und die Länge der für diesen Adressraum gültigen Umsetzungstabelle enthält. (Bei der Deinitiierung einer Task wird ihr Adressraum wieder ausgeschaltet, Task- und Adressraumwechsel sind also aneinander gekoppelt.)

Eine virtuelle Adresse setzt sich aus Segmentnummer, Seitennummer (Index) und Bytenummer zusammen, die BS2000 in einer zweistufigen Adressumsetzung in eine reale Adresse umrechnet. Zuerst wird die über die entsprechende Segmenttabelle (Umsetzungstabelle) eine Seitentabelle ausgewählt. In dieser steht dann die (reale) Hauptspeicher-Seitennummer, die zu der virtuellen Seitennummer gehört. Die Adressumsetzung erfolgt nur für den Seitenanteil (Segment- und Seitennummer) einer Adresse, die Distanz innerhalb einer Seite bleibt virtuell und real gleich.

Die Größe der virtuellen und der realen Seite beträgt für alle BS2000-Server 4 KByte.

Dementsprechend wird eine virtuelle 31-Bit-Adresse eingeteilt in 11 Bit Segmentnummer, 8 Bit Seitennummer und 12 Bit Distanz (siehe Bild 5).

Bild 5: Adressumsetzung am Beispiel einer 31-Bit-Adresse