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
Presenters
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