8 - Systemprogrammierung 2 [ID:10892]
50 von 950 angezeigt

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

Teil einer Videoserie :

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

Einbetten
Wordpress FAU Plugin
iFrame
Teilen