Information Technology Reference
In-Depth Information
nommenen Variante wird dazu eine 32-Bit-Variable benötigt, in der anderen Variante zwei 32-Bit-
Variablen. Dies ist der Grund, weshalb die bei Compaq als Privileged Architecture Library bezeich-
nete Prozessorabstraktionsschicht auch Funktionen für einen Kontextwechsel enthalten.
Eine Prozessorabstraktionsschicht ist im Prinzip nichts anderes als ein Minimalbe-
triebssystem, auf dem das eigentliche Betriebssystem aufsetzt. Die im Betriebssys-
tembau verwendeten Prinzipien lassen sich deshalb gut auch für den Entwurf einer
Prozessorabstraktionsschicht nutzen [181, 182, 164]. Dabei ist jedoch zu berück-
sichtigen, dass nicht von Peripheriekomponenten, sondern vom Prozessor allenfalls
mit seinen nah gekoppelten Komponenten Cache, Speicherverwaltungseinheit und
ggf. dem Hauptspeicher abstrahiert wird. Insbesondere ist ein Treiberkonzept i.Allg.
nicht vorgesehen (obwohl denkbar).
Zum Abschluss seien noch einige allgemeine Hinweise gestattet: Größtenteils kap-
seln PAL-Funktionen Aktionen, die sehr elementar sind. Es ist deshalb für die Leis-
tungsfähigkeit eines späteren Gesamtsystems von essentieller Bedeutung, dass sich
die PAL-Aufrufe bzw. -Rücksprünge sowie die dabei notwendigen Kontextwechsel
mit hoher Geschwindigkeit bearbeiten lassen. In vielen Prozessorarchitekturen ste-
hen deshalb separate, allein durch die Prozessorabstraktionsschicht zugreifbare
Arbeitsregister zur Verfügung.
Damit es bei ihrer Nutzung zu keinem Konflikt kommt, lassen sich PAL-Funktionen
i.Allg. nicht schachteln. Dies bedeutet jedoch auch, dass es bei Bearbeitung einer
PAL-Funktion zu keinem Prozesswechsel kommen darf, weshalb Ausnahme- und
Unterbrechungsanforderungen im sog. PAL-Modus normalerweise verhindert wer-
den, meist durch einfaches Setzen eines im Prozessor vorgesehenen Maskenbits. Als
Konsequenz ist in Kauf zu nehmen, dass Verfahren, bei denen Ausnahmeanforde-
rungen von Bedeutung sind, wie z.B. die Verwaltung virtuellen Speichers mit den
dabei auftretenden Seitenfehler sich in einer Prozessorabstraktionsschicht nicht ver-
wenden lassen.
Die Unabhängigkeit vom zur Speicherung der Prozessorabstraktionsschicht beleg-
ten Adressbereich wird trotzdem sichergestellt, indem man den Code verschiebbar
( relocatable ) programmiert. Dies ermöglicht es außerdem, die Prozessorabstrakti-
onsschicht, die normalerweise bereits nach dem Rücksetzen des Prozessors verfüg-
bar sein muss und daher z.B. in einem ROM gespeichert ist, ohne große Probleme in
den Hauptspeicher zu kopieren, was deshalb sinnvoll ist, weil Zugriffe auf den
Hauptspeicher normalerweise mit höherer Geschwindigkeit bearbeitet werden als
Zugriffe auf andere Speichermedien.
Eine Prozessorabstraktionsschicht erweitert das Programmiermodell eines Prozes-
sors. Sie wird i.Allg. durch den Prozessorhersteller definiert und z.B. als Binärmo-
dul angeboten. Das heißt jedoch nicht, dass die Prozessorabstraktionsschicht nicht
auch unabhängig vom Hersteller realisiert werden kann, um z.B. häufig benötigte
PAL-Funktionen effizienter zu realisieren, Fehler im Originalcode zu beheben oder
zusätzlichen Anforderungen zu genügen. So ist es bei Compaq z.B. möglich, ein-
zelne Funktionen der Prozessorabstraktionsschicht im Nachhinein auszuwechseln.
Problematisch hieran ist, dass unterschiedliche Versionen einer Prozessorabstrakti-
onsschicht möglicherweise zu Inkompatibilitäten führen können, nämlich dann,
 
Search WWH ::




Custom Search