3.2.11.5 Zusammenfassung Synchronisation

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
=Zusammenfassung Synchronisation=
Das Kapitel zur [[Synchronisation|Prozess-Synchronisation]] lässt sich ganz einfach zusammenfassen:
 
</p>
<br />
<p>
<p>
Das Kapitel zur Prozess-Synchronisation lässt sich ganz einfach zusammenfassen:
<loop_area type="summary">
</p>
<p>
<p>
* Durch nebenläufige Ausführung von Prozessen (oder Threads) können Race Conditions entstehen.
* Durch [[Nebenläufigkeit#Definition:_Nebenläufige_Ausführung|nebenläufige Ausführung]] von Prozessen (oder Threads) können [[Race Conditions]] entstehen.
</p>
</p>
<p>
<p>
* Mit Aktivem Warten können kritische Abschnitte geschützt werden.
* Durch [[aktives Warten]] können [[kritischer Abschnitt|kritische Abschnitte]] geschützt werden. Race Conditions werden dadurch vermieden.
</p>
</p>
<p>
<p>
* Um dabei das Problem des ungünstigsten Moments zu lösen, mussten die CPU-Hersteller den TSL-Befehl in den Prozessor integrieren.
* Um dabei das [[Das Problem des ungünstigsten Moments|Problem des ungünstigsten Moments]] zu lösen, mussten die CPU-Hersteller den [[Aktives_Warten_mit_TSL#TSL.2C_TAS_oder_XCHG|TSL-Befehl]] in den Prozessor integrieren.
</p>
</p>
<p>
<p>
* Der Nachteil des Aktiven Wartens ist die Verschwendung von CPU-Zeit.
* Der Nachteil des aktiven Wartens ist die Verschwendung von CPU-Zeit.
</p>
</p>
<p>
<p>
* Diesen Nachteil besitzen Semaphore nicht, denn sie blockieren Prozesse, wodurch sie keine weitere CPU-Zeit mehr zugesprochen bekommen.
* Diesen Nachteil besitzen [[Semaphore]] nicht, denn sie blockieren Prozesse, wodurch diese keine weitere CPU-Zeit mehr zugesprochen bekommen.
</p>
</p>
<p>
<p>
Zeile 23: Zeile 23:
</p>
</p>
<p>
<p>
* Das größte Problem beim Einsatz von Semaphoren ist also der Mensch (<math>\rightarrow</math>der Programmierer).
* Das größte Problem beim Einsatz von Semaphoren ist also der Mensch (<math>\rightarrow</math>&nbsp;der Programmierer).
</p>
</p>
<p>
<p>
* Das Monitor-Konzept wurde als Verbesserung des Semaphor-Konzepts entwickelt.
* Das [[Monitore|Monitor-Konzept]] wurde als Verbesserung des Semaphor-Konzepts entwickelt.
</p>
</p>
<p>
<p>
* Dabei wird der Mensch (<math>\rightarrow</math>Programmierer) als Fehlerquelle bei der Synchronisation weitgehend ausgeschaltet.
* Dabei wird der Mensch (<math>\rightarrow</math>&nbsp;Programmierer) als Fehlerquelle bei der Synchronisation weitgehend ausgeschlossen.
</p>
</loop_area>
</p>
</p>


<br />
== Alternative Webquelle zum Thema ==
<p>
<loop_area type="websource">
<p>
Operating Systems: Process Synchronization<br />
<small>http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/5_Synchronization.html</small>
</p>
<p>
[http://www.cs.uic.edu/~jbell/ Dr. John T. Bell]<br />
Department of Computer Science<br />
University of Illinois, Chicago<br />
</p>
</loop_area>
</p>


<div class="autoit_do_not_print">
<div class="autoit_do_not_print">

Aktuelle Version vom 10. November 2020, 13:50 Uhr

Das Kapitel zur Prozess-Synchronisation lässt sich ganz einfach zusammenfassen:


Zusammen­fassung

  • Der Nachteil des aktiven Wartens ist die Verschwendung von CPU-Zeit.

  • Diesen Nachteil besitzen Semaphore nicht, denn sie blockieren Prozesse, wodurch diese keine weitere CPU-Zeit mehr zugesprochen bekommen.

  • Ein durch einen Semaphor blockierter Prozess muss durch einen anderen Prozess wieder entblockiert werden. Wenn der Programmierer des anderen Prozesses dieses vergisst, so gibt es ein Problem.

  • Das größte Problem beim Einsatz von Semaphoren ist also der Mensch ( der Programmierer).

  • Das Monitor-Konzept wurde als Verbesserung des Semaphor-Konzepts entwickelt.

  • Dabei wird der Mensch ( Programmierer) als Fehlerquelle bei der Synchronisation weitgehend ausgeschlossen.


Alternative Webquelle zum Thema