+ All Categories
Transcript
Page 1: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 1

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Übungen/Aufgaben zur Vorlesung „Realzeitsysteme“

Inhalte - Übung Architektur „Pipelining“- Übung Synchr./asyn. Programmierung „Toaster“- Übung Taskzustände- Übungen Realzeitscheduling „FIFO“, „SPT“, „Round Robin“, „RMS“, „Least laxity“- Übungen Task-Synchronisation „wechselseitiger Ausschluss“, „Deadlock“- Übung zum Petri-Netz- Übung zur Speicherverwaltung „Kompaktifizierung“

Anlage- Aufgabe synchrone Programmierung „Transportsystem“- Aufgaben Scheduling mit Template- Aufgaben Semaphore- Aufgaben Petri-Netze - ……………….

Page 2: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 2

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

4 Personen wollen Wäsche waschen, trocknen und bügeln; Waschen dauert 30 min, Trocknen 40 min und Bügeln 20 min.

Architekturen von Realzeitsystemen

Übung 3:

Wie lange dauern die Aktionen ohne Pipelining? Wie lange dauern die Aktionen mit Pipelining?

Pipeline-Verarbeitungvon Befehlen:

Takt

Page 3: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 3

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitprogrammierung

Übung: Toaster 1 - Korb;

2 - Druckfeder;

3 - Heizwendel;

4 - Endlagenkontakt;

5 - Temperatursensor;

6 – Rastung;

7 - Auslösemagnet;

8 - Schaltrelais (oder Triac);

9 - Stopptaste

10 - Drehschalter;

11 - Kontrollanzeige.

Wir legen die Brotscheiben ein und drücken den Korb 1 nach unten. Er rastet in dieser Lage ein. Dieser Betriebszustand wird mittels des Endlagenkontaktes 4 signalisiert. Dies bewirkt dass der Toast-Vorgang beginnt. Um ihn zu beenden, wird der Auslösemagnet 7 erregt und somit Rastung 6 ausgelöst.

Daraufhin drückt die Druckfeder 2 den Korb 1 wieder nach oben. Zur Beeinflussung des Ablaufs sind eine Stopptaste 9 (vorzeiti-ges Beenden) und ein Dreh-schalter 10 (zum Einstellen des Bräunungsgrades) vorgesehen. Das Toasten selbst beruht auf einer Erregung der Heizwendel 3. Hierzu muss das Schaltrelais 8 erregt werden.

Page 4: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 4

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitprogrammierung

Übung: Toaster

1. Realisieren Sie den geschilderten Programmablauf durch synchrones Programmieren,

indem Sie ein Flussdiagramm mit Abfrage- und Warteschleifen erstellen.

2. Realisieren Sie den geschilderten Programmablauf durch asynchrones Programmieren, indem Sie die erforderlichen Interrupts kennzeichnen und für jedes Ereignis ein eigenständiges Flussdiagramm erstellen. Die Programme müssen dann durch einen Interrupthandler gestartet werden.

Ist was zu

erledigen?

erledigen

Ereignis 1

erledigen

Stop

Ereignis 2

erledigen

Stop

…………

Page 5: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 5

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Task-Verwaltung

-

ne

ru

-

1

ne

re

ru

-

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

-

-

ne

-

0

P2

P3

P1

P4

Task Ankunftszeit

Drucken nach Zeiteinheit

Benötigte Zeiteinheiten im Zustand running

P1 0 5 6

P2 2 4 7

P3 1 - 2

P4 4 1 3

Taskzustände und Warteschlangenmodell:

Übung: Gegeben seien 4 Prozesse, die zu unterschiedlichen Zeitpunkten gestartet werden und sich in die ready-Warteschlange einreihen. Der Scheduler arbeitet nach dem LIFO-Verfahren. Einige Prozesse benötigen Zugriff auf den Drucker. Die dritte Spalte der nebenstehenden Tabelle gibt an, nach wie vielen Zeiteinheiten im Zustand running ein Prozess auf den Drucker zugreifen möchte.

Während der 4 Zeiteinheiten dauernden Druckphase wird der Prozessor für andere Prozesse freigegeben. Nach Beendigung des Druckvorgangs reiht sich der Prozess wieder in die ready-Warteschlange ein. Geben Sie zu den ersten 22 Zeiteinheiten die aktuellen Prozesszustände der Prozesse P1 bis P4 an. Beachten Sie, dass ein ankommender Prozess bei seiner Ankunft den Zustand new annimmt und erst nach einer Zeiteinheit in einen anderen Zustand wechselt, wobei keine CPU-Zeit verbraucht wird. Des Weiteren können Prozesse, die ihren Druckvorgang beendet haben, direkt in den Zustand running wechseln, ohne vorher eine Zeiteinheit im Zustand ready verbringen zu müssen (gilt nur für diese Übung). Unterscheiden sie zum besseren Verständnis beim Zustand suspended zwischen blocked (Drucker ist fremdbelegt) und waiting (Drucker ist eigenbelegt, d.h. Task druckt gerade selber).

Page 6: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 6

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitscheduling

FIFO Scheduling (first-in-first-out):• Übung: Zeichnen Sie den Ablauf

der einzelnen Tasks und berechnen Sie die durchschnittliche Reaktionszeit (Wartezeit im Zustand „bereit“) dieser Tasks beim FIFO-Verfahren.

10 t [ms]

5 15 20 25

ruhend

Task E

Task D

Deadline für 1. Aus-Führung von Task 2

0

Task Ankunftszeit Ausführungszeit

A 0 ms 4 ms

B 2 ms 3 ms

C 4 ms 6 ms

D 11 ms 3 ms

E 12 ms 6 ms

Task C

Task B

Task A

Page 7: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 7

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitscheduling

FIFO Scheduling (first-in-first-out):• Hauptproblem bei FIFO ist die Benachteiligung kurzlaufender Jobs durch Langläufer

– Beispiel aus dem täglichen Leben: analoges Problem an Supermarktkassen– Lösung hier: Schnellkassen für Kunden mit maximal 10 Artikeln

• Entsprechend beim CPU-Scheduling: ausführungszeitabhängige Strategien– Shortest-Processing-Time-First (SPT), auch Shortest-Job-First (SJF)– Voraussetzung: Ausführungszeit der Tasks ist bekannt– Man kann zeigen, dass die mittlere Reaktionszeit von SPT für die Klasse der

nicht-präemptiven Strategien minimal ist, d.h. SPT ist die optimale Strategie bzgl. der Wartezeit.

• Übung: Zeichnen Sie den Ablauf der einzelnen Tasksund berechnen Sie die durchschnittliche Reaktionszeit(Wartezeit) dieser Tasks für FIFO und SPT unter derVoraussetzung, dass alle zum ZeitpunktT=0 kurz hintereinander eintreffen: A,B,C,D.

Task Ausführungszeit

A 6 ms

B 8 ms

C 7 ms

D 3 ms

Page 8: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 8

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitscheduling

Round Robin Verfahren:• Übung: Zeichnen Sie den Ablauf

der einzelnen Tasks und berechnen Sie die durchschnittliche Reaktionszeit (Wartezeit) dieser Tasks beim Round Robin Verfahren (Zeitschlitz = 1ms und 5ms).

10 t [ms]

5 15 20 25

ruhend

Task E

Task D

Deadline für 1. Aus-Führung von Task 2

0

Task Ankunftszeit Ausführungszeit

A 0 ms 4 ms

B 2 ms 3 ms

C 4 ms 6 ms

D 11 ms 3 ms

E 12 ms 6 ms

Task C

Task B

Task A

Page 9: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 9

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitscheduling

Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS):

• Zuteilung der Prioritäten gemäß dem Rate Monotonic Prinzip ist essentiell!

• Würde man keine Präemption zulassen oder die Prioritäten anders herum verteilen, so würde im obigen Beispiel Task 2 ihre Zeitschranken verletzen.

• Zeichnen Sie dazu die Abläufe:– Übung1: Vertauschen Sie beim Beispiel auf Seite 24 die Prioritäten, so dass gilt:

– Übung2: Ablauf ohne Präemption.

Task Periode pi Ausführungszeit ei Priorität

1 150 ms 15 ms 1 (hoch)

2 10 ms 1 ms 2 (niedrig)

Page 10: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 10

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Realzeitscheduling

Übung zum Scheduling-VerfahrenGegeben ist nebenstehender Taskplan.

Bitte füllen Sie die u.s. Tabelle entsprechend des

geforderten Scheduling -Verfahrens aus:

1. FIFO

2. Round Robin

3. Earliest Deadline

4. Least Laxity

In dem Fall, dass Prioritäten gesetzt werden müssen, soll dies gemäß der Buchstabenreihenfolge im

Alphabet erfolgen. Falls eine Zeitscheibe notwendig ist, ist diese mit 10 ms anzunehmen.

Task Dauer in ms

Ankunftszeit in ms

Deadline in ms

A 40 10 keine

B 10 10 30

C 20 0 50

D 30 30 80

10 ms 20 ms 30 ms 40 ms 50 ms 60 ms 70 ms 80 ms 90 ms 100 ms

1.

2.

3.

4.

Page 11: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 11

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Task-SynchronisationÜbung zum wechselseitigen Ausschluss: Zwei Task A und B (mit absteigender Priorität, A hat die höchste) benutzen exklusiv zwei gemeinsame Speicherbereiche, die jeweils durch eine Semaphore geschützt werden (gestr. Linie = Programmcode, nT = Ausführungsdauer).

Tragen Sie den zeitlichen Verlauf mit den entsprechenden Taskzuständen (blockiert = wartet auf Sema, ablaufwillig = durch höhere Prio verdrängt) der zwei Tasks im Bereich 0<=t<=20T ein, wobei sie zwei Fälle unterscheiden:• Fall 1: Task A wird bei T=5t und B bei T=0t gestartet• Fall 2: Task A wird bei T=2t und B bei T=0t gestartet

Die zwei Semaphore S1 und S2 sind mit 1 initialisiert.

Task B (Prio 2)

T

REQ S1

REL S1

END

2T

T

REQ S2

3T

REL S2

2T

Task A (Prio 1)

T

REQ S2

REL S2

END

2T

T

REQ S1

3T

REL S1

2T

Page 12: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 12

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Task-Synchronisation

Übung: Formular zum Zeichnen der Soll-Abläufe

105 15 20

ablaufwillig

blockiert

laufend

ablaufwillig

blockiert

laufend

Task A

Task B

Page 13: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 13

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Task-Synchronisation

Verklemmungen• Beispiel 3: Deadlock durch Programmierfehler (Erzeuger/Verbraucher-Problem)

• Wie ist der Programmierfehler zu beheben?

While (true) {REQ SWait;REQ SFree;/*erzeuge Produkt*/REL SWait;REL SProd; }

Erzeuger

While (true) {REQ SProd;REQ SWait;/*verbrauche Produkt*/REL SWait;REL SFree; }

Initialisierung:SWait = 1SFree = 2SProd = 0

Verbraucher

Page 14: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 14

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Task-Synchronisation

Übung: gegenseitiges Blockieren beim Zugriff auf kritische BereicheZeichnen Sie bitte den Soll-Ablauf der zwei Tasks A und B unter Verwendung des priority ceiling protocols (pcp) im Bereich 0<=t<=20T ein:

105 15 20

ablaufwillig

blockiert

laufend

ablaufwillig

blockiert

laufend

Task A

Task B

Page 15: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 15

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Petrinetze zur Synchronisation

Grundlegende Verhaltensweisen von Petri-Netzen

Übung: Erläutern Sie die Schaltweise der zwei Petri-Netze a) und b)

Page 16: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 16

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Speicherverwaltung

Übung zum Thema Kompaktifizierung:

Welche der 3

Auf der nächsten Seite angegebenen

Kompaktifizierungen

ist die optimale:

1, 2 oder 3?

Berechnen Sie dazu die

notwendigen Speicherplatz-

Verschiebungen von der

Ausgangssituation zu den

jeweiligen alternativen

Endsituationen.

0K

300K

500K600K

1000K

1200K

1500K

1900K

2100K

P1

P2

Betriebs-system

P3

P4

300K

400K

200K

Ausgangssituation

Page 17: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 17

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Speicherverwaltung

Beispiele für Kompaktifizierung

0K

300K

500K600K

1000K

1200K

1500K

1900K

2100K

0K

300K

500K600K

1000K

1200K

1500K

1900K

2100K

0K

300K

500K600K

1000K

1200K

1500K

1900K

2100K

P1 P1 P1

P2P2P2

Betriebs-system

Betriebs-system

Betriebs-system

P3

P3

P3

P4

P4

P4900K

900K

900K

??K verschoben ??K verschoben ??K verschoben

1) 3)2)

Page 18: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 18

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Speicherverwaltung

Beispiel für Beladys Optimalalgorithmus (BO):

Es wird die Seite ersetzt, auf die in der Zukunft am längsten nicht zugegriffen wird.

0 1 2 3 0 1 4 0 1 2 3 4 7

0 0 0 0 0 0 0 0 0 0 3 3 7

1 1 1 1 1 1 1 1 2 2 2 2 Speichergröße m=3; 8 Seitenfehler

2 3 3 3 4 4 4 4 4 4 4

Beispiel für Least Recently Used (LRU):

Es wird die Seite ersetzt, auf die am längsten nicht mehr zugegriffen wurde.

1 2 1 5 7 5 7 8 2 1 7 2 2 8 5 9 7 1 2 7 (19 Seitenfehler bei m=1)

1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 7 7 7 7

2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 1 1 1

5 5 5 5 5 5 1 1 1 1 1 5 5 5 5 2 2 m=4; 10 Seitenfehler

7 7 7 7 7 7 7 7 7 7 7 9 9 9 9 9

Übung: Wieviele Seitenfehler gibts beim Beladys Optimalalgorithmus?

Page 19: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 19

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben zur Vorlesung „Realzeitsysteme“

Anlage- Aufgabe synchrone Programmierung „Transportsystem“- Aufgaben Scheduling mit Template- Aufgaben Semaphore- Aufgaben Petrinetze- ……………….

Page 20: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 20

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgabe Synchrone Programmierung

Kameradaten-verarbeitung

aufrufen

t == ?

t =

Motorsteuerung aufrufen

t =

Ende der Unterbrechung

Periodische Unterbrechung im Abstand T

janein

Motorsteuerung

Kameradaten-verarbeitung

ruhend

T 2T 3T 4T 5T 6T

Teilaufgaben zur Steuerung eines fahrerlosen Transportsystems:- Task 1 übernimmt Kameradatenverarbeitung mit Periode T- Task 2 steuert den Motor mit Periode 2T1) Wie ist die Variable t im Flussdiagramm zu programmieren, damit der u.g. zeitliche Ablauf gegeben ist?2) Wie sieht Flussdiagramm und zeitlicher Ablauf aus, wenn Task 1 mit der Periode 2T und Task 2 mit der Periode 3T aufgerufen werden?3) Kann es zu einer Verletzung der Einhaltung der Periodenzeiten kommen, obwohl die Summe der Ausführungszeiten <= T ist?

Page 21: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 21

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgabe Synchrone Programmierung

Motorsteuerung

Kameradaten-verarbeitung

ruhend

T 2T 3T 4T 5T 6T 7T

Page 22: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 22

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgabe Scheduling

Aufgaben (Voraussetzung: Tasks werden EINEM Prozessor zugeteilt):1) Vergeben Sie die Prioritäten nach dem Rate Monotonic Prinzip 2) Stellen Sie den zeitlichen Verlauf aller 4 Tasks dar unter der Voraussetzung, dass alle Tasks gleichzeitig bereit sind (s. Lösungsblatt 1)3) Zeichnen Sie für die Task 3 ihre Zustände (ruhend, ablaufwillig, laufend) über eine Zeitachse von 0 bis 250 ms (s. Lösungsblatt 2).

Ausführungszeit Periodendauer Priorität

Task 1 20 ms 500 ms ?

Task 2 10 ms 40 ms ?

Task 3 30 ms 160 ms ?

Task 4 40 ms 110 ms ?

Page 23: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 23

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgabe Scheduling

Task 4

100

t [ms]

Priorität

Task 3

Task 1

50 150 200

Lösung zu Aufgabe 1:In Abhängigkeit der Periodendauer ergibt sich folgende Prioritätsvergabe:P(2) > P(4) > P(3) > P(1)

Vorlage zur Aufgabe 2:

Task 2

250

Page 24: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 24

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgabe Scheduling

100

t [ms]

Zustand von Task 3

50 150 200

Taskzustände in Abhängigkeit der Zeit

250

ruhend

ablaufwillig

laufend

blockiert

In einem rein zeitgesteuerten System entfällt der Zustand blockiert (stattdessen ruhend). In ereignisgesteuerten Systemen wartet die Task auf ein Zeitgeberereignis und ist dann dem Zustand blockiert zuzurechnen.

Page 25: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 25

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben SemaphoreÜbersicht (Dijkstra)

Einsatz von Semaphoren:• Wechselseitiger Ausschluss (INIT = 1): REQ …. Kritischer Bereich …. REL• Zählende Semaphore (INIT = N): Bis zu N verschiedene Prozesse dürfen in den kritischen Bereich

eintreten (z.B. N=4: Nutzung von vier verfügbaren Bandgeräten)• Blockierende Semaphore (INIT = 0) dient zur Prozesssynchronisation:

Nach Prozess A kommt Prozess B (Reihenfolge),P()-Operation an der Stelle, wo gewartet werden muss und V()-Operation signalisiert, dass Wartebedingung erfüllt ist

Prozess A….. REL S

REQ S…..Prozess B

Notationen:P(S) = passeeren = Verringern um den Wert 1: Request, wait, down, aquire, …V(S) = vrijgeven = Erhöhen um den Wert 1: Release, up, signal, …

Beachte:Deadlocks (Verklemmungen) entstehen, wenn die Reihenfolge der P/V-Operationen falsch gewählt wurde.

Page 26: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 26

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben SemaphoreBeispiele aus dem Internet

Philosophenproblem:http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/phil/phil.html

Durchsetzen einer Reihenfolge:http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/reihenf/reihenf.html

Wechselseitiger Ausschluss:http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/waus/waus.html

Erzeuger/Verbraucherproblem:http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/erzver/erzver.html

Page 27: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 27

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben SemaphoreAufgabe 1

Vorgegeben sind die Anordnung von Semaphor-Anweisungen am Anfang und am Ende dreier Tasks A, B und C.

In der folgenden Tabelle sind die Anfangswerte für die drei Semaphor-Variablen S1, S2 und S3 eingetragen. Ermitteln Sie für die 4 Fälle a), b), c) und d) der Tabelle, ob und in welcher Reihenfolge diese Tasks bei der angegebenen Initialisierung der Semaphor-Variablen ablaufen.

REQ S1REQ S1REQ S1Task AREL S2

REQ S2Task B REL S3REL S1

REQ S3REQ S3REQ S3Task CREL S2REL S2

Fall a) b) c) d)

S1 2 3 2 0

S2 0 0 1 0

S3 2 2 1 3

Page 28: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 28

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben SemaphoreAufgabe 2

Task C läuft an, wenn A und B abgelaufen sind.

A B

C

S2S1

Task AREL S1

Task B REL S2

REQ S1REQ S2Task C

Aufgabe: Task C läuft an, wenn A oder B abgelaufen sind.Zeichne das Petri-Netz und formuliere die Semaphor-Anweisungen.

Page 29: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 29

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben SemaphoreAufgabe 3

Gegeben ist folgendes Petri-Netz (Stellen-/Transitions-Netz) zur Beschreibung der Ablaufreihenfolge dreier Tasks A, B und C.

Wie lautet die Ablaufreihenfolge, wenn S1 = S2 = S3 = 0, S4 = 1 ist und S1 mit 1 initialisiert wird?Ergänzen Sie die Taskanweisungen für A, B und C am Anfang und am Ende mit den entsprechenden

Semaphore-Anweisungen (REQ und REL), so dass der Ablauf der o. g. Reihenfolge entspricht und kein Deadlock möglich ist?

A

B

C

S2

S4S3

S1

Init

Page 30: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 30

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben SemaphoreAufgabe 4

Durch eine geeignete Synchronisierung soll der folgende Ablauf von 4 Tasks (3 Überwachungs-tasks und 1 Protokollierungstask) erzwungen werden:

U1 P U2 P U3 P

1) Führen Sie in jeder Task die erforderlichen Semaphor-Anweisungen ein, mit denen die geforderte Reihenfolge sichergestellt ist.

2) Wie müssen die von Ihnen benutzten Semaphor-Variablen initialisiert werden, damit die geforderte Reihenfolge bei der Task U1 beginnt?

Page 31: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 31

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben PetrinetzStufenweises Vorgehen beim Modellieren

1) Interpretation für Stellen und Transitionen2) Kausalen Stellen-/Transitionszusammenhang formulieren3) Entwurf eines zusammenhängenden Prozess-Netzes4) Festlegung von Anfangsmarkierungen und Schaltregeln

Stellen (passive Elemente) Transitionen (aktive Elemente)

Zustände Übergänge

Aussagen Beweise

Reagenzien Chem. Reaktionen

Materialien Produktionsaktivitäten

Speicher Prozessoren

Gewicht n>1: Kanten bewegen beim Schalten n Marken.Kapazität k>1 : Transition t kann erst dann schalten, wenn die Kapazität keiner der Stellen

im Nachbereich von t überschritten wird.

Page 32: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 32

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben PetrinetzAufgabe 1

Bilden Sie folgenden Ablauf bei einem Frisör als Petrinetz ab; als (markenerzeugende Systemgrenzen gelten die zwei Transitionen Eingang und Ausgang:

• Im Warteraum eines Frisörs sind 10 Stühle, auf denen drei Kunden sitzen• Es gibt zwei Bedienstete, die jeweils einen Kunden bedienen; während der Bedienung kann der

Frisör den Kunden nicht wechseln• Eine Bedienung läuft immer in folgender Reihenfolge ab: Haare waschen, Haare schneiden,

Haare trocknen• Es gibt für die zwei Frisöre nur folgende Hilfsmittel: eine Schere und einen Trockner• Die Hilfsmittel werden nach Gebrauch wieder zurückgelegt bzw. frei gegeben

Hinweis: Kunden, Bedienstete und Hilfsmittel sind Stellen bzw. Marken

Page 33: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 33

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben PetrinetzAufgabe 2

Bilden Sie folgenden Ablauf einer Leiterplattenbestückung durch zwei Roboter als Bedingung/Ereignis-Netz ab:

• 2 Roboter bestücken Leiterplatten mit elektronischen Bauelementen• Bauelemente (unbestückte Leiterplatinen) werden auf einem Fließband antransportiert• Ist einer der Roboter frei, nimmt er die Leiterplatte vom Fließband und montiert die Bauelemente• Sind beide Roboter frei, wird nichtdeterministisch entschieden, wer die Leiterplatte nimmt• Nur jeweils eine Leiterplatte darf zu einem Zeitpunkt abtransportiert werden

Zusatzaufgabe:• Beim Bestücken darf

jeweils nur EIN Roboter auf das Bauelemente-Magazin zugreifen

Page 34: Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Übungen/Aufgaben zur Vorlesung Realzeitsysteme Inhalte -Übung.

Seite 34

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012

Aufgaben PetrinetzAufgabe 3

Gegeben ist folgendes Petri-Netz (Stellen/Transitions-Netz) zur Beschreibung der Ablaufreihenfolge der zwei Task A und B: ABABAB….

TeilAufgabe a: Erweitern Sie das Netz um Transitionen und Stellen, damit die Reihenfolge lautet: AABBAABB… Gewicht und Kapazität sollen weiter = 1 sein.

TeilAufgabe b: Sie können für dieselbe Reihenfolge AABBAABB… die Anzahl der Transitionen und Stellen verringern, wenn sie ein Gewicht > 1 zulassen. Zeichnen Sie ein entsprechendes Petrinetz.

A

B

S2S1

Init


Top Related