So, ein Beamer sollte ich auch noch einschalten.
Aber ich hatte ja letztes Mal bei dem einen Thema, ich weiß nicht ob Sie sich noch dunkler
erinnern, die Geschichte mit diesen sicheren und unsicheren Zuständen, auch in diesem
Beispiel mit dem Vermittlungsrechner, mit den 12 Kommunikationskanälen, wo ich dann
irgendwie, als ich das an der Parfüze zelebriert habe, irgendwann festgestellt habe, dass das
auf den Folien ja gar nicht stimmt. Irgendwie was da steht mit dem unsicheren Zustand. Also
eine Kollegin von Ihnen kam hinterher noch kurz runter und hat mir dann doch erklärt,
dass das auf den Folien durchaus gestimmt hat und dass ich ihnen dann Scheiß erzählt
habe. Ich denke, da sollten wir nochmal aufgreifen und das nochmal richtig stellen, wenigstens.
So, jetzt mal schauen. Also der Ausgangspunkt von dieser ganzen Geschichte war ja dieses
Thema Verklemmungsvermeidung in der letzten Stunde. Was kann man also letztendlich zur
Laufzeit tun, um zu erkennen, dass jetzt eine Betriebsmittelanforderung kommt, die dann
in der Folge zu einem Deadlock führen wird. Man hat ja häufig dann schon die Situation,
das geht noch ein Stückchen weiter, aber gerade wenn man eben die Situation hat, dass man
Betriebsmittel nachfordert, dann fordert man was an und fordert vielleicht nochmal was
an. Das geht alles noch gut. Und andere hat auch angefordert, nochmal angefordert, ist
auch gut gegangen. Und irgendwann will dann der eine von den beiden noch was haben, das
geht nicht, weil es der andere hat. Der andere gibt es aber nicht mehr her. Das war ja die
Situation, man fordert an, aber man gibt die Betriebsmittel nicht wieder frei, solange
man nicht die entsprechenden Tätigkeiten auch abgeschlossen hat. Und irgendwann sind
halt beide in der Situation, dass sie letztendlich etwas in der Hand haben, was der andere braucht.
Und sie laufen auf den Punkt zu, wo sie dann irgendwas nicht mehr bekommen, weil es der
andere schon hat. Und dann stehen sie beide, dann haben wir die Verklemmung. Und Thema
Verklemmungsvermeidung war, kann man etwas tun oder wie kann man letztendlich zur Laufzeit
erkennen, wenn ich dieses Betriebsmittel jetzt noch rausgebe, dann wird irgendwann,
früher oder später, die Verklemmung eintreten. Und dieser Punkt zu erkennen, jetzt darf ich
dieses Betriebsmittel nicht mehr hergeben, weil ansonsten passiert was. Das ist der Punkt,
wo man letztendlich von einem sicheren Zustand, wo also alles noch laufen könnte, in den
unsicheren Zustand wechselt. Und der unsichere Zustand ist im Prinzip schon letztendlich
der Startpunkt für das dann nicht mehr vermeidbare Unglück. So, das schauen wir uns jetzt aber
nicht am Beispiel von den Speisenphilosophen an, sondern wir schauen uns gleich am Beispiel
eines etwas realeren Systems an, nämlich einem Leitungsvermittlungssystem. Und der Ausgangspunkt
ist, also wir haben einen Vermittlungsrechner mit 12 Kommunikationskanälen. Der Prozess
P1 benötigt maximal 10 P2-4 und P3-9 Kanäle. Das heißt also, wir haben die drei Prozesse.
Machen wir mal ordentlich Licht an an der Stelle. Und wir haben also drei Prozesse P1, P2 und
P3 und wir haben einen Maximalbedarf. Und das ist ganz wichtig in der Situation, um sowas
überhaupt machen zu können, muss man den Maximalbedarf der Prozesse wissen. Das heißt,
die Prozesse müssen den letztendlich quasi beim Start oder in einer frühen Phase, bevor
sie überhaupt Betriebsmittel anfordern, müssen sie den Maximalbedarf beim Betriebssystem
schon mal vordeklarieren. Die Folge davon ist natürlich, dass das in der Praxis eigentlich
gar nicht so besonders gut realisierbar ist. Also gerade in dynamischen Systemen ist man
selten in der Situation, dass man letztendlich von der Programmierung her irgendwo diesen
Maximalbedarf quasi voranmeldet. Aber wenn man solche Abschätzungen machen oder solche
Verhinderungsmechanismen realisieren will, dann braucht man letztendlich eben dieses
Wissen über den Maximalbedarf. Also P1 wird 10 benötigen, P2 wird maximal 4 benötigen
und P3 wird maximal 9 benötigen. Das ist die Situation. So, und jetzt, die aktuelle
Belegung ist, also aktuell, P1 hat 5 Kanäle, das heißt, quasi es fehlen noch 5, P2 hat
5 und P3 haben hier 2 Kanäle, das heißt, hier fehlen noch 2 und hier fehlen noch 7.
So, das ist die Situation. Und jetzt ist die Frage, in welche Reihenfolge können diese
Prozesse fertig laufen, ohne dass es zu einer Verklemmung kommt. Das heißt, noch verfügbar
Presenters
Zugänglich über
Offener Zugang
Dauer
01:25:15 Min
Aufnahmedatum
2012-12-20
Hochgeladen am
2019-05-01 21:59:02
Sprache
de-DE
- Grundlagen von Betriebssystemen (Adressräume, Speicher, Dateien, Prozesse, Koordinationsmittel; Betriebsarten, Einplanung, Einlastung, Virtualisierung, Nebenläufigkeit, Koordination/Synchronisation)
-
Abstraktionen/Funktionen UNIX-ähnlicher Betriebssysteme
-
Programmierung von Systemsoftware
-
C, Make, UNIX-Shell (Solaris, Linux, MacOS X)
Lernziele und Kompetenzen:
Die Studierenden
-
erwerben fundierte Kenntnisse über Grundlagen von Betriebssystemen
-
verstehen Zusammenhänge, die die Ausführungen von Programmen in vielschichtig organisierten Rechensystemen ermöglichen
-
erkennen Gemeinsamkeiten und Unterschiede zwischen realen und abstrakten (virtuellen) Maschinen
-
erlernen die Programmiersprache
-
entwickeln Systemprogramme auf Basis der Systemaufrufschnittstelle UNIX-ähnlicher Betriebssysteme