3.2.11.1.3 Kritischer Abschnitt

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Zeile 21: Zeile 21:
<p>
<p>
Unter einem '''unkritischen Abschnitt''' versteht man jeden Programmteil, der keinen kritischen Abschnitt darstellt.
Unter einem '''unkritischen Abschnitt''' versteht man jeden Programmteil, der keinen kritischen Abschnitt darstellt.
</p>
</loop_area>
</p>
<br />
<p>
Als ''Programmteil'' im Sinne der vorangegangenen Definitionen kann jeder Codeabschnitt mit der geforderten Eigenschaft gelten. Diese Programmteile lassen sich sowohl in einer Hochsprache wie Java, C, C++, Pascal, usw. identifizieren, als auch in Maschinencode oder Assembler.
</p>
<p>
<loop_area type="notice">
<p>
Du musst wissen, dass ein in einer Hochsprache wie Java, C, C++, Pascal, usw. angegebener Befehl in seiner Übersetzung in Maschinencode bzw. Assembler in mehrere kleine Befehle resultieren kann.
</p>
<p>
Ein Kontextwechsel findet immer zwischen zwei Maschinenbefehlen auf der CPU statt!
</p>
</p>
</loop_area>
</loop_area>

Version vom 2. November 2013, 13:38 Uhr

{{#index:kritischer Abschnitt|Abschnitt, kritisch|unkritischer Abschnitt|Abschnitt, unkritisch}} Im Quelltext aller Prozesse oder Threads lassen sich Abschnitte identifizieren, welche kritisch oder unkritisch im Hinblick auf Race Conditions sind.


Definition: Kritischer Abschnitt

Definition

Unter einem kritischen Abschnitt versteht man Programmteile, die während ihrer Ausführung auf der CPU nicht durch kritische Abschnitte anderer Prozesse oder Threads unterbrochen werden dürfen, sofern die beteiligten Prozesse oder Threads gemeinsam genutzte Betriebsmittel besitzen.


Definition: Unkritischer Abschnitt

Definition

Unter einem unkritischen Abschnitt versteht man jeden Programmteil, der keinen kritischen Abschnitt darstellt.


Als Programmteil im Sinne der vorangegangenen Definitionen kann jeder Codeabschnitt mit der geforderten Eigenschaft gelten. Diese Programmteile lassen sich sowohl in einer Hochsprache wie Java, C, C++, Pascal, usw. identifizieren, als auch in Maschinencode oder Assembler.

Hinweis

Du musst wissen, dass ein in einer Hochsprache wie Java, C, C++, Pascal, usw. angegebener Befehl in seiner Übersetzung in Maschinencode bzw. Assembler in mehrere kleine Befehle resultieren kann.

Ein Kontextwechsel findet immer zwischen zwei Maschinenbefehlen auf der CPU statt!



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png