Ich möchte jetzt hier im Anhang zwei Konzepte zur Mehradressräume noch ein bisschen erwähnen,
die vorne nicht betrachtet worden sind, die eher so sagen wir mal historische Bedeutung haben,
aber ich möchte sie denn noch hier erwähnen, weil die Begrifflichkeiten dazu ja im Vorfeld
behandelt worden sind und die erste Variante ist so eine Art programmierte Mitbenutzung von
gewissen Adressraumbereichen und zwar für Adressräume, die total aufgebaut sind. Da
haben wir denn so eine Situation hier, das entspricht sozusagen der alten klassischen
Intel-Welt, wo wir vier verschiedene Segmente halt haben, die dann über Segmentselektoren
ausgewählt werden können, also automatisch sozusagen eine Segmentselektion durchgeführt
wird in Abhängigkeit von der Befehlsausführung, die man gerade halt hat. Das gilt dann fürs
Betriebssystem wie auch für die Maschinenprogramm-Ebene dann letztendlich. Und hier sehen wir,
dass dann praktisch jedem Programm ein Textsegment zugeordnet ist und dann ein gemeinsames Daten- und
Stapelsegment. Das gilt sowohl fürs Maschinenprogramm wie auch für Betriebssystem und dann haben wir
halt ein extra Segment, um dann letztendlich von Betriebssystem seit, denn hin und wieder bei
Bedarf auf entsprechende Segmente der Maschinenprogramm-Ebene dann halt hin verweisen
zu können. Hier hätten wir ein Modell, wo denn jedes Programm komplett strikt eigentlich
isoliert ist. So ähnlich wie die Exklusionsvariante, die man halt hat, so kann man sich das halt
hier entsprechend auch vorstellen. Das antiquitiert, also wenn man jetzt den 8086 halt nimmt, der
genau denn dieses Modell hier eigentlich eingeführt hat, den gibt es ja so in der Form denn eigentlich
nicht mehr. Und die Zugriffe jetzt auf die verschiedenen, sagen wir mal, Adressräume von
Programmen seitens anderer Programme auch des Betriebssystems her wird dann über gewisse
Fenster passieren, die dann immer über das extra Segment halt möglich gewesen ist und da konnte
man natürlich dann halt eben noch eine Interprozesskommunikation dazu haben, wenn man
nicht unbedingt direkt über so ein extra Segment denn auf komplette sozusagen Daten und Stack vielleicht
sogar Textbereiche des jeweiligen anderen Prozesses zuzugreifen. Ja, es ist also segt oder zählt das,
wenn man so will, ist also nicht so eine einfache Selektion auf der Seitenbasis oder kleinere
Segmente möglich, wie wir das bei den anderen Modellen denn durchaus hätten. Dieses extra
Segment wurde von den Betriebssystemen für so eine Form eher verwendet, um dann halt einen
Datenaustausch zwischen Betriebsthemen und Maschinenprogramm eben durchführen zu können.
Betriebssysteme wie QNX ist heute noch durchaus ein weitverbreites Betriebssystem, nicht mehr
auf Basis dieser HW, auf andere HW oder AX, ist ein anderes Betriebssystem aus dem Forschungsbereich,
was nach so einem Modell praktisch ausgelegt gewesen ist und ganz vernünftig auch im
Mehrbenutzernbetrieb funktioniert. Dann haben wir eine andere Variante, sowas wie ja so ein
Stück weit programmierte Fernzugriffe über Spezialbefehle letztlich die die CPU denn zur
Verfügung stellt. Auch hier haben wir eine Variante, wo dann praktisch alle Adressräume
strikt voneinander isoliert sind. Also wir haben den Hochsicherheitstrakt, der sozusagen
denn eingeführt worden ist und für das Betriebssystem halt hier das besondere Problem
denn besteht, denn letztendlich Informationen eben von dem jeweiligen Maschinenprogramm,
wenn ein Systemaufruf abgesetzt worden ist, dann praktisch in Empfang zu nehmen oder Informationen
dahin zu übertragen, zusammen mit diesen Einausgabeoperationen und dafür hat das
Betriebssystem eben Spezialbefehle der CPU genutzt, die denn praktisch Adressen des jeweiligen,
also eine logische virtuell Adresse des jeweiligen Benutzerprogramms, des Maschinenprogramms
verwendet hatten und dann letztendlich, wenn wir im Betriebssystem Modus halt gewesen sind,
immer auf den vorher aktiven Modus eines Systemaufrufs, denn die Adresse hat wirken lassen
und dann den Wert von dieser Adresse aus dem vorherigen Modus liest und auf dem Kernelstack
dann ablegt oder umgekehrt vom Kernelstack nimmt und auf in den entsprechenden Maschinenprogramm
und Adressraum dann jeweils ablegt. Das sind denn Sachen gewesen, die im Zusammenhang mit
der Interaktion bei Systemaufrufen denn nur durchgeführt worden sind auf Basis dieser
Spezialbefehle. Mit der PDP 1140 wurde sowas speziell gemacht, ein kopierbasierter Ansatz,
letztendlich die Spezialbefehle, die wir dafür verwendet hatten, waren so Move from Previous
Instruction Space oder Move to Previous Instruction Space. Man befindet sich also hier gegenwärtig
Presenters
Zugänglich über
Offener Zugang
Dauer
00:07:14 Min
Aufnahmedatum
2020-12-21
Hochgeladen am
2020-12-21 23:48:30
Sprache
de-DE