3.2.11 Synchronisation

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<p>
<loop_index id="5fa978824129c">Synchronisation</loop_index><loop_index id="5fa978826c777">Prozess-Synchronisation</loop_index><loop_index id="5fa978826c77c">Thread-Synchronisation</loop_index>
Bei der Synchronisation geht es um Mechanismen zur Vermeidung von Problemen, die bei der nebenläufigen Ausführung von Prozessen oder Threads in Verbindung mit gemeinsam genutzten Betriebsmitteln kommt.
Bei der '''Synchronisation''' (auch: '''Prozess-Synchronisation''' oder '''Thread-Synchronisation''') geht es um Mechanismen zur Vermeidung von Problemen, die bei der nebenläufigen Ausführung von Prozessen oder Threads in Verbindung mit gemeinsam genutzten Betriebsmitteln entstehen können.
</p>
</p>


<br />
<p>
<p>
<loop_area type="notice">'''Der vorangegangene Satz hat es in sich!'''<br />
<loop_area type="notice">'''Der vorangegangene Satz hat es in sich!'''<br />
Zeile 16: Zeile 17:
</p>
</p>
<p>
<p>
Bislang noch nicht definiert wurde die ''nebenläufige Ausführung'', deshalb passiert genau das jetzt.  
Bislang noch nicht definiert wurde die ''nebenläufige Ausführung'', deshalb passiert dies im folgenden Kapitel.  
</p>
</p>
</loop_area>
</loop_area>
Zeile 27: Zeile 28:


<br />
<br />
==== Definition: Nebenläufigkeit ====
<p>
{{#index:Nebenläufigkeit}}
<loop_area type="definition">
<p>
Unter '''Nebenläufigkeit''' versteht man die quasi-parallele Ausführung von Befehlen unterschiedlicher Prozesse oder Threads auf einer CPU.
</p>
</loop_area>
</p>
<p>
Solange nur eine CPU (mit einem Rechenkern) zur Verfügung steht, ist hier von ''quasi-paralleler Ausführung'' die Rede. Erst bei mehreren CPUs oder mehreren Rechenkernen auf einer CPU kann Nebenläufigkeit auch mit ''echt-paralleler Ausführung'' definiert werden.
</p>
<p>
Unter der nebenläufigen Ausführung mehrerer Prozesse oder Threads auf nur einer CPU versteht man also, dass mehrere Prozesse oder Threads sich in ihrer Abarbeitung auf der CPU abwechseln. Es kommt dabei immer wieder zu [[Vom_Batch-Job_zum_Multitasking#Definition:_Kontextwechsel|Kontextwechseln]] auf der CPU.
</p>
<br />
==== Aufgabe 1 ====
<p>
<p>
<loop_area type="task">
== So geht es weiter: ==
<loop_task title="Wann genau finden Kontextwechsel statt?">
<p>
Wenn zwei Prozesse A und B nebenläufig ausgeführt werden, ist dann vorbestimmt, wann genau ein Kontextwechsel zwischen diesen beiden Prozessen erfolgt?
</p>
</p>
<p>
<p>
Wenn diese beiden Prozesse nach ihrer Terminierung immer wieder neu gestartet und nebenläufig ausgeführt werden, finden dann immer an der gleichen Stelle im Maschinencode Kontextwechsel statt?
<loop_area type="arrangement"><loop_toc> </loop_toc></loop_area>
</p>
<p>
Diskutiere diese Situation in deiner Lerngruppe!
</p>
<p>
Wovon hängt es ganz allgemein ab, wann ein Kontextwechsel erfolgt? Nenne mindestens drei Bedingungen!
</p>
</loop_task>
</loop_area>
</p>
</p>


<div class="autoit_do_not_print">
<br />
<br />
<hr />
<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>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>
</sub>
</div>

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

Bei der Synchronisation (auch: Prozess-Synchronisation oder Thread-Synchronisation) geht es um Mechanismen zur Vermeidung von Problemen, die bei der nebenläufigen Ausführung von Prozessen oder Threads in Verbindung mit gemeinsam genutzten Betriebsmitteln entstehen können.


Hinweis

Der vorangegangene Satz hat es in sich!

Lies ihn noch einmal in Ruhe durch und überlege, ob dir die Bedeutung aller enthaltenen Fachbegriffe klar ist. Insbesondere solltest du den anderen Mitgliedern deiner Lerngruppe erklären können:

  • Was ist ein Prozess?
  • Was ist ein Thread?
  • Was ist der Unterschied zwischen einem Prozess und einem Thread?
  • Was sind Betriebsmittel?
  • Und was sind dann gemeinsam genutzte Betriebsmittel?

Bislang noch nicht definiert wurde die nebenläufige Ausführung, deshalb passiert dies im folgenden Kapitel.


Es sei an die im Kapitel Nur ein Prozessor mit einem Kern genannte Bedingung erinnert.


So geht es weiter: