<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Priorit%C3%A4tsgrenze</id>
	<title>Prioritätsgrenze - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Priorit%C3%A4tsgrenze"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Priorit%C3%A4tsgrenze&amp;action=history"/>
	<updated>2026-06-11T19:11:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Priorit%C3%A4tsgrenze&amp;diff=305809&amp;oldid=prev</id>
		<title>imported&gt;Danieleb2000: Literatur</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Priorit%C3%A4tsgrenze&amp;diff=305809&amp;oldid=prev"/>
		<updated>2023-07-29T11:38:19Z</updated>

		<summary type="html">&lt;p&gt;Literatur&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen|1=[[Diskussion:Prioritätsgrenze|Siehe Diskussionsseite]]|2=Dieser Artikel|Plural=0}}&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Prioritätsgrenze&amp;#039;&amp;#039;&amp;#039; ({{enS|&amp;#039;&amp;#039;priority ceiling protocol&amp;#039;&amp;#039;}}) ist eine Methode zur Behebung des Problems&lt;br /&gt;
der [[Prioritätsinversion]] und der Vermeidung von [[Deadlock (Informatik)|Deadlocks]]. Sie ist eine Erweiterung der [[Prioritätsvererbung]], kann aber im Gegensatz zu dieser einen Deadlock ausschließen.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen für die Anwendung des Protokolls ==&lt;br /&gt;
* Prioritätsgetriebenes präemptives Scheduling mit festen Prioritäten&lt;br /&gt;
* Ein-Prozessor-System&lt;br /&gt;
* Alle Anforderungen an Ressourcen sind im Voraus bekannt&lt;br /&gt;
&lt;br /&gt;
== Protokollablauf ==&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Prioritätsschranke eines Systems&amp;#039;&amp;#039;&amp;#039; zu einem festen Zeitpunkt ist bestimmt durch das Maximum der Prioritätsschranken aller Ressourcen, die zu diesem Zeitpunkt benutzt werden. Die &amp;#039;&amp;#039;&amp;#039;Prioritätsschranke einer Ressource&amp;#039;&amp;#039;&amp;#039; entspricht dem Maximum der Prioritäten der Prozesse, die &amp;#039;&amp;#039;&amp;#039;überhaupt&amp;#039;&amp;#039;&amp;#039; auf diese Ressource zugreifen. Dementsprechend verändert sich die Prioritätsschranke eines Systems dauernd. Sie wechselt zwischen den Prioritätsschranken der Ressourcen im System und 0.&lt;br /&gt;
&lt;br /&gt;
== Zuteilungsregel ==&lt;br /&gt;
Möchte ein Prozess eine Ressource nutzen, so wird zuerst geprüft, ob diese verfügbar ist:&lt;br /&gt;
* ist die Ressource bereits vergeben, so wird die Anforderung verweigert und der Prozess blockiert &amp;#039;&amp;#039;an dieser Ressource&amp;#039;&amp;#039;&lt;br /&gt;
* ist die Ressource verfügbar, so wird die aktuelle Prioritätsschranke des Systems geprüft:&lt;br /&gt;
** hat der Prozess eine höhere Priorität als die aktuelle Prioritätsschranke, so bekommt er die Ressource zugeteilt&lt;br /&gt;
** hat er keine höhere Priorität, so bekommt er die Ressource nur dann, wenn er schon die Ressource, die die aktuelle Prioritätsschranke des Systems begründet, besitzt. Ansonsten wird ihm die Ressource verweigert.&lt;br /&gt;
&lt;br /&gt;
== Prioritätsvererbungsregel ==&lt;br /&gt;
Blockiert ein Prozess &amp;#039;&amp;#039;an einer Ressource&amp;#039;&amp;#039;, so erbt der Prozess, der diese Ressource momentan besitzt, die (höhere) Priorität des anfragenden Prozesses. Der Prozess, der die Ressource schon besitzt, wird nun unter dieser Priorität weiterverarbeitet, bis er &amp;#039;&amp;#039;&amp;#039;alle&amp;#039;&amp;#039;&amp;#039; Ressourcen freigegeben hat, deren Prioritätsschranke größer oder gleich der geerbten Priorität ist.&lt;br /&gt;
&lt;br /&gt;
== Beispiel mit Semaphor ==&lt;br /&gt;
(kleinere Zahlen bedeuten hier höhere Prioritäten)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3 [[Semaphor (Informatik)|Semaphoren]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2 Prozesse:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt; mit Priorität 1 und verwendet die Ressourcen &amp;lt;math&amp;gt;S_{1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt; mit Priorität 2 und verwendet die Ressourcen &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;S_{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prioritätsgrenzen der Semaphoren:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_{1}&amp;lt;/math&amp;gt;: Priorität 1 wegen &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt;: Priorität 1 wegen &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_{3}&amp;lt;/math&amp;gt;: Priorität 2 wegen &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ablauf:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt; fängt an zu arbeiten, er verwendet sofort &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt;. Damit steigt die Prioritätsschranke des Systems auf die Priorität der Semaphore &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt;, also 1.&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt; startet und verdrängt &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt; versucht nun &amp;lt;math&amp;gt;S_{1}&amp;lt;/math&amp;gt; zu belegen. Dies scheitert jedoch zunächst, weil die Prioritätsschranke des Systems bei 1 liegt und Prozess &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt; keine höhere Priorität hat.&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt; Bekommt nun die Priorität von &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt; auf Grund der [[Prioritätsvererbung]].&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt; belegt jetzt zusätzlich &amp;lt;math&amp;gt;S_{3}&amp;lt;/math&amp;gt;. Dies ist möglich, da &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt; momentan ein Betriebsmittel mit der höchsten Priorität hat.&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{2}&amp;lt;/math&amp;gt; gibt &amp;lt;math&amp;gt;S_{2}&amp;lt;/math&amp;gt; frei und bekommt wieder seine Ausgangspriorität.&lt;br /&gt;
* &amp;lt;math&amp;gt;T_{1}&amp;lt;/math&amp;gt; kann nun &amp;lt;math&amp;gt;S_{1}&amp;lt;/math&amp;gt; belegen.&lt;br /&gt;
&lt;br /&gt;
== Abwandlungen ==&lt;br /&gt;
=== OSEK Priority Ceiling Protocol ===&lt;br /&gt;
Auch &amp;#039;&amp;#039;Immediate Priority Ceiling Protocol&amp;#039;&amp;#039; (engl. für &amp;#039;&amp;#039;unverzügliches Prioritäts-Obergrenzen-Protokoll&amp;#039;&amp;#039;). Bei diesem Protokoll erhält der belegende Thread sofort die Priorität der Prioritätsgrenze der Ressource.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* L. Sha, R. Rajkumar, J.P. Lehoczky: &amp;#039;&amp;#039;Priority Inheritance Protocols: An Approach to Real-Time Synchronization&amp;#039;&amp;#039;, IEEE Transactions on Computers, pp. 1175–1185, September, 1990&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Prioritatsgrenze}}&lt;br /&gt;
[[Kategorie:Betriebssystemtheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Danieleb2000</name></author>
	</entry>
</feed>