• Keine Ergebnisse gefunden

Aufgabe1:PetersonsAlgorithm ¨Ubungszettel1

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe1:PetersonsAlgorithm ¨Ubungszettel1"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ubungen zur Vorlesung ¨ Betriebssysteme I Studiengang Informatik WS 2011/2012

AG Betriebssysteme FB3

Prof. Dr. Jan Peleska, Florian Lapschies Abgabetermin: 17.11.2011

Ubungszettel 1 ¨

Aufgabe 1: Petersons Algorithm

In der Vorlesung wurde euch Petersons Algorithmus zum gegenseitigen Ausschluss von zwei auf einen kritischen Abschnitt zugreifenden Prozessen vorgestellt. Dieser Algorithmus ist in Listing 1 abgedruckt.

Hierbei sind beide Prozesse ¨ uber eine Eindeutige Prozess-ID aus {0, 1} identifiziert. Beide Prozesse rufen vor dem Betreten des kritischen Abschnitts enter region () und nach dem Verlassen leave region () mit ihrer jeweiligen Prozess-ID auf.

Listing 1: Petersons Algorithmus 1 v o l a t i l e i n t t u r n ;

2 v o l a t i l e bool i n t e r e s t e d [ 2 ] = { f a l s e , f a l s e } ; 3

4 / ∗ p i d i s t aus { 0 , 1 } ∗/

5 void e n t e r r e g i o n ( i n t p i d ) { 6 i n t e r e s t e d [ p i d ]= true ; 7 t u r n = p i d ;

8 while ( t u r n == p i d && i n t e r e s t e d [1 −p i d ] ) ; 9 }

10

11 void l e a v e r e g i o n ( i n t p i d ) { 12 i n t e r e s t e d [ p i d ] = f a l s e ; 13 }

a) Erl¨ autert die Funktionsweise dieses Algorithmus.

b) Modelliert den Algorithmus mit dem UPPAAL tool.

c) Stellt Verifikationsbedingungen f¨ ur die folgenden Eigenschaften auf und pr¨ uft mit UPPAAL, ob Euer Modell diese erf¨ ullt:

• Generelle Erreichbarkeit der kritischen Sektion f¨ ur beide Prozesse.

• Gegenseitiger Ausschluss.

• Fairness f¨ ur beide Prozesse.

• Freiheit von Deadlocks.

d) Ist der Gegenseitige Ausschluss weiterhin gew¨ ahrleistet, wenn Zeile 6 und 7 in dem Algorithmus ver- tauscht werden? Erl¨ autere den Grund hierf¨ ur. Modelliert diesen abge¨ anderten Algorithmus mit UPPAAL.

Gebt gegebenenfalls eine Ausf¨ uhrungsreihenfolge an, die das Gegenteil beweist und f¨ ugt die zugeh¨ orige Trace-Datei der elektronischen Abgabe hinzu.

Hinweise

Die Abgabe erfolgt als Ausdruck am Ende der Vorlesung und zus¨ atzlich elektronisch ¨ uber ein Subversion

1

Repository. Die Zugangsdaten zum Repository werden Euch per E-Mail zugeschickt. Die Dokumentation der Aufgabenl¨ osung ist in LaTeX anzufertigen. Bitte vergesst nicht die Namen aller Gruppenmitglieder mitanzugeben. Die elektronische Abgabe soll alle mit UPPAAL erstellten Dateien, sowie die LaTeX Dateien der Dokumentation umfassen.

1

Informationen zu Subversion findet ihr auf http://subversion.tigris.org/

Referenzen

ÄHNLICHE DOKUMENTE

• Für ein elegantes Programmieren sind gelegentlich Variablen, deren Wert geändert werden kann, ganz nützlich :-). • Darum erweitern wir unsere kleine Programmiersprache

• Am besten wäre es, wenn wir erst auswerten, dann auf das Ergebnis zugreifen .... Helmut Seidl, TU München ;-).. dem Wert für stop ). → Es werden automatisch alle

Eine mathematische Funktion f ist theoretisch berechenbar, wenn es einen Algorithmus gibt, der für eine beliebige Eingabe x aus dem Definitionsbereich den Funktionswert f (x

Ob ein Schluss von einer Aussage auf eine andere richtig ist, sollte sich völlig unabhängig vom Gehalt dieser Aussagen nur aufgrund von formalen Regeln begründen lassen.“

So ist die Beschreibung, wie man am schnellsten von Ascona nach Brindisi kommt, kein Algorithmus im eigentlichen Sinne (auch wenn diese eine Handlungsanweisung an einen

Programm gibt, dass für ein beliebiges anderes Programm entscheidet, ob es für eine bestimmte Eingabe in eine Endlosschleife gerät oder nicht.. • Dieses Problem heißt

[r]

Wir müssen noch zeigen, dass beide Rekursionen dieselben