55 - 6.1.3 Prozesse: Virtualität und Betriebsmittel [ID:16689]
50 von 216 angezeigt

Wichtige Grundlagen von Prozessen oder Prozesskonzepten wollen wir jetzt als nächstes mal kurz darlegen.

Und hier wollen wir insbesondere auf Virtualität und Betriebsmittel als einen so einen Block, so ein Komplex eingehen.

Und dann anschließend auch nochmal das Zusammenspiel zu den Programmen und hier insbesondere zu den nicht sequenziellen Programmen hinterfragen.

Virtualität bedeutet hier insbesondere die partielle Virtualisierung, die wir betrachten.

Partielle Virtualisierung bedeutet letztendlich, dass wir nicht das komplette Rechensystem virtualisieren, sondern nur bestimmte Teilkomponenten innerhalb eines solchen Rechensystems.

Diese Teilkomponenten wären zum Beispiel Speicher, der Hauptspeicher, oder es wären ein Ausgabegerät oder es könnte der Prozessor sein.

Und hier bei der partiellen Virtualisierung, gerade im Zusammenhang mit den Prozessen, geht es um die Prozessor-Virtualisierung.

Der Prozess bezeichnet nun eben den Ablauf eines Programms, wie wir gerade gehört haben, aber eben auch eine Abstraktion von einem solchen Programmablauf.

Prozess als abstrakter Begriff. Und diese Abstraktion von dem Programmablauf, die stellt sich sozusagen physisch im Laufzeitkontext eines Prozesses letztendlich dar.

Dieser Laufzeitkontext, vor allem der Prozessor-Status, den wir in der Vergangenheit schon mal betrachtet haben,

der manifestiert sich im Programmiermodell des jeweiligen Prozessors, auf dem ein Prozess letztendlich stattfindet.

Und diese Abstraktion ermöglicht es dann letztendlich nachher auf einem Prozessor, auf einem und demselben Prozessor simultan mehrere Programmabläufe stattfinden zu lassen.

Man lässt denn diese mehreren Programmabläufe im Rahmen eines sogenannten Multiplex-Verfahrens auf dem Prozessor stattfinden.

Da gehen wir dann später nochmal kurz darauf ein.

Diese Abläufe, die wir dabei betrachten, die können jetzt einem einzelnen Programm, einem einzelnen Maschinenprogramm oder möglicherweise mehreren Maschinenprogrammen,

die zugleich im Hauptspeicher liegen, zugeordnet sein.

Wir sprechen dann einmal von der Mehrfähigkeit oder ein anderes Mal von dem Mehrprogrammbetrieb in solch einem Rechensystem.

Es ist schon so, dass die Laufzeitkontexte in dem Fall durchaus unterschiedlich ausgelegt sind.

Aber die Gemeinsamkeit existiert, dass jetzt unabhängig von der Komplexität oder Größe eines solchen Laufzeitkontext

letztendlich ein Wechsel von dem einen Ablauf zu dem anderen Ablauf einfach dadurch zustande kommt,

in dem zwischen solchen Laufzeitkontexten hin und her geschaltet wird.

Das ist der entscheidende Punkt.

Wenn ein Prozess jetzt stattfinden soll, dann wird das Betriebssystem dafür einen Programmablauf einlasten.

Man lastet einen Prozess ein oder genauer gesagt sagt man, dass man den Prozessor mit einem bestimmten Prozess einlastet.

Das ist der Dispatching Vorgang. Das heißt, konkreten Laufzeitkontext umschalten.

Von dem einen Laufzeitkontext eines Prozesses wegschalten hin zu dem Laufzeitkontext eines anderen Prozesses

und damit einen anderen Programmablauf, einen anderen Prozess aktivieren.

Das muss geplant werden. Man wird normalerweise sagen, in welcher Reihenfolge denn praktisch die Prozesse stattfinden sollen.

Und damit wird man dann eben doch sagen, in welcher Reihenfolge gewisse Laufzeitkontexte zu aktivieren sind.

Und diese Planung ist das, was man als Scheduling bezeichnet.

Diese Techniken, die wir jetzt hier kurz angerissen haben, dieses Multiplex-Verfahren basiert typischerweise auf sogenannte Zeitteilverfahren.

Der Begriff Time-Sharing ist hier besonders hervorzuheben.

Da gibt es noch ganz ganz verschiedene Ausführungen von diesen sogenannten Zeitteilverfahren, die sich im Wesentlichen darin unterscheiden,

indem man den Prozessen unterschiedliche Zeitspannen zum Beispiel zuordnet.

Manchmal immer feste Zeitspannen oder durchaus variable Zeitspannen, während ein Prozess praktisch den Prozessor besitzen darf

und während ein Prozess letztendlich Rechenzeit zugeordnet bekommt.

Man kann diese Zeitspannen eben auch als einen Zeitschlitz verstehen, in dem ein bestimmter Prozess ablaufen darf,

indem er dann praktisch seine Aktionen durchführen kann.

Diese Zeitschlitze sind durchaus recht groß, sind im größeren Millisekundenbereich Zeitschlitze oder Zeitspannen von um die 100 Nanosekunden,

etwa pro Prozess, sind heute gägig bei Systemen, bei Prozessoren, die zum Beispiel in Nanosekundentaktbereichen arbeiten.

Der interessante Punkt dabei ist, dass eigentlich die Prozesse, die Maschinenprogramme, die de facto umgeschaltet werden,

letztendlich immer nur Teilzeiten im Endeffekt zur Ausführung angeboten bekommen, dass sie letztendlich, zumindest funktional,

nicht merken, dass sie sich sozusagen denselben einen Prozessor in so einem Zeitteilverfahren teilen müssen.

Sie denken eigentlich, dass sie diesen einen Prozessor für sich alleine besitzen.

In der Realität sieht es dann genau so aus, dass durch diese partielle Virtualisierung eben im Betriebssystem so eine Umschaltlösung existieren,

die dann praktisch auf Prozesswechsel nachher zurückgeführt werden.

Diese Zeitteilverfahren führen dann zu dem sogenannten Multiprocessing oder das, was man eben als im Deutschen als Simultanverarbeitung letztendlich bezeichnet.

Hier sind die Prozesse eben Mittel zum Zweck, um letztlich auch gleichzeitig Programmappläufe stattfinden zu lassen und damit Parallelität in einem Rechensystem bereitet zu stellen.

Da gibt es jetzt unterschiedliche Begrifflichkeiten, die sich durchaus unterscheiden, wenn wir jetzt von einer Parallelität von mehreren Programmen oder genauer mehreren Maschinenprogrammen sprechen,

denn es ist das, was man als Multiprogramming bezeichnet, geht es um die Parallelität, die sich dadurch ausdrückt, dass mehrere Aufgaben bearbeitend entspricht vom Multitasking.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:25:10 Min

Aufnahmedatum

2020-05-27

Hochgeladen am

2020-05-27 14:56:29

Sprache

de-DE

Tags

module programmstruktur Variablen Datentypen Preprozessor Gültigkeit
Einbetten
Wordpress FAU Plugin
iFrame
Teilen