Home >Documents >Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012...

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

Date post:05-Apr-2015
Category:
View:109 times
Download:5 times
Share this document with a friend
Transcript:
  • Folie 1
  • 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 Taskzustnde -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 -.
  • Folie 2
  • Seite 2 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 4 Personen wollen Wsche waschen, trocknen und bgeln; Waschen dauert 30 min, Trocknen 40 min und Bgeln 20 min. Architekturen von Realzeitsystemen bung 3: Wie lange dauern die Aktionen ohne Pipelining? Wie lange dauern die Aktionen mit Pipelining? Pipeline-Verarbeitung von Befehlen: Takt
  • Folie 3
  • 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 - Auslsemagnet; 8 - Schaltrelais (oder Triac); 9 - Stopptaste 10 - Drehschalter; 11 - Kontrollanzeige. Wir legen die Brotscheiben ein und drcken 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 Auslsemagnet 7 erregt und somit Rastung 6 ausgelst. Daraufhin drckt 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 Brunungsgrades) vorgesehen. Das Toasten selbst beruht auf einer Erregung der Heizwendel 3. Hierzu muss das Schaltrelais 8 erregt werden.
  • Folie 4
  • 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 fr jedes Ereignis ein eigenstndiges Flussdiagramm erstellen. Die Programme mssen dann durch einen Interrupthandler gestartet werden. Ist was zu erledigen ? erledigen Ereignis 1 erledigen Stop Ereignis 2 erledigen Stop
  • Folie 5
  • Seite 5 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Task-Verwaltung - ne ru - 1 ne re ru - 23456789101112131415161718192021 - - ne - 0 P2 P3 P1 P4 TaskAnkunf tszeit Drucken nach Zeiteinheit Bentigte Zeiteinheiten im Zustand running P1056 P2247 P31-2 P4413 Taskzustnde 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 bentigen 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 mchte. Whrend der 4 Zeiteinheiten dauernden Druckphase wird der Prozessor fr 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 Prozesszustnde 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 knnen Prozesse, die ihren Druckvorgang beendet haben, direkt in den Zustand running wechseln, ohne vorher eine Zeiteinheit im Zustand ready verbringen zu mssen (gilt nur fr diese bung). Unterscheiden sie zum besseren Verstndnis beim Zustand suspended zwischen blocked (Drucker ist fremdbelegt) und waiting (Drucker ist eigenbelegt, d.h. Task druckt gerade selber).
  • Folie 6
  • 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 fr 1. Aus- Fhrung von Task 2 0 TaskAnkunftszeitAusfhrungszeit A0 ms4 ms B2 ms3 ms C4 ms6 ms D11 ms3 ms E12 ms6 ms Task C Task B Task A
  • Folie 7
  • 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 Langlufer Beispiel aus dem tglichen Leben: analoges Problem an Supermarktkassen Lsung hier: Schnellkassen fr Kunden mit maximal 10 Artikeln Entsprechend beim CPU-Scheduling: ausfhrungszeitabhngige Strategien Shortest-Processing-Time-First (SPT), auch Shortest-Job-First (SJF) Voraussetzung: Ausfhrungszeit der Tasks ist bekannt Man kann zeigen, dass die mittlere Reaktionszeit von SPT fr die Klasse der nicht-premptiven Strategien minimal ist, d.h. SPT ist die optimale Strategie bzgl. der Wartezeit. bung: Zeichnen Sie den Ablauf der einzelnen Tasks und berechnen Sie die durchschnittliche Reaktionszeit (Wartezeit) dieser Tasks fr FIFO und SPT unter der Voraussetzung, dass alle zum Zeitpunkt T=0 kurz hintereinander eintreffen: A,B,C,D. TaskAusfhrungszeit A6 ms B8 ms C7 ms D3 ms
  • Folie 8
  • 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 fr 1. Aus- Fhrung von Task 2 0 TaskAnkunftszeitAusfhrungszeit A0 ms4 ms B2 ms3 ms C4 ms6 ms D11 ms3 ms E12 ms6 ms Task C Task B Task A
  • Folie 9
  • Seite 9 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Realzeitscheduling Scheduling mit festen Prioritten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Zuteilung der Prioritten gem dem Rate Monotonic Prinzip ist essentiell! Wrde man keine Premption zulassen oder die Prioritten anders herum verteilen, so wrde im obigen Beispiel Task 2 ihre Zeitschranken verletzen. Zeichnen Sie dazu die Ablufe: bung1: Vertauschen Sie beim Beispiel auf Seite 24 die Prioritten, so dass gilt: bung2: Ablauf ohne Premption. TaskPeriode p i Ausfhrungszeit e i Prioritt 1150 ms15 ms1 (hoch) 210 ms1 ms2 (niedrig)
  • Folie 10
  • Seite 10 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Realzeitscheduling bung zum Scheduling-Verfahren Gegeben ist nebenstehender Taskplan. Bitte fllen 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 Prioritten gesetzt werden mssen, soll dies gem der Buchstabenreihenfolge im Alphabet erfolgen. Falls eine Zeitscheibe notwendig ist, ist diese mit 10 ms anzunehmen. TaskDauer in ms Ankunftszeit in ms Deadline in ms A4010keine B10 30 C20050 D30 80 10 ms20 ms30 ms40 ms50 ms60 ms70 ms80 ms90 ms100 ms 1. 2. 3. 4.
  • Folie 11
  • 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 Prioritt, A hat die hchste) benutzen exklusiv zwei gemeinsame Speicherbereiche, die jeweils durch eine Semaphore geschtzt werden (gestr. Linie = Programmcode, nT = Ausfhrungsdauer). Tragen Sie den zeitlichen Verlauf mit den entsprechenden Taskzustnden (blockiert = wartet auf Sema, ablaufwillig = durch hhere Prio verdrngt) der zwei Tasks im Bereich 0 P(3) > P(1) Vorlage zur Aufgabe 2: Task 2 250
  • Folie 24
  • Seite 24 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Nov 2012 Aufgabe Scheduling 100 t [ms] Zustand von Task 3 50 150 200 Taskzustnde in Abhngigkeit der Zeit 250 ruhend ablaufwillig laufend blockiert In einem rein zeitgesteuerten System entfllt der Zustand blockiert (stattdessen ruhend). In ereignisgesteuerten Systemen wartet die Task auf ein Zeitgeberereignis und ist dann dem Zustand blockiert zuzurechnen.
  • Folie 25
  • 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 Zhlende Semaphore (INIT = N): Bis zu N verschiedene Prozesse drfen in den kritischen Bereich eintreten (z.B. N=4: Nutzung von vier verfgbaren Bandgerten) 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 erfllt 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 = Erhhen um den Wert 1: Release, up, signal, Beachte: Deadlocks (Verklemmungen) entstehen, wenn die Reihenfolge der P/V-Operationen falsch gewhlt wurde.
  • Foli
Embed Size (px)
Recommended