40 - 10.3.1 Semaphor: Zusammenfassung [ID:25078]
50 von 52 angezeigt

Ja, da kommen wir jetzt zur Zusammenfassung von dem Stoff, den wir heute behandelt hatten.

Ein Resümee. Nun, wir haben wesentliche Synkondensationstechnik, die man auf der

Maschinenprogramm-Ebene typischerweise nutzen kann, eben kennengelernt. Und es sind dann

wesentliche Techniken, die eben auf Konzepte von gewissen Betriebssystemen

dann einfach zurückgreifen können. Und mit diesen Konzepten war man in einer

Lage, in Zeitpunkte der Einplanung, Einlastung von Prozessen gezielt zu

beeinflussen. Prozesse konnte man kontrolliert schlafen legen und wieder

aufhängen. Also die Grundlage war dann immer irgendwie Prozesse, die wir

beeinflussen konnten in entsprechender Art und Weise auf Basis bestimmter

Primitiven, die uns denn dafür zur Überführung stehen und diese

Primitiven denn zum Beispiel in Form von System auf Ofen von dem Betriebssystem

zur Überführung gestellt werden können. Typische Elementaroperation dieser

Ebene war dann der Simaphor, den wir als einen Verbunddatentyp kennengelernt, wo

wir dann eine C oder eine eigenes Variable mit so einem Simaphor als Typ

dann typischerweise bezeichnen, assoziieren würden. Wir haben den

Binaeren und den allgemeinen Simaphor kennengelernt, wir haben den differenziert,

wir haben die typischen Primitiven, die auf diesen Simaphor definiert sind,

denn behandelt und erkannt, dass diese primitiven P und V selbst logisch wie

auch physisch atomare Operationen sein müssen, damit überhaupt so ein Simaphor

Mechanismus korrekt funktioniert. Wir haben die Atomarität dieser Primitiven

eben durch Techniken erreicht, die von einer dann wiederum tiefer liegenden

Ebene bereitgestellt werden müssten. Hier haben wir dann typischerweise die

Sperren als Grundlage genommen. Wir haben Unterbrechungen, Fortsetzungen oder

Verdrängungen letztendlich gesperrt. Das ist eine Technik, die man für ein

Prozessor, für Unicore-Systeme denn verwenden kann. Für Multiprozessor-

Techniken, da braucht man andere Verfahren, sowas wie Schlösser, die Logs,

nächste Vorlesungsstunde oder denn die nicht blockierende Synchronisation ist

dann so eine logische Hangehensweise. Das betrachten wir in einer vertiefenden

Lehrveranstaltung im späteren Semesterverlauf. Und nicht zu

vergessen der der Mutex, den haben wir hier insbesondere als Simaphor

Spezialisierung kennengelernt. Einfach dahingehend eine Spezialisierung wäre

nämlich die Eigentümer schafft, die über die Freigabe eines Simaphores

prüft und nur bedingt zulässt. Also nur der Prozess, der sozusagen einen

binären Simaphor erfolgreich belegt hat, wäre denn noch in der Lage, denn

praktisch diesen Simaphor denn wirklich entsprechend auch frei zu geben.

Wir haben darauf hingewiesen, dass dieser Mutex eigentlich nur gut Verwendung

finden kann für binäre Simaphoren, die einen kritischen Abschnitt schützen, wo

man innerhalb eines solchen kritischen Abschnitts typischerweise keine Prozesswechsel

hat. Ansonsten müsste man aus Effizienzgründen immer

Mechanismen einführen, die dazu führen müssen, dass Prozesse, die

sich innerhalb eines kritischen Abschnitts haben schlafenlegen müssen,

von einem anderen Prozess dieser kritische Abschnitt denn freigegeben

werden muss, damit überhaupt das System vernünftig weiter laufen kann.

Also muss man differenzieren, aber sehr wohl haben die Mutex dann halt eine große

Bedeutung, um auch bessere nicht sequenzielle Programme dann eben zu

schreiben, weil sie eben genau diesen Test sozusagen verinnerlichen und

Reaktionen ermöglichen, wenn man feststellt, dass die Autorisierung eines

solchen Prozesses jetzt nicht korrekt ist. Alle diese Techniken sind

blockierende Synchronisationstechniken, die wir betrachtet haben. Das ist sozusagen

die klassische Herangehensweise. Es gibt, wie ich schon erwähnt habe, auch die

Teil eines Kapitels:
10.3 Semaphor

Zugänglich über

Offener Zugang

Dauer

00:04:32 Min

Aufnahmedatum

2020-11-27

Hochgeladen am

2020-11-27 13:28:08

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen