|
|
Zeile 17: |
Zeile 17: |
| </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> |
Version vom 6. Februar 2015, 18:37 Uhr
Zusammenfassung Synchronisation
Das Kapitel zur Prozess-Synchronisation lässt sich ganz einfach zusammenfassen:
- Durch nebenläufige Ausführung von Prozessen (oder Threads) können Race Conditions entstehen.
- Mit Aktivem Warten können kritische Abschnitte geschützt werden.
- Um dabei das Problem des ungünstigsten Moments zu lösen, mussten die CPU-Hersteller den TSL-Befehl in den Prozessor integrieren.
- 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 ausgeschaltet.