106 - 8.4 Zwischenbilanz: Betriebssystemkonzepte [ID:19934]
50 von 248 angezeigt

Nun bei den Betriebssystem Konzepten, die wir behandelt haben, da haben wir uns zunächst

den Prozess zugewandt. Das ist durchaus vielleicht das wichtigste Konzept, was von Betriebssystemen

zur Verfügung gestellt wird, auch die Abstraktion, die praktisch damit verbunden ist. Prozess im

Sinne von Programmablauf oder Programm in Ausführung. Ja, also ein dynamisches Konzept

letztendlich. Betriebssysteme bringen Programme eben zur Ausführung, indem sie Prozesse dazu

erzeugen. Hat man die erzeugt, dann werden sie bereitgestellt und man begleitet praktisch

dann diese Prozesse in ihrem Ablauf, denn eben auch in geeigneter Art und Weise durch die

Maßnahmen, die dann eben ein Betriebssystem anbietet. Nun, wenn man uns den Informatikkontext

halt anschauen, dann ist so ein Prozess ohne Programm überhaupt gar nicht möglich, denn

das Programm kodiert die Berechnungsvorschrift für diesen Prozess. Das Programm legt damit

den Prozess fest, bestimmt ihn letztendlich, gibt ihn vor. So kann man es halt aussagen.

Wenn der Prozess scheitert, dann liegt es da daran, dass das Programm fehlerhaft war,

nicht dass der Prozess in sich sozusagen fehlerhaft ist. Es kann eben auch bedeuten,

dass so ein Programm so ausgelegt ist, dass es andere Prozesse erzeugen kann. Shell etwa

ist ein typisches Programm, um Dialogverarbeitung letztendlich für einen Benutzer durchführen

zu können. Damit ist man in der Lage, Programme zu schreiben, die andere Prozesse bewirken,

also sie erzeugen, steuern und dann nachher terminieren. Dazu muss das Betriebssystem

allerdings natürlich die entsprechenden Befehle anbieten. Es gibt durchaus sehr spezielle

Betriebssysteme, wo man solche Befehle einfach gar nicht hat, sondern wo man dann so eine

Maschine bootet, so ein Betriebssystem halt hochfährt und dann laufen schon implizit

statisch vorkonfigurierte Prozesse ganz einfach ab. Deshalb hat man für solche speziellen

Fälle eben auch keine Systemaufrufe, die für die Erzeugung oder Terminierung von Prozessen

zur Verfügung gestellt werden müssen. Aber das sind nun wirklich Sonderfehler. Normalerweise

die Betriebssysteme, mit denen wir typischerweise umgehen, wenn man an Posix-artige Schnittstellen

denkt, denn da bieten die alles eine Schnittstellen an, um Prozesse zu erzeugen, zu überwachen

und zu zerstören, denn nachher. Dieses Programm beschreibt letztendlich auch die Art des Ablaufes

eines solchen Prozesses, nämlich ob der Prozess sequenziell oder parallel abläuft. Sequenziell

ist so die typische Sichtweise, so wie man eigentlich auch programmieren im ersten Semester

das Bild kennengelernt hat, nämlich als eine Folge von zeitlich nicht überlappenden Aktionen,

also Programme schreiben, die genau solch eine Folge denn definieren und damit würde man

sagen, ein solches sequenzielles Programm beschreibt dann Aktionen, die wirklich deterministisch

ablaufen. Das Ergebnis ist letztendlich determiniert. Prozesse, die sich so nicht verhalten, die

also praktisch durch nicht sequenzielle Programme oder durch ein nicht sequenzielles Programm

beschrieben sind, bezeichnet man eben als parallel Prozesse. Damit ist es also innerhalb

eines Prozesses möglich, dass mehrere Aktionen zugleich, real zugleich, weil die Hardware

eine entsprechende Vervielfachung von Prozessoren anbietet oder pseudo gleichzeitig, weil das

Betriebssystem eine CPU, einen Prozessor multiplex, weil es nämlich mehrere Prozesse

anbietet, frets sozusagen anbietet, dass so ein Prozess dann halt eben pseudo gleichzeitig

stattfinden kann, pseudo parallel stattfinden kann. Nun, in beiden Aktionen ist ein Programmablauf

letztendlich eine Folge von solchen Aktionen und wir haben diese Aktionen im Detail besprochen,

insbesondere aus einer problematischen, die ja möglicherweise nicht atomar sind, so eine

Situation, den herbeiführen können, wo denn praktisch so ein Programmablauf auf der einen

Abstraktionsebene sequenziell ist, das ist dann meistens die höhere Abstraktionsebene,

die wir jetzt hier gerade betrachten würden und auf einer tieferen, auf einer anderen

Abstraktionsebene aber sehr wohl parallel sein kann. Und das kann schon an den Aktionen

selbst gebunden sein, dass manche Aktionen, das sind ja durchaus Maschinenbefehle, eben

implizit nicht atomar sind, erst recht, wenn wir Folgen von Aktionen beschreiben in unserem

Maschinenprogramm und man denn zulässt, dass praktisch zwischen jeder einzelnen Aktion

in diesem Maschinenprogramm letztendlich eben auch ein Prozessormultiplexvorgang denn stattfinden

kann. Also ein Fretwechsel letztendlich initiiert wird aufgrund einer gewissen Betriebssystemaktivität

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:25:45 Min

Aufnahmedatum

2020-07-20

Hochgeladen am

2020-07-21 00:46:20

Sprache

de-DE

Tags

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