[unmarkierte Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Kwastg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(11 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= | Das Kapitel zur [[Synchronisation|Prozess-Synchronisation]] lässt sich ganz einfach zusammenfassen: | ||
</p> | |||
<br /> | |||
<p> | |||
<loop_area type="summary"> | |||
<p> | |||
* Durch [[Nebenläufigkeit#Definition:_Nebenläufige_Ausführung|nebenläufige Ausführung]] von Prozessen (oder Threads) können [[Race Conditions]] entstehen. | |||
</p> | |||
<p> | |||
* Durch [[aktives Warten]] können [[kritischer Abschnitt|kritische Abschnitte]] geschützt werden. Race Conditions werden dadurch vermieden. | |||
</p> | |||
<p> | |||
* 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> | |||
* Der Nachteil des aktiven Wartens ist die Verschwendung von CPU-Zeit. | |||
</p> | |||
<p> | |||
* Diesen Nachteil besitzen [[Semaphore]] nicht, denn sie blockieren Prozesse, wodurch diese keine weitere CPU-Zeit mehr zugesprochen bekommen. | |||
</p> | |||
<p> | |||
* 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. | |||
</p> | |||
<p> | |||
* Das größte Problem beim Einsatz von Semaphoren ist also der Mensch (<math>\rightarrow</math> der Programmierer). | |||
</p> | |||
<p> | |||
* Das [[Monitore|Monitor-Konzept]] wurde als Verbesserung des Semaphor-Konzepts entwickelt. | |||
</p> | |||
<p> | |||
* Dabei wird der Mensch (<math>\rightarrow</math> Programmierer) als Fehlerquelle bei der Synchronisation weitgehend ausgeschlossen. | |||
</p> | |||
</loop_area> | |||
</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"> | |||
<br /> | |||
<hr /> | |||
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png] | |||
</sub> | |||
</div> |
Das Kapitel zur Prozess-Synchronisation lässt sich ganz einfach zusammenfassen:
Operating Systems: Process Synchronization
http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/5_Synchronization.html
Dr. John T. Bell
Department of Computer Science
University of Illinois, Chicago
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png