55
WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 1 Mohieddine Jelali Prozessautomatisierungstechnik 4. Echtzeitsysteme und Echtzeitprogrammierung

Prozessautomatisierungstechnik - uni-due.de · • Synchrone Programmierung ist ungeeignet für die Reaktion auf zeitlich nicht vorhersehbare (asynchrone) Ereignisse, z.B. Alarmsignal

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 1

Mohieddine Jelali

Prozessautomatisierungstechnik

4. Echtzeitsysteme und Echtzeitprogrammierung

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 2

Inhaltsangaben zu Kapitel 4

Echtzeitsysteme und Echtzeitprogrammierung

4.1 Echtzeitsysteme

4.2 Aufgaben von Echtzeitsystemen

4.3 Echtzeitsysteme – Beispiele

4.4 Anforderungen an Echtzeitsysteme

4.5 Echtzeit-Programmierverfahren

4.6 Synchronisierung von Tasks

4.7 Synchronisierungsverfahren

4.8 Scheduling-Verfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 3

4.1 Echtzeitsysteme

Automatisierung mit Echtzeitanforderungen

Automatisierungssystem

Technisches System (Produkt oder Anlage)

Schnittstelle (Kommunikation)

Schnittstelle (Aktorik)

Schnittstelle (Sensorik)

Zeitabhängige Ausgangsdaten

Zeitabhängige Eingangsdaten

Ech

tzeit

bezu

g

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 4

Echtzeitsteuerung (Real Time Control)

Bei der Datenverarbeitung in Echtzeitsystemen muss die Erfassung,

Verarbeitung und Ausgabe von (gültigen, fehlerfreien) Daten zu bestimmten,

durch das System und seinen Zustand vorgegebenen Zeitpunkten

(oder innerhalb bestimmter Zeitintervalle) erfolgen.

Das Ergebnis ist nur dann fehlerfrei, wenn es inhaltlich und zeitlich den

gestellten Anforderungen entspricht.

Echtzeitanforderungen

- Harte Anforderungen: verspätete Reaktion einer Komponente führt zum

Systemausfall, zu Schadensfällen oder zu Katastrophen.

- Weiche Anforderungen: Überschreitungen von Zeitlimits können

ausnahmsweise toleriert werden, ohne dass der technische Prozess in

gefährliche oder fatale Systemzustände übergeht.

Nichteinhaltung von vorgegebenen Reaktionszeiten führt zu ansteigenden Kosten

4.1 Echtzeitsysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 5

Komponenten eines Echtzeit-Steuerungssystems

Anwendung

Regel- und Steuerprogramm

Bedienung und Visualisierung

Echtzeit-Betriebssystem, Run-Time-System, Run-Time-Umgebung

Hardware

Schnittstelle Timer

Prozessperipherie Bus

Verarbeitungs- und Steuerungsalgorithmen

Mensch-Maschine-Schnittstelle (HMI: Human Machine Interface)

Programm zur Verwaltung der Rechenprozesse und Betriebmittel in Echtzeit

An

wen

du

ng

s-

so

ftw

are

Betr

ieb

s-

so

ftw

are

Hard

ware

4.1 Echtzeitsysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 6

Aufgaben des Timer

- zyklische Interruptgenerierung zur Realisierung von zeitabhängigen

Systemdienste („Weckrufe“)

- Zeitmessung, z.B. zur Ermittlung von Geschwindigkeiten

- Watchdog-Funktionen, z.B. zur Zeitüberwachung in kritischen Prozessen

- Zeitsteuerung für periodische Dienste, z.B. Messwertübertragung

Anforderungen bei Echtzeitprogrammierung

- Rechtzeitigkeit: Reaktion zur richtigen Zeit

- Gleichzeitigkeit: gleichzeitige Reaktion auf mehrere Dinge

- Verlässlichkeit: Zuverlässigkeit, Sicherheit, Verfügbarkeit

- Vorhersehbarkeit: Planbarkeit und Determiniertheit aller Reaktionen

4.1 Echtzeitsysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 7

4.2 Aufgaben von Echtzeitsystemen

Hauptfunktion

Steuerung und Überwachung von quasi-parallelen Teilprogrammen bei

vorgegebenen Zeitbedingungen unter Berücksichtigung von Nebenbedingungen,

wie z.B. der Prozesspriorität

Allgemeine Organisationsaufgaben

- Laden und Starten von Anwendungsprogrammen

- Organisation von Schnittstellen-Operationen (Ein- und Ausgabe,

Datentransport)

- Speichermanagement

- Klassifizierung von Fehlern und Handhabung von Ausnahmezuständen

(Neuanlauf nach Stromausfall, Alarmfunktionen usw.)

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 8

Koordinierungssaufgaben

- Entscheidung der Reihenfolge der Abarbeitung von Teilprogrammen

- Gegenseitiger Ausschluss zweier oder mehrerer Tasks, um zu verhindern,

dass mehrere Prozesse auf die gleichen Resourcen zugreifen.

- Zuordnung der Tasks zu den Prozessoren bei Multiprozessorsystemen

- Verwaltung der Systemprozesse

- Verwaltung von Interrupts

4.2 Aufgaben von Echtzeitsystemen

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 9

Verwaltung von Interrupts

- Unterbrechung des geplanten Programmablaufs

- Anstoß einer Behandlungsroutine

- Priorisierung von Interrupts

- Hardwarefunktionen für die Interrupt-Behandlung

Steuerungsprogramm

t

Steuerungsprogramm Steuerungsprogramm

ISR 1 Interrupt Service Routine

Ste

igende

Pri

o.

Interrupt 1

Geplanter Programmablauf (ohne Interrupt):

Tatsächlicher Programmablauf (mit Interrupt):

t

4.2 Aufgaben von Echtzeitsystemen

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 10

Speicherverwaltung

- Optimale Ausnutzung der “schnellen” Speicher

- Koordinierung des gemeinsamen Zugriffs auf einen Speicherbereich

- Schutz des Speicherbereichs verschiedener Rechenprozesse gegen

Fehlzugriffe

- Zuweisung von physikalischen Speicheradressen für die logischen Namen in

Anwenderprogrammen

Ein-/Ausgabesteuerung

- Hardwareunabhängige Ebene für die Datenverwaltung und den

Datentransport

- Hardwareabhängige Ebene, die alle gerätespezifischen Eigenschaften

berücksichtigt (Treiber-Programme).

4.2 Aufgaben von Echtzeitsystemen

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 11

Klassifikation und Behandlung von Fehlern und irregulärer

Betriebszustände

- fehlerhafte Benutzereingaben

- fehlerhafte Anwenderprogramme

- Hardwarefehler/-ausfälle

• Erkennung von Hardwarefehlern bzw. –ausfällen

• Rekonfigurierung ohne die fehlerhaften Teile

• Abschaltsequenzen bei Stromausfällen

- Deadlocks (Verklemmungen) aufgrund dynamischer Konstellationen

4.2 Aufgaben von Echtzeitsystemen

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 12

4.3 Echtzeitsysteme - Beispiele

Übersichtsdiagramm für ein Mini-Betriebssystem

Zeit

Zyklus Zeit- zähler

Deakti- vierung

Akti- vierung

Suche

Rechenpro

zesscode

Interrupt 1

Interrupt 2

Interrupt k

Uhrimpuls-interrupt

Exte

rne I

nte

rrupts

Unter- brechungs- verwaltung

Zeit- verwaltung

Task- verwaltung

Prozessor- verwaltung

Verwal- tungs- block

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 13

Aktuelle Beispiele für Echtzeitbetriebssysteme

- QNX: kommerzielles Unix-ähnliches Betriebssystem speziell für eingebettete

Systeme (Embedded systems); POSIX-konform (Portable operating system

interface for Unix)

- OS9: relativ stark verbreitet in Steuerungssystemen, ursprünglich für den

8-Bit-Prozessor 6809 von Motorola entwickelt.

- VxWorks (wurde bei der Pathfinder-Mission zum Mars eingesetzt)

- RTLinux: Erweiterung von Linux für Echtzeitanforderungen

- Windows CE: sehr kleines Echtzeitbetriebssystem, das auf vielen

Pocket-PCs läuft.

4.3 Echtzeitsysteme - Beispiele

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 14

4.3 Echtzeitsysteme - Beispiele

Auswahl kommerzieller Echtzeit-Betriebssysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 15

4.3 Echtzeitsysteme - Beispiele

Auswahl kommerzieller Echtzeit-Betriebssysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 16

4.4 Anforderungen an Echtzeitsysteme

Nicht-Echtzeit-Datenverarbeitung

Echtzeit-Datenverarbeitung

Zeitabhängige Eingangsdaten

Automatisierungs- system

Technischer Prozess

Daten- Verarbeitung

Zeitabhängige Ausgangsdaten

Eingangsdaten Ausgangsdaten

Daten- Verarbeitung

Eingangsdaten Ausgangsdaten

Zeit Zeit Zeit

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 17

Forderung nach Rechtzeitigkeit - unterschiedliche Fälle

Ausführung eines Programms zu bestimmten Zeitpunkten ti

Ausführung eines Programms zu bestimmten Zeitpunkten ti unter Zulassung von Toleranzintervallen

Ausführung eines Programms bis spätestens zu einem bestimmten Zeitpunkt ti

Ausführung eines Programms frühestens ab einem bestimmten Zeitpunkt ti

4.4 Anforderungen an Echtzeitsysteme

t

1

0 t1 t2 t3 t4

t

1

0 t1 t2

Toleranz- bereich

t

1

0 ti

1

0 ti t

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 18

Forderung nach Gleichzeitigkeit

- Vorgänge in Umwelt laufen gleichzeitig ab

• “gleichzeitige” Reaktion der Echtzeit-Systeme erforderlich

• Gleichzeitige Durchführung von mehreren Datenverarbeitungsaufgaben

- Beispiele:

• Reaktion auf gleichzeitige Fahrt mehrerer Züge

• Verarbeitung mehrerer gleichzeitig anfallender Messwerte bei einer

Heizungsregelung

• Motorsteuerung und ABS-System gleichzeitig

- Realisierung der Gleichzeitigkeit:

• Ideal: Getrennter Rechner für jede Datenverarbeitungsaufgabe

echt parallel

• Praxis: Einen Rechner führt alle Datenverarbeitungsaufgaben durch.

quasi-gleichzeitig / quasi-parallel

4.4 Anforderungen an Echtzeitsysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 19

Forderung nach Vorhersagbarkeit/Determiniertheit

- Determiniertheit:

• Eindeutige Bestimmbarkeit der Menge von Ausgangsinformationen und

des nächsten Zustandes für jeden möglichen Zustand und für jede Menge

an Eingangsinformationen

• Voraussetzung: endliche Menge von Systemzuständen; bei digitalen

Rechnersystemen immer gegeben.

- Zeitliche Determiniertheit:

Antwortzeit für jede Menge von Ausgangsinformationen bekannt!

- Determiniertheit als elementar wichtige Eigenschaft für harte Echtzeitsysteme:

• Voraussetzung für Garantie der Sicherheit bei sicherheitskritischen

Systemen

• Geringste zeitliche Verschiebungen können zu vollkommen

unterschiedlichen Abläufen führen.

4.4 Anforderungen an Echtzeitsysteme

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 20

4.5 Echtzeit-Programmierverfahren

Synchrone Programmierung

- Prinzip:

Planung des zeitlichen Ablaufs vor der Ausführung der Programme

- Vorgehensweise:

• Teilprogramme werden zyklisch abgearbeitet.

• Zyklischer Ablauf wird mit Hilfe einer Echtzeituhr über ein vorgegebenes

Zeitraster synchronisiert. (Zeittriggerung)

• Reihenfolge der Teilprogramme wird vorher festgelegt.

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 21

Synchrone Programmierung

- Beispiel:

Heizungsregelung;

Aufgabenstellung

4.5 Echtzeit-Programmierverfahren

T3 = 5T

Teilstrecke 1 „Heizkreis Wohnung“

Teilstrecke 2 „Heizkreis Büro“

Teilstrecke 3 „Heizkessel“

REGLER 3

REGLER 2

REGLER 1

AD

U

y1(t)

y2(t)

y3(t)

u1(t)

u2(t)

u3(t)

DAU

Bedien- terminal

Echtzeit- Uhr

Vorlauf-temperatur

Raum-temperatur Büro

Raum-temperatur Wohnung

T3 = 2T

T3 = T

Automatisierungsrechner

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 22

Synchrone Programmierung

- Beispiel:

Heizungsregelung;

Grobentwurf des

Steuerungsprogramms

4.5 Echtzeit-Programmierverfahren

ANFANG

Interruptsignale von der Echtzeit-Uhr mit der Zykluszeit T

Alle T1 = T REGLER 1 aufrufen

Alle T2 = 2T REGLER 2 aufrufen

Alle T3 = 5T REGLER 3 aufrufen

Warteschleife

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 23

Synchrone Programmierung

- Beispiel:

Heizungsregelung; Feinentwurf des

Steuerungsprogramms

4.5 Echtzeit-Programmierverfahren

ANFANG

Definition der Zählvariablen Z2 und Z3

Warteschleife

Z2:=1 Z3:=1

REGLER1 abarbeiten

REGLER2 abarbeiten

REGLER3 abarbeiten

Z3:=5?

Z3:=1

Z2:=2?

Z2=1

Im Zeitabstand T aufeinanderfolgende Interruptsignale bewirken Start an dieser Stelle

Z3:=Z3+1

Z2:=Z2+1

ja

ja

nein

nein

Z2 und Z3 initialisieren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 24

ca. 5T

T 2T

1T 2T 3T 4T 5T 6T 7T 8T 9T 10T 11T

Synchrone Programmierung

- Beispiel:

Heizungsregelung;

Zeitlicher Ablauf der

Teilprogramme

Annahmen: - Rechenzeit für Teilprogramme gleich groß - Summe der Rechenzeiten der drei Teilprogramme kleiner als Zykluszeit

4.5 Echtzeit-Programmierverfahren

t

REGLER3

REGLER2

REGLER1

Steuerprogramm

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 25

Synchrone Programmierung

- Eigenschaften:

• Forderung nach Rechtzeitigkeit wird nur näherungsweise erfüllt.

• Forderung nach Gleichzeitigkeit wird erfüllt, wenn Zykluszeiten der

Regelstrecken groß sind gegenüber den Rechenzeiten der Teilprogramme.

• Synchrone Programmierung ist gut für Echtzeit-Systeme mit

zyklischen Programmabläufen.

• Synchrone Programmierung ist ungeeignet für die Reaktion auf zeitlich

nicht vorhersehbare (asynchrone) Ereignisse, z.B. Alarmsignal

„Brennerstörung“ im Bespiel der Heizungsregelung.

Erhöhung der Rechenzeit durch ständiges Abfragen,

Verzögerung der Reaktion

• Gesamte Programmstruktur muss geändert werden, wenn die

Aufgabenstellung geändert wird.

Steuerprogramm ist unflexibel.

4.5 Echtzeit-Programmierverfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 26

Asynchrone Programmierung/Parallelprogrammierung

- Prinzip:

Organisation des zeitlichen Ablaufs während der Ausführung der Programme

- Vorgehensweise:

• Aufruf der Teilprogramme erfolgt nach Zeitbedingungen und Anforderungen

aus dem Prozess.

• Konfliktsituation wird durch bestimmte Strategie (Scheduling-Strategie)

gelöst.

- Typische Scheduling-Strategie:

• Vergabe von Prioritäten

• Priorität umso höher, je niedriger die Prioritätsnummer

4.5 Echtzeit-Programmierverfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 27

Asynchrone Programmierung/Parallelprogrammierung

- Beispiel:

Heizungsregelung;

Aufgabenstellung

4.5 Echtzeit-Programmierverfahren

T3 = 5T

Teilstrecke 1 „Heizkreis Wohnung“

Teilstrecke 2 „Heizkreis Büro“

Teilstrecke 3 „Heizkessel“

REGLER 3

REGLER 2

REGLER 1

AD

U

y1(t)

y2(t)

y3(t)

u1(t)

u2(t)

u3(t)

DAU

Bedien- terminal

Echtzeit- Uhr

Vorlauf-temperatur

Raum-temperatur Büro

Raum-temperatur Wohnung

T3 = 2T

T3 = T

Automatisierungsrechner

Brenner

Alarm Brenner-störung

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 28

Asynchrone Programmierung/Parallelprogrammierung

- Beispiel:

Heizungsregelung: Zuordnung von Prioritäten

4.5 Echtzeit-Programmierverfahren

Teilprogramm Bezeichner Abtastzeit Prioritäts-nummer

Priorität

Reaktion auf Brennerstörung mit Alarmmeldung

ALARM - 1 höchste

Temperatur-Regler 1 für „Heizkreis Wohnung“

REGLER1 T1 = T 2 zweithöchste

Temperatur-Regler 2 für „Heizkreis Büro“

REGLER2 T2 = 2T 3 dritthöchste

Temperatur-Regler 3 für „Heizkessel“

REGLER3 T3 = 5T 4 niedrigste

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 29

Asynchrone Programmierung/Parallelprogrammierung

- Beispiel:

Heizungsregelung: Zeitlicher Verlauf der Teilprogramme

4.5 Echtzeit-Programmierverfahren

REGLER3 (Priorität 4) REGLER2

(Priorität 3)

REGLER1 (Priorität 2)

ALARM (Priorität 1)

REGLER3

REGLER2

REGLER1

ALARM

Betriebssystem

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 30

Asynchrone Programmierung/Parallelprogrammierung

- Eigenschaften:

• Forderung nach Rechtzeitigkeit wird nur näherungsweise erfüllt;

Je höher die Priorität ist, desto besser wird die Anforderung erfüllt.

• Ist-Zeitablauf kann sich gegenüber Soll-Zeitablauf stark verschieben,

dass sich Teilprogramme gegenseitig überholen können.

• Aufeinanderfolge der Teilprogramme ist nicht determiniert; Sie kann durch

sporadisch auftretende Ereignisse dynamisch beeinflusst werden.

• Bei Programmerstellung lässt sich nicht im Voraus angeben, welches

Teilprogramm zu welchem Zeitpunkt ablaufen wird.

einfache Entwicklung,

Komplexität im Verwaltungsprogramm,

Programmablauf schwer durchschaubar

4.5 Echtzeit-Programmierverfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 31

Rechenprozess = Task

ein von einem Echtzeit-Betriebssystem gesteuerter Vorgang der Abarbeitung

eines sequenziellen Programms

4.6 Synchronisierung von Tasks

Grundzustände von Tasks

- „ablaufend (running)“:

• Teilprogramm ist in Bearbeitung.

- „bereit/ablaufwillig (runnable)“:

• alle Zeitbedingungen für den Ablauf sind erfüllt.

• Es fehlt der Start durch das Betriebssystem.

- „blockiert (suspended)“:

• Rechenprozess wartet auf den Eintritt eines Ereignisses

• Wenn das Ereignis eingetreten ist, Übergang aus dem Zustand “blockiert”

in den Zustand “bereit”.

- „ruhend (dormant)“:

• Rechenprozess ist nicht ablaufbereit, weil Zeitbedingungen oder sonstige

Voraussetzungen nicht erfüllt sind.

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 32

Zustandsdiagramm einer Task

Einplanung bedeutet:

- die Beauftragung eines Rechenprozesses

zyklisch oder zu bestimmten Zeiten

- der Übergang vom Zustand “ruhend” in den

Zustand “bereit”

4.6 Synchronisierung von Tasks

ruhend

blockiert bereit

laufend

Vereinbarung der Task

Löschen der Task

Einplanung

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 33

t

Beispiel zum Zustandsverlauf

Task REGLER3 bei der Heizungsregelung

REGLER 1/2 (höhere Prio.) läuft ab.

4.6 Synchronisierung von Tasks

Task REGLER3 ist:

ablaufend (aktiv)

blockiert ablaufwillig (bereit) ruhend

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

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 34

Prioritätsvergabe für Tasks

- statische Prioritätsvergabe

- dynamische Prioritätsvergabe (z.B. durch Verwendung von Deadlines)

Zeitparameter einer Task

A: Arrival time (Ankunftszeitpunkt)

R: Request time (Einplanungszeitpunkt)

S: Start time (Startzeit, Zuteilung eines Betriebsmittels)

C: Completion time (Beendigungszeitpunkt)

D: Deadline (Maximalzeit)

E: Execution time (maximale Ausführungsdauer)

P: Period time (maximale Antwortzeit)

L: Laxity (Spielraum)

F(t): Flow time (Antwortzeit)

RF(t): Remaining flow time (Restantwortzeit)

4.6 Synchronisierung von Tasks

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 35

Auftreten der Zeitparameter einer Task

A R S C E D E

E(t) = Ealt(t) + Eneu(t)

L = D S E

A: Arrival time

R: Request time

S: Start time

C: Completion time

D: Deadline

L: Laxity

4.6 Synchronisierung von Tasks

t

Antwortzeit F(t) Restantwortzeit RF(t)

Maximale Antwortzeitdauer P

Spielraum L Maximale

Ausführungsdauer E

Ealt(t) Eneu(t)

Task-

zustände

„laufend“

„blockiert“

„bereit“

„ruhend“

A R S C D Betrachtungs-

zeitpunkt

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 36

4.6 Synchronisierung von Tasks

Begriffe

- Synchronisierung: zeitliche Koordinierung

- Zwei Aktionen (Threads) in Tasks heißen parallel, wenn sie gleichzeitig

ablaufen können.

- Zwei Aktionen heißen sequenziell, wenn sie in einer bestimmten Reihenfolge

angeordnet sind.

- Zwei Aktionen aus zwei verschiedenen Tasks heißen nebenläufig, wenn sie

gleichzeitig ablaufen können (äußere Parallelität).

- Zwei Aktionen einer Task heißen simultan, wenn sie gleichzeitig ausgeführt

werden können (innere Parallelität).

Abhängigkeiten zwischen Tasks

- Logische Abhängigkeiten aufgrund der Vorgänge im technischen Prozess

- Abhängigkeiten durch die gemeinsame Benutzung von Betriebsmitteln (d.h.

Geräten oder Programmen)

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 37

4.6 Synchronisierung von Tasks

Beispiel zur Abhängigkeit von Tasks

- Tasks 1 und 2 benutzen gemeinsam die Betriebsmittel Protokolldrucker und

Analog-Eingabe. Task 1: Messwert- erfassung

Task 2: Prozess-

überwachung

Treiberprogramm für Protokoll-

drucker belegen

Störungsmeldung an Protokoll-

drucker ausgeben

Prozessgrößen einlesen und überwachen

Analog- Eingabe belegen

Analog- Eingabe belegen

Betriebsmess- werte einlesen

und umrechnen

Ausdruck Betriebsmesswerte

und Uhrzeit

Treiberprogramm für Protokoll-

drucker belegen

Verklemmung (Deadlock)

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 38

Logische (aufgaben-/oder prozessorientierte) Synchronisierung

- Anpassung des Ablaufs der Rechenprozesse an den Ablauf der Vorgänge im

technischen Prozess

- Synchronisierung bedeutet:

Erfüllung von Anforderungen bezüglich der Reihenfolge von Aktionen

Berücksichtigung vorgegebener Zeitpunkte bzw. Zeitabstände

Reaktionen auf Unterbrechungsmeldungen aus dem technischen Prozess

Betriebsmittelorientierte Synchronisierung

Einhaltung von Bedingungen bezüglich der Verwendung gemeinsam benutzter

Betriebsmittel (Ressourcen)

4.6 Synchronisierung von Tasks

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 39

4.7 Synchronisierungsverfahren

Grundgedanke der Synchronisierung

- Rechenprozess muss warten, bis ein bestimmtes Signal bzw. Ereignis eintrifft.

- Einfügen von Wartebedingungen an den kritischen Stellen

Verfahren

- Semaphorkonzept

- kritische Regionen

- Rendez-Vous-Konzept

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 40

Semaphorkonzept

- Synchronisierung von Rechenprozessen durch Signale (nach Dijkstra)

- Einführung von zwei Semaphor-Variablen:

V(S) und P(S) (positive, ganzzahlige Werte)

V(Si): Verlassen-Operation:

Si Si + 1; Task wird fortgesetzt.

P(Si): Passieren-Operation:

Si wird abgefragt:

Si > 0: Si Si 1; Task wird fortgesetzt.

Si = 0: Si bleibt unverändert; Task geht in den Zustand „blockiert“ über.

Ein Verlassen dieses Zustandes ist nur möglich, wenn diese

Semaphor-Variable Si in einer anderen Task inkrementiert wird.

4.7 Synchronisierungsverfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 41

Semaphorkonzept

- Beispiel 1:

Zugverkehr über eine

eingleisige Strecke

P(S1) P(S2)

V(S2) V(S1)

Gleismagnet Gleismagnet

Gleismagnet Gleismagnet

Signal S2 Signal S1

Fahrt

richtu

ng

der

Züge

Anfangsbedingungen: S1 = 1 („grün“) S2 = 0 („rot“)

Ablaufreihenfolge: ABAB…

4.7 Synchronisierungsverfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 42

Semaphorkonzept

- Beispiel 2:

Zwei Rechenprozesse

A und B sollen stets

abwechselnd laufen.

Logische Synchronisierung

4.7 Synchronisierungsverfahren

t t

S1 = 1 S2 = 0

S1 = 0

S2 = 1

P(S1)

V(S2)

S2 = 0

S1 = 1

P(S2)

V(S1)

S1 = 0

S2 = 1

P(S1)

V(S2)

S2 = 0 P(S2)

Task A

Task B

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 43

Kommunikation zwischen Tasks

Kommunikation: Austausch von Daten zwischen parallel ablaufenden Tasks

Möglichkeiten der Datenkommunikation

- Direkter Datenaustausch (Rendez-vous)

- Gemeinsam benutzter Speicher (Shared memory)

gemeinsame Variable

gemeinsame komplexe Datenstruktur

- Versenden von Nachrichten (Messages)

Übertragung von Nachrichten von einem Rechenprozessor zu einem anderen

(Message passing)

vor allem bei verteilten Systemen

Arten der Kommunikation

- Synchron: sendende und empfangende Task kommunizieren an einer

definierten Stelle im Programmablauf.

- Asynchron: Daten werden gepuffert.

4.7 Synchronisierungsverfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 44

Begriffe

- Scheduling (Planung): Vergabe des Prozessors an ablaufbereite

Rechenprozesse nach einem festgelegten Algorithmus (Scheduling-Verfahren)

- Scheduler (Planer): Teil eines Echtzeit-Betriebssystems zur Zuteilung des

Prozessors

- Schedule (Plan): vom Scheduler erzeugte Ablauf- und Zuteilungsplan

Notwendigkeit des Scheduling von Tasks

- Tasks benötigen Ressourcen (Prozessor, Ein-/Ausgabegeräte usw.)

- Ressourcen sind knapp

- Tasks konkurrieren um Ressourcen

- Zuteilung der Ressourcen muss verwaltet werden.

4.8 Scheduling-Verfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 45

4.8 Scheduling-Verfahren

Grundsatzfragen zum Scheduling

1. Gibt es für einen Taskset einen ausführbaren Plan (Schedule)?

(Schedulability test)

2. Gibt es einen Algorithmus, der einen ausführbaren Schedule findet?

3. Ist der Algorithmus optimal in dem Sinne, dass er immer einen gültigen

Schedule findet, wenn dies durch eine Ausführbarkeitstest nachgewiesen

wurde?

Scheduling-Verfahren

statisch dynamisch

Nicht-preemptiv preemptiv Nicht-preemptiv preemptiv

Klassifizierung

Zeitpunkt der Planung

Art der Durchführung

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 46

Statisches Scheduling Synchrone Programmierung

- Planung des zeitlichen Ablaufs der Tasks erfolgt vor der Ausführung

(Dispatching table) vorhersehbar, aber unfexibel

- Berücksichtigung von Informationen über Taskset, Deadlines,

Ausführungszeiten, Reihenfolgebeziehungen, Ressourcen

- Dispatcher macht Zuteilung gemäß Dispatching Table

- minimaler Laufzeit-Overhead

- determiniertes Verhalten

Dynamisches Scheduling Asynchrone Programmierung

- Organisation des zeitlichen Ablaufs während der Ausführung der Tasks

- erheblicher Laufzeit-Overhead durch die „Online-Suche“ nach einem

ausführbaren Schedule

4.8 Scheduling-Verfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 47

Preemptives Scheduling

- Laufende Task kann unterbrochen werden.

- Höherpriore Task verdrängt niederpriore Task.

Nicht-preemptives Scheduling

- Laufende Task kann nicht unterbrochen werden.

- Prozessorfreigabe erfolgt durch die Task selbst.

Wichtigste Scheduling-Verfahren

- FIFO-Scheduling (First-in-first-out)

- Zeitscheibenverfahren

- Scheduling mit festen Prioritäten

- Ratenmonotones Scheduling

- Verfahren der kleinsten Restantwortzeit

- Verfahren des kleinsten Spielraums

4.8 Scheduling-Verfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 48

FIFO-Scheduling

- Nicht-preemptives Scheduling

- Task, deren Einplanung am weitesten zurückliegt, bekommt Prozessor.

Beispiel:

Einfache Realisierung, aber ungeeignet für harte Echtzeitsysteme!

Tasks werden in der Reihenfolge ausgeführt, in der sie ablauffähig werden:

4.8 Scheduling-Verfahren

t

Task A bereit

Task B bereit

Task C bereit Task D bereit

t

A B C D

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 49

Zeitscheibenverfahren (Round-Robin-Verfahren)

- Jede Task bekommt einen festgelegten Zeitschlitz, zu der sie den Prozessor

bekommt.

- Reihenfolge wird statisch festgelegt.

- Abarbeitung einer Task “Stück für Stück”

- Verwendung bei Dialogsystemen (Multi-Tasking-Systeme)

Ungeeignet für harte Echtzeitsysteme!

Beispiel:

4 Tasks mit Zeitdauern: A: 25ms, B: 20ms, C: 30ms, D: 20ms

Jeder Zeitschlitz sei 10ms groß.

Reihenfolge der zyklischen Abarbeitung: A-B-C-D

4.8 Scheduling-Verfahren

t [ms]

A B C D A B C D A C

10 30 50 70 90 110

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 50

Scheduling mit festen Prioritäten

- Prioritäten werden statisch vergeben.

- Task mit höchster Priorität bekommt Prozessor.

- Preemptive und nicht-preemptive Strategie ist möglich.

- einfache Implementierung

Nur bedingt geeignet für harte Echtzeitsysteme!

Beispiel:

Bei Tasks mit gleicher Priorität: weitere unterlagerte Bedingung nötig.

* FIFO-Scheduling: A war zuerst ablauffähig.

4.8 Scheduling-Verfahren

Task Prio.

A 1 höchste Prio.

B 1

C 2

D 3

E 3

t

A* B C D E

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 51

Ratenmonotones Scheduling

(Rate-Monotonic-Verfahren)

- Spezialfall des Verfahrens mit festen Prioritäten für zyklische Tasks

- Task mit kleinster Zykluszeit (Periode) erhält höchste Priorität.

- preemptive Strategie

Verfahren wird in der Praxis häufig verwendet!

Beispiel:

Erste geplante Ausführung aller Tasks bei t = 0 ms Danach werden die Tasks zyklisch wiederholt.

Task D wird unterbrochen.

4.8 Scheduling-Verfahren

Task Ausführungs- dauer

Zykluszeit

A B C D

10 ms 20 ms 10 ms 20 ms

40 ms 50 ms 80 ms 100 ms

t [ms]

A1 B1 C1 A2 B2 D1a A3 C2 B3 A4 D1b

20 40 60 80 100 120 0 140

Prio.

1 2 3 4

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 52

Verfahren der kleinsten Restantwortzeit

(Earliest-Deadline-First-Verfahren)

- Task mit kleinster Restantwortzeit bekommt Prozessor.

- preemptives Vorgehen

- hoher Rechenaufwand für das Scheduling

- Einhaltung von zeitlichen Anforderungen wird speziell unterstützt.

Beispiel:

Deadline von B ist früher als von A.

Deadline von E ist früher als von D. Unterbrechung

4.8 Scheduling-Verfahren

Task Dauer tmin tmax

A B C D E

10 ms 10 ms 30 ms 40 ms 10 ms

0 ms 0 ms 30 ms 50 ms 70 ms

40 ms 30 ms 100 ms 200 ms 90 ms

tmin: frühester Termin tmax: spätester Termin = Deadline

t [ms]

B A C Da E Db

20 40 60 80 100 120 0

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 53

Verfahren des kleinsten Spielraums

(Least-Laxity-Verfahren)

- Task mit kleinstem Spielraum erhält Prozessor.

- Berücksichtigung von Deadlines und Ausführungsdauern

- sehr aufwendiges Verfahren

Beispiel:

Am besten geeignet für harte Echtzeitsysteme!

4.8 Scheduling-Verfahren

Task Dauer Einplanung Deadline

A B C D E

30 ms 10 ms 30 ms 40 ms 10 ms

0 ms 0 ms 30 ms 50 ms 70 ms

40 ms 30 ms 100 ms 200 ms 90 ms

t [ms]

Aa C E D

20 40 60 80 100 120 0

B Ab

Spielraum

10 20 40 110 10

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 54

Ausführbarkeitstest (Schedulability Test)

Unter einem Schedulability-Test versteht man die Prüfung, ob der zeitliche

Ablauf für einen Taskset so geplant werden kann, dass jede Task ihre Deadline

einhält.

Theorem von Liu und Layland (Teil I)

Eine beliebige Menge periodischer Tasks (Deadline = Periodendauer) kann durch

das preemptive Earliest-Deadline-First-Verfahren ausgeführt werden, wenn

gilt (notwendige und hinreichende Bedingung):

1

1n

i

i i

C

T

mit:

n: Anzahl der Tasks

Ci: Ausführungszeit der Task i

Ti: Zykluszeit der Task i

4.8 Scheduling-Verfahren

WS 2013/14 Vorlesung: Prozessautomatisierung,· Prof. Dr.-Ing. Mohieddine Jelali 55

Theorem von Liu und Layland (Teil II)

Eine beliebige Menge periodischer Tasks (Deadline = Periodendauer) kann

durch das Rate-Monotonic-Verfahren ausgeführt werden, wenn gilt

(hinreichende Bedingung):

1

*

1

*

1

*

2

*

3

*

2 1 , 1,2,

1,0

0,828

0,779

ln 2 0,693

ni n

n

i i

CU n n

T

U

U

U

U

mit:

Ui: Utilization (Prozessorauslastung): ii

i

CU

T

4.8 Scheduling-Verfahren