Nun, Dialogbetrieb ist mehr Programmbetrieb, interaktiver mehr Programmbetrieb, um es genauer
zu sagen und der Grad praktisch, also wie viele Programme man dazu gleich im Rechensystem laufen
lassen kann, hängt natürlich auch sehr stark von der Hauptspeichergröße ab und von der Größe der
Programme selbst. Nun haben wir ja schon sowas wie Overlay-Techniken kurz kennengelernt. Das war die
selektive Überlagerung des Hauptspeichers eigentlich durch Techniken des programmierten,
dynamischen Lans. Das hat aber seine Grenze. Wir haben hier diese Overlays etwa und die Anzahl
dieser Overlays und die Größe dieser Overlays als Hauptspeichergröße in den Text- und Datenbereiche
beschränkt natürlich letztendlich die Menge der Programme, die wir dann zu einem Zeitpunkt denn in
Ausführung halten können. Und das war zudem ein variabler Wert, weil er nämlich sehr stark eben
auch von der Struktur und der Organisation der Programme selbst abhinkt und letztendlich auch
von den Fähigkeiten der Programmierer entsprechend strukturierte Programme zu entwickeln,
die dann ein sehr effizientes programmiertes dynamisches Laden mit der Overlay-Technik
ermöglichen. Nun eine Umlagerung von Speicherbereichen von Programmen, die sich gerade nicht
in Ausführung befinden. Das sogenannte Swapping, das erlaubt dann praktisch diese Grenze ein
bisschen weiter nach hinten zu schieben, damit eben auch Platz, den Schweicherplatz schaffen zu
können für Programme, die jetzt ausführbar wären. Etwa die nicht ausführbar reiten Programme sind
Programme, in denen sich Prozesse befinden, die eigentlich alle blockiert sind. Und dann ist es
auch nicht notwendig, dass dann diese Programme, die zu diesen Prozessen sozusagen gehören,
einfach Hauptspeicherplatz letztendlich wegnehmen. Und konnte man also damit Platz schaffen, um dann
eben andere Programme, die dann eben ausführbar waren und damit auch andere Prozesse dann letztendlich
zu starten. Und wenn man sich jetzt so ein Modell vorstellt, wo man dann praktisch immer hin und
wieder den umlagert, praktisch zwischen Hauptspeicher und dem Hintergrundspeicher und zwar komplette
Speicherbereiche, komplette Programme, dann konnte man zumindest logisch virtuell eine höhere Anzahl
von Programmen in Ausführung, wenn man so will, halten. Diese Grenze lässt sich so ja noch weiter
verschieben, wenn man jetzt nicht nur die Programme betrachtet, die sich gerade nicht in Ausführung
befinden, sondern tatsächlich auch laufende Programme betrachtet. Und da sind wir dann beim
Paging oder beim Segmentation, nämlich beim virtuellen Speicher. Da würde man dann eben
Techniken anbieten und tut es halt eben auch in den Systemen von heute, die den praktischen
Beibedarf genau denn jene Programmbestandteile, Text- oder Datenbereiche in den Hauptspeicher
einlagern. Und zwar wenn der Prozess sozusagen den Zugriff auf diese entsprechende Bereiche
ausführt. Dann sieht es eigentlich so aus, als wenn die Programme schon virtuell scheinbar
komplett im Hauptspeicher liegen, aber in der Realität sind es dann immer nur Bruchteile,
bestimmte Bestandteile davon. Das sind denn die Teile, die eigentlich jetzt gerade von
dem Prozess letztendlich benutzt werden. Allgemein sagt man, dass jetzt eben Prozesse
Arbeitsspeicher belegen und nicht nur einfach nur Hauptspeicher, weil nämlich dieser Arbeitsspeicher
jetzt ein Verbund von gewissen Hauptspeicher, normalerweise der komplette Hauptspeicher,
und gewisse Bereiche im Ablagespeicher, den Swapping-Bereich dort im Ablagespeicher,
also auf einer Festplatte etwa, ausmacht. Und das dann das Betriebssystem Funktionen
eben anbietet, um dann praktisch bestimmte Text- und Datenbestände in Abhängigkeit von den
jeweiligen Prozessaktivitäten zwischen diesen Haupt- und Ablagespeicherbereichen dann immer hin
und her zu bewegen und das dann eigentlich zumindest funktional transparent für die Prozesse
geschieht. Nun hier mal das Beispiel zunächst, wie die Umlagerung nicht auswiebereiter Programme
zu sehen ist. Das Swapping, das ist eine Funktion, wie man sagt, der mittelfristigen Einplanung,
medium-term scheduling. Es ist de facto eine scheduling Strategie von Prozessen, die aber
eigentlich viel stärker sich auf die Speichererwaltung bezieht. Hier haben wir ein Szenario,
wo wir im Vordergrundspeicher, also im Hauptspeicher, drei Prozesse zu liegen haben. Zwei davon,
P1, P3, sind bereit. Die stehen also auf der Ready-Liste, die Prozesskontrollblöcke, und dann
haben wir P2 laufen. Das heißt, der besitzt jetzt die CPU und führt irgendeinem CPU-Stoß,
den sozusagen aus. Im Hintergrundspeicher haben wir Prozesse P4, auch der ist bereit,
und P5 ist blockiert. P4, der bereitere Prozess, war wahrscheinlich früher, das ist die Annahme,
Presenters
Zugänglich über
Offener Zugang
Dauer
00:27:54 Min
Aufnahmedatum
2020-07-14
Hochgeladen am
2020-07-14 14:56:27
Sprache
de-DE