Information Technology Reference
In-Depth Information
tigt ein Prozess Register, so müssen diese z.B. mit einem Unterprogrammaufruf
reserviert werden. Hierzu wird der erste Eintrag aus der Freispeicherliste entfernt,
dabei der Zeiger Free entsprechend verändert und die auf diese Weise alloziierte
Registerbank in das Window-Select-Register hineingeschoben. Da im dargestellten
Window-Select-Register vier Zeiger gespeichert werden können, ist es möglich, auf
16 Register wahlfrei zuzugreifen, wobei zwei Bits der vier Bit breiten Registera-
dresse benötigt werden, um die Registerbank über das Window-Select-Register zu
adressieren und zwei Bits, um das Register innerhalb der Bank auszuwählen.
Durch das Hineinschieben der Adressen neu alloziierter Registerbänke in das Win-
dow-Select-Register wird erreicht, dass sich der Registerspeicher aus Sicht eines
Programmierers ähnlich wie ein in Fenstern organisierter Registerspeicher verhält.
Um in der Schachtelungstiefe nicht durch die im Window-Select-Register speicher-
bare maximale Zeigerzahl begrenzt zu sein, werden die alloziierten Register zusätz-
lich verkettet. Dies ist notwendig, um bei Freigabe einer Registerbank die älteste im
Window-Select-Register zu speichernde Bankadresse wieder herstellen zu können.
In Bild 1.23d ist der Übersichtlichkeit halber nicht dargestellt, was geschieht, wenn
bei leerer Freispeicherliste versucht wird, eine Registerbank zu alloziieren. Sehr ein-
fach zu implementieren ist es, wenn die jeweils älteste belegte Registerbank auto-
matisch oder in einem Ausnahmeprogramm in den Datenspeicher übertragen wird.
Hierzu ist es jedoch erforderlich, diese durch ein Spezialregister zu adressieren und
sämtliche Registerbänke zusätzlich entsprechend der Reihenfolge ihrer Allokation
zu verketten. Eine ausgelagerte Registerbank wird dabei wieder geladen, wenn sie
mit Freigabe einer Registerbank über das Window-Select-Register zugreifbar wird.
Die Organisation des Registerspeichers in der hier dargestellten Weise hat einige
Vorteile: So kann ein Kontextwechsel sehr schnell dadurch bearbeitet werden, dass
einfach der Inhalt des Window-Select-Registers gesichert und entsprechend des neu
zu aktivierenden Prozessors geladen wird. Möglich ist dies, weil Registerbänke mit
der Allokation in den Besitz des jeweiligen Prozesses übergehen und sie nur über
das Window-Select-Register zugreifbar sind. Die feste Zuordnung einer alloziierten
Registerbank an einen Prozess lässt sich außerdem für die Interprozesskommunika-
tion nutzen, nämlich, indem eine Registerbank über ihre Adresse an einen anderen
Prozess übergeben wird.
1.4.3 Betriebsmodi (Privilegebenen)
Die Systemsicherheit liegt normalerweise in der Verantwortung von Betriebssyste-
men . Einerseits ist zu vermeiden, dass eine Anwendung aufgrund eines Fehlers das
Gesamtsystem in seiner Stabilität beeinflusst (so sollte ein für eine Lampe zuständi-
ger Prozess nicht den Absturz eines Steuerrechners in einem Flugzeug verursachen),
andererseits soll es in einem Mehrbenutzersystem einem Anwender nicht möglich
sein, auf die Daten eines anderen zuzugreifen. Aus Sicht eines Prozessors lassen
sich beide Anforderungen erfüllen, indem erzwungen wird, dass eine bestimmte
Anwendung nur auf die ihr möglichst restriktiv vom Betriebssystem zugeteilten
Ressourcen zugreifen kann. Ansatzweise ist dies mit Hilfe einer Speicherverwal-
Search WWH ::




Custom Search