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