1 / 5

Synchrone Programmierung Übersicht

Synchrone Programmierung Übersicht. Das zeitliche Verhalten periodisch auszuführender Aktionen wird vor der Ausführung geplant : Zeitraster T synchronisiert die Aktionen, die nur zu ganzzahligen Vielfachen von T gestartet werden können. Reihenfolge (Priorität) ist fest vorgegeben.

yetta-owen
Download Presentation

Synchrone Programmierung Übersicht

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Synchrone ProgrammierungÜbersicht • Das zeitliche Verhalten periodisch auszuführender Aktionen wird vor der Ausführung geplant: • Zeitraster T synchronisiert die Aktionen, die nur zu ganzzahligen Vielfachen von T gestartet werden können. • Reihenfolge (Priorität) ist fest vorgegeben. • Periodenzeiten werden eingehalten, wenn die Summe der Ausführungszeiten der einzelnen Aufgaben kleiner T ist und jede längere Periodenzeit ein ganzzahliges Vielfaches der nächst kürzeren ist. • Vorteile der synchronen Programmierung: • besitzt ein festes vorhersagbares Zeitverhalten, d.h. bei richtiger Planung können Rechtzeitigkeit und Gleichzeitigkeit garantiert werden • Erlaubt einfache Analyse und einfachen Test • Sehr gut anwendbar bei zyklischen Abläufen

  2. Synchrone ProgrammierungÜbung 1 Aufgaben zur Steuerung eines fahrerlosen Transportsystems: - Task 1 übernimmt Kameradatenverarbeitung mit Periode T - Task 2 steuert den Motor mit Periode 2T 1) 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? Periodische Unterbrechung im Abstand T t = Kameradaten-verarbeitung aufrufen t == ? Motorsteuerung nein ja Kameradaten-verarbeitung Motorsteuerung aufrufen ruhend t = Ende der Unterbrechung 2T T 3T 4T 5T 6T

  3. Synchrone ProgrammierungFormen der Ablaufsteuerung • Zyklische Ablaufsteuerung: ist einfachste Form und benutzt keinerlei Zeitgeber oder Unterbrechungen • Periodendauer ist nur abh. von den Ausführungszeiten der einzelnen Aktivitäten • Für feste Dauern muss eine Warteschleife (z.B. nach Aktivität E) eingesetzt werden, in der der Prozessor eine definierte Menge von Taktzyklen verbringt • Periodendauer schwankt trotzdem, z.B. wegen Cache Miss beim ersten Durchlauf oder auch bei bedingten Aktivitäten (siehe C/D) • Weiterer Nachteil ist, dass der Prozessor immer aktiv ist Aktivität A Aktivität B C/D Aktivität C Aktivität D Aktivität E

  4. Synchrone ProgrammierungFormen der Ablaufsteuerung • Zeitgesteuerte Ablaufsteuerung: In jedem Schleifendurchlauf wird die Zeit (z.B. Auslesen eines Zählers, einer Uhr..) geprüft • Für synchrone Programmierung sehr gut geeignet, da der Zeitpunkt für die Aktionen genau gemessen und die Periodendauer damit eingehalten wird. • Schwankungen ergeben sich nur Verletzung der Bedinungen der synchronen Programmierung (s.v.) • Nachteil ist auch hier, dass der Prozessor immer aktiv ist ja Zeit A? Aktivität A nein ja Zeit B? Aktivität B nein ja Zeit C? Aktivität C nein

  5. Synchrone ProgrammierungFormen der Ablaufsteuerung • Unterbrechungsgesteuerte Ablaufsteuerung: Prozessor ist nicht immer in einer Schleife aktiv wie bei den o.g., sondern im Ruhezustand • Unterbrechung ist entweder ein periodisches Zeitereignis (von einem Zeitgeber) oder ein aperiodisches Ereignis Unterbrechung Aktivität D Aktivität C Aktivität B Aktivität A Ende der Unterbrechung • sowohl für synchrone als auch für asynchrone Programmierung geeignet. • Bei der synchronen Progr. ist die Reihenfolge fest im Programm vorgegeben. • Bei der asynchronen Progr. wird die Reihenfolge durch Prioritätenvergabe oder ähnliches zur Laufzeit bestimmt (Scheduling)

More Related