5 Echtzeit-Programmierung

Größe: px
Ab Seite anzeigen:

Download "5 Echtzeit-Programmierung"

Transkript

1 Kapitel 5: Echtzeitprogrammierung 5 Echtzeit-Programmierung Lernziele: Wissen, was man unter Echtzeit-Programmierung versteht Die Forderungen bei der Echtzeit-Programmierung kennen Zwischen harter und weicher Echtzeit unterscheiden können Wissen, was man unter synchroner Programmierung versteht Die asynchrone Programmierung kennen Erklären können, was Rechenprozesse sind Wissen, welche Möglichkeiten zur zeitlichen Synchronisierung es gibt Semaphorvariablen anwenden können Verstanden haben, was Scheduling-Verfahren sind Die unterschiedlichen Scheduling-Verfahren anwenden können Wissen, was ein Schedulability-Test ist 2015, IAS Universität Stuttgart 246

2 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 247

3 5.1 Problemstellung Was heißt Echtzeit-Programmierung? Nicht-Echtzeit-Datenverarbeitung Richtigkeit des Ergebnisses Echtzeit-Datenverarbeitung Richtigkeit des Ergebnisses Rechtzeitigkeit des Ergebnisses nicht zu früh, nicht zu spät 2015, IAS Universität Stuttgart 248

4 5.1 Problemstellung NICHT-ECHTZEIT-DATENVERARBEITUNG: Eingangsdaten Datenverarbeitung Ausgangsdaten ECHTZEIT-DATENVERARBEITUNG: Zeit Zeit Zeit Eingangsdaten Datenverarbeitung Ausgangsdaten 2015, IAS Universität Stuttgart 249

5 5.1 Problemstellung Echtzeitprogrammierung (Realzeit-Programmierung) Erstellung von Programmen so, dass bei der Datenverarbeitung im Computer die zeitlichen Anforderungen an die Erfassung der Eingabedaten, an die Verarbeitung im Computer und an die Ausgabe der Ausgabedaten erfüllt werden. Zeitanforderungen Zeitliche Anforderungen abhängig von den zeitlichen Abläufen im technischen Prozess Koordination mit dem technischen Prozess Echtzeit: den echten Zeitabläufen entsprechend, keine Zeitdehnung, keine Zeitraffung Arten von Anforderungen an das zeitliche Verhalten der Datenverarbeitung Forderungen nach Rechtzeitigkeit Forderungen nach Gleichzeitigkeit 2015, IAS Universität Stuttgart 250

6 5.1 Problemstellung Zusammenspiel technischer Prozess und AT-System zeitabhängige Ausgabedaten Technischer Prozess zeitabhängige Eingabedaten Automatisierungs- system Bsp: Automatisierungssystem Technischer Prozess Fehlfunktion bei zu früh/zu spät ankommenden Sensor-/ Aktorwerten! 2015, IAS Universität Stuttgart 251

7 5.1 Problemstellung Unterschiede zwischen Informations- und Echtzeitsystemen Informationssysteme datengesteuert komplexe Datenstrukturen große Menge an Eingabedaten I / O -intensiv hardwareunabhängig Echtzeitsysteme ereignis-/zeitgesteuert einfache Datenstrukturen kleine Menge an Eingabedaten rechenintensiv hardwareabhängig 2015, IAS Universität Stuttgart 252

8 5.1 Problemstellung Wichtige Begriffe (2) Harte Echtzeitsysteme Einhaltung von strengen Zeitschranken (Deadlines) ist unabdingbar Bsp.: Weiche Echtzeitsysteme DDC-Regelungen in Flugzeugen, Motorsteuerungen im Kraftfahrzeug Systeme bei denen eine Verletzung von Zeitschranken toleriert werden kann. Nutzen Deadline Harte Echtzeitsysteme Weiche Echtzeitsysteme Zeit 2015, IAS Universität Stuttgart 253

9 5.1 Problemstellung Forderung nach Rechtzeitigkeit rechtzeitiges Abrufen der Eingabedaten rechtzeitige Durchführung der Verarbeitung rechtzeitige Ausgabe der Ausgabedaten Zeitbedingungen im Zusammenhang mit Rechtzeitigkeit: Absolutzeitbedingungen Bsp.: 11:45 Signal zur Abfahrt Relativzeitbedingungen Bsp.: wenn ein Messwert einen Grenzwert überschreitet, nach 10 Sekunden Abschaltsignal 2015, IAS Universität Stuttgart 254

10 5.1 Problemstellung Klassifizierung von Zeitbedingungen (1) Ausführung einer Funktion zu festen Zeitpunkten t 1, t 2, t t 1 t 2 t 3 t 4 t Ausführung einer Funktion in einem zu jedem Zeitpunkt t 1 zugeordneten Toleranzintervall Toleranzbereich 1 0 t 1 t 2 t 2015, IAS Universität Stuttgart 255

11 5.1 Problemstellung Klassifizierung von Zeitbedingungen (2) Ausführung einer Funktion in einem Zeitintervall bis zu einem spätesten Zeitpunkt t t 1 t Ausführung einer Funktion in einem Zeitintervall von einem frühesten Zeitpunkt t 1 an 1 0 t 1 t 2015, IAS Universität Stuttgart 256

12 5.1 Problemstellung Typische Anwendungsbeispiele mit Zeitbedingungen Ausführung einer Funktion zu festen Zeitpunkten Ausführung einer Funktion in einem Toleranz-Zeitintervall Ausführung einer Funktion in einem Zeitintervall bis zu einem spätesten Zeitpunkt Ausführung einer Funktion in einem Zeitintervall von einem frühesten Zeitpunkt an Absolutzeit- Bedingungen Kennfeldaufnahme an Prüfständen Erfassung von Regelgrößen Erfassung von Datentelegrammen Folgesteuerung bei Chargenprozessen Relativzeit- Bedingungen Analyse von Stoffen in der Chemie Messwertüberwachung auf gleitende Grenzen Erfassung von Stückgut- Kennungen Erfassung von Signalen einer Lichtschranke 2015, IAS Universität Stuttgart 257

13 5.1 Problemstellung Forderung nach Gleichzeitigkeit Vorgänge in Umwelt laufen gleichzeitig ab Echtzeit-Systeme müssen darauf gleichzeitig reagieren mehrere Datenverarbeitungsaufgaben müssen gleichzeitig durchgeführt werden Bsp.: Reaktion auf gleichzeitige Fahrt mehrerer Züge Verarbeitung mehrerer gleichzeitig anfallender Messwerte bei einer Heizung Motorsteuerung und ABS-System gleichzeitig 2015, IAS Universität Stuttgart 258

14 5.1 Problemstellung Realisierung von Gleichzeitigkeit - jede Datenverarbeitungsaufgabe durch getrennte Computer echt parallel - einen Computer für alle Datenverarbeitungsaufgaben Voraussetzung: quasi gleichzeitig / quasi parallel Vorgänge in der Umwelt langsam im Vergleich zum Ablauf der Programme im Rechner 2015, IAS Universität Stuttgart 259

15 5.1 Problemstellung Forderung nach Determiniertheit Determiniertheit = Vorhersehbarkeit des Systemverhaltens Parallele bzw. quasi parallele Abläufe sind im allgemeinen nicht vorhersehbar, zeitliche Verschiebungen können zu unterschiedlichen Abläufen führen. das zeitliche Verhalten ist nicht determiniert keine absolute Garantie der Sicherheit von Automatisierungssystemen 2015, IAS Universität Stuttgart 260

16 5.1 Problemstellung Determiniertheit von Echtzeit-Systemen Ein Echtzeit-System heißt determiniert, wenn es für jeden möglichen Zustand und für jede Menge an Eingabeinformationen eine eindeutige Menge von Ausgabeinformationen und einen eindeutigen nächsten Zustand gibt. Voraussetzung: Endliche Menge von Systemzuständen! Zeitlich determiniertes System: Antwortzeit für alle Ausgabeinformationen ist bekannt! In einem determinierten System ist garantiert, dass das System zu jedem Zeitpunkt reagieren kann, in einem zeitlich determinierten System zusätzlich auch bis wann die Reaktion erfolgt sein wird. 2015, IAS Universität Stuttgart 261

17 5.1 Problemstellung Arten von Echtzeitsystemen Dialogsysteme Eingabedaten über entsprechende Eingabemedien Tastatur Lichtgriffe Maus Warten auf Antwort, d.h. Ausgabe von Ergebnissen auf einem Ausgabemedium Bildschirm Bsp: Drucker Platzbuchungssysteme Luftfahrtgesellschaften Kontoführungssysteme bei Banken Lagerhaltungssysteme Rechtzeitigkeit bei Dialogsystemen zulässige Antwortzeit im Sekundenbereich 2015, IAS Universität Stuttgart 262

18 5.1 Problemstellung Automatisierungssysteme Zeitliche Reaktion abhängig von den Vorgängen im technischen Prozess Rechtzeitigkeit bei Automatisierungssystemen zulässige Reaktionszeit im Bereich von ms / μs Methoden der Echtzeit-Programmierung ähnlich für Automatisierungssysteme Dialogsysteme 2015, IAS Universität Stuttgart 263

19 5.1 Problemstellung Frage zu Kapitel 5.1 Um welche Art von Echtzeitsystem handelt es sich bei den nachfolgend aufgeführten Systemen jeweils? Antwort Hartes Echtzeitsystem Weiches Echtzeitsystem Zeitungsdruckwerk Steuerung eines elektrischen Fensterhebers Fahrgastinformation im Bahnverkehr Telefonvermittlung CNC-Fräskopfsteuerung Flugzeug-Triebwerkssteuerung X X X X X X Harte Echtzeitsysteme: Verletzung der Zeitschranken = Versagen des Automatisierungssystems Sach- / Personenschäden möglich 2015, IAS Universität Stuttgart 264

20 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 265

21 5.2 Echtzeit-Programmierverfahren Arten des Vorgehens Synchrone Programmierung: Planung des zeitlichen Ablaufs vor der Ausführung der Programme Planwirtschaft Asynchrone Programmierung (Parallelprogrammierung): Organisation des zeitlichen Ablaufs während der Ausführung der Programme Marktwirtschaft 2015, IAS Universität Stuttgart 266

22 5.2 Echtzeit-Programmierverfahren Bsp.: Zahnarztpraxis als Realzeitsystem Ausführungsort Organisator Voraus- Planung Live- Planung Patient Behandlungsstuhl und Zahnarzt Sprechstundenhilfe Planung des zeitlichen Ablaufs vor der Behandlung mit Hilfe eines Terminkalenders Organisation des zeitlichen Ablaufs während der Behandlung (Aufruf aus dem Wartezimmer) Automatisierungsprogramm Computer, der Programme ausführt Betriebssystem Synchrone Programmierung Asynchrone Programmierung, Parallelprogrammierung 2015, IAS Universität Stuttgart 267

23 5.2 Echtzeit-Programmierverfahren Verfahren der synchronen Programmierung Synchrone Programmierung: Planung des zeitlichen Verhaltens zyklisch auszuführender Teilprogramme vor der Ausführung Synchronisierung der zyklisch auszuführenden Teilprogramme mit einem Zeitraster Zeitraster über Echtzeit-Uhr, Unterbrechungssignal zum Aufruf über Teilprogramme Time triggered fest vorgegebene Reihenfolge des Ablaufs der Teilprogramme 2015, IAS Universität Stuttgart 268

24 5.2 Echtzeit-Programmierverfahren Bsp.: Heizungsregelung u 1 (t) u 2 (t) Regelstrecke 1 "Heizkreis Wohnung" Regelstrecke 2 "Heizkreis Büro" Raumtemperatur Wohnung y 1 (t) Bedienterminal Raumtemperatur Büro y 2 (t) u 3 (t) Regelstrecke 3 "Heizkessel" Vorlauftemperatur y 3 (t) Analog-Ausgabe Analog-Eingabe Prozess-Signal-Ein/Ausgabe Echtzeit- Uhr Automatisierungscomputer 2015, IAS Universität Stuttgart 269

25 5.2 Echtzeit-Programmierverfahren Fachtechnische (regelungstechnische) Konzeption Planung Auslegung der Regelalgorithmen und Reglerparameter Festlegung der Abtastzeiten für die Regelkreise T = Echtzeituhr - Taktdauer T i = Abtastzeit für Regelkreis i T 1 = T T 2 = 2T T 3 = 5T 2015, IAS Universität Stuttgart 270

26 5.2 Echtzeit-Programmierverfahren Zuordnung von Bezeichnern und Abtastzeiten ein Teilprogramm für jeden Regelkreis Teilprogramm Temperatur-Regelung für die Regelstrecke Heizkreis Wohnung Temperatur-Regelung für die Regelstrecke Heizkreis Büro Temperatur-Regelung für die Regelstrecke Heizkessel Bezeichner (Name) REGELUNG 1 REGELUNG 2 REGELUNG 3 Abtastzeit (Zykluszeit) T 1 = T T 2 = 2T T 3 = 5T 2015, IAS Universität Stuttgart 271

27 5.2 Echtzeit-Programmierverfahren Grobentwurf bei synchroner Programmierung Unterbrechungssignale Von der Echtzeit-Uhr mit der Zykluszeit T ANFANG Alle T 1 = T REGELUNG1 aufrufen Alle T 2 = 2T REGELUNG2 aufrufen Alle T 3 = 5T REGELUNG3 aufrufen Warteschleife 2015, IAS Universität Stuttgart 272

28 5.2 Echtzeit-Programmierverfahren Feinentwurf bei synchroner Programmierung ANFANG Definition der Zählvariablen Z2 und Z3 Im Zeitabstand T aufeinanderfolgende Unterbrechungssignale bewirken Start an dieser Stelle Z2 := 1 Z3 := 1 REGELUNG1 abarbeiten Z2 und Z3 initialisieren nein Z2=2? Z2 := Z2 + 1 ja REGELUNG2 abarbeiten Z2 := 1 Z3 := Z3 + 1 nein Z3=5? ja REGELUNG3 abarbeiten Z3 := 1 Warteschleife 2015, IAS Universität Stuttgart 273

29 5.2 Echtzeit-Programmierverfahren Zeitlicher Ablauf synchroner Programmierung REGELUNG3 ca. 5T 2T T REGELUNG2 REGELUNG1 Steuerprogramm Unterbrechungssignale von der Echtzeit-Uhr 11 t Annahme: - Rechenzeit für Teilprogramme gleich groß - Summe der Rechenzeiten der drei Teilprogramme kleiner als Zykluszeit 2015, IAS Universität Stuttgart 274

30 5.2 Echtzeit-Programmierverfahren Eigenschaften der synchronen Programmierung (1) Forderung nach Rechtzeitigkeit wird näherungsweise erfüllt leichte Verschiebung Forderung nach Gleichzeitigkeit wird erfüllt, wenn Zykluszeit T klein gegenüber den Zeitabläufen im technischen Prozess Synchrone Programmierung gut für Echtzeit-Systeme mit zyklischen Programmabläufen vorhersehbares Verhalten Synchrone Programmierung ungeeignet für die Reaktion auf zeitlich nicht vorhersehbare (asynchrone) Ereignisse Erhöhung der Rechenzeit durch ständiges Abfragen Verzögerung der Reaktion 2015, IAS Universität Stuttgart 275

31 5.2 Echtzeit-Programmierverfahren Eigenschaften der synchronen Programmierung (2) im Normalfall deterministisches Verhalten kein komplexes Organisationsprogramm etwas aufwendigere Planung (Entwicklung) Nachteil der synchronen Programmierung Änderung der Aufgabenstellung bedeutet Änderung der gesamten Programmstruktur! Bsp.: SPS 2015, IAS Universität Stuttgart 276

32 5.2 Echtzeit-Programmierverfahren Verfahren der asynchronen Programmierung (Parallelprogrammierung) Organisationsprogramm (Echtzeitbetriebssystem) steuert während des Ablaufs der Teilprogramme den zeitlichen Aufruf Aufruf der Teilprogramme, wenn Zeitbedingungen erfüllt sind Gleichzeitige Ausführung wird nach bestimmter Strategie sequenzialisiert Zuordnung von Prioritätsnummern Priorität umso höher, je niedriger die Prioritätsnummer 2015, IAS Universität Stuttgart 277

33 Brenner- Störungssignal 5.2 Echtzeit-Programmierverfahren Bsp.: Heizungsanlage u 1 (t) Regelstrecke 1 y 1 (t) asynchron (stochastisch) synchron zyklisch u 2 (t) Regelstrecke 2 y 2 (t) Warnlampe u 3 (t) Regelstrecke 3 y 3 (t) Analog-Ausgabe Analog-Eingabe Digital- Ausgabe Digital- Eingabe Prozesseinheit Echtzeit Uhr Automati- sierungs- Computer Bedienterminal Drucker 2015, IAS Universität Stuttgart 278

34 5.2 Echtzeit-Programmierverfahren Zuordnung von Bezeichnern, Abtastzeiten und Prioritäten Teilprogramm Bezeichner Abtastzeit Prioritätsnummer Priorität Reaktion auf Brennerstörung mit Alarmmeldung ALARM 1 höchste Temperatur- Regelung für Heizkreis 1 Temperatur- Regelung für Heizkreis 2 REGELUNG1 T 1 = T 2 REGELUNG2 T 2 = 2T 3 zweithöchste dritthöchste Temperatur- Regelung für Heizkreis 3 REGELUNG3 T 3 = 5T 4 niedrigste 2015, IAS Universität Stuttgart 279

35 5.2 Echtzeit-Programmierverfahren Zeitlicher Verlauf der Teilprogramme 2015, IAS Universität Stuttgart 280

36 5.2 Echtzeit-Programmierverfahren Eigenschaften der asynchronen Programmierung Forderung nach Rechtzeitigkeit nur näherungsweise erfüllt schlecht für niederpriore Teilprogramme Zeitbedingungen um so besser erfüllt, je höher die Priorität des jeweiligen Teilprogramms Ist-Zeitablauf kann sich gegenüber Soll-Zeitablauf stark verschieben Teilprogramme können sich gegenseitig überholen Aufeinanderfolge der Teilprogramme ist nicht deterministisch, sondern stellt sich dynamisch ein 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 2015, IAS Universität Stuttgart 281

37 5.2 Echtzeit-Programmierverfahren Ereignisgesteuerte Architekturen asynchrone Programmierung Alle Aktivitäten als Folge von Ereignissen Aktivierung von Tasks Senden von Nachrichten Unterstützung durch Echtzeitbetriebssysteme nicht-deterministisches Verhalten flexibel bezüglich Veränderungen Zeitgesteuerte Architekturen synchrone Programmierung Periodische Durchführung aller Tasks und Kommunikationsaktionen Abtastung von externen Zustandsgrößen zu festgelegten Zeitpunkten wenig flexibel bei Änderungen einfach analysierbar Video: Echtzeitsimulation mit ASCET-SD 2015, IAS Universität Stuttgart 282

38 5.2 Echtzeit-Programmierverfahren Frage zu Kapitel 5.2 Welchen der folgenden Aussagen zum Thema Echtzeitprogrammierung stimmen Sie zu? Antwort f f f f Bei der Echtzeit-Programmierung steht nur der Zeitpunkt eines Ergebnisses im Vordergrund. Echtzeit bedeutet so schnell wie möglich. Bei weichen Echtzeit-Systemen müssen die Zeitschranken nicht eingehalten werden. Eine asynchrone Programmierung ist flexibler bei äußeren Einflüssen als eine synchrone Programmierung. Eine synchrone Programmierung setzt zyklische Programmabläufe voraus. Die synchrone Programmierung erfüllt nicht die Forderung nach Gleichzeitigkeit. 2015, IAS Universität Stuttgart 283

39 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 284

40 5.3 Rechenprozesse Unterscheidung Unterprogramm Rechenprozess Aufruf von Unterprogrammen Ausführung des aufrufenden Programms wird unterbrochen Ausführung des Unterprogramms (einmalige Ausführung der Befehlsfolge) Fortsetzung des aufrufenden Programms Aufruf eines Rechenprozesses gleichzeitige Ausführung des aufrufenden Programms und des aufgerufenen Rechenprozesses 2015, IAS Universität Stuttgart 285

41 5.3 Rechenprozesse Rechenprozess = Task Ein Rechenprozess ist ein von einem Echtzeit-Betriebssystem gesteuerter Vorgang der Abarbeitung eines sequenziellen Programms. Eigenschaften von Rechenprozessen Rechenprozess beginnt mit Eintrag in eine Liste des Echtzeit- Betriebssystems und endet mit dem Löschen aus dieser Liste Rechenprozess existiert nicht nur während der Ausführung der Befehle, sondern auch während geplanter oder erzwungener Wartezeiten 2015, IAS Universität Stuttgart 286

42 5.3 Rechenprozesse Unterschiede zwischen Task und Thread Task Besitzer von Betriebsmitteln Eigener Adressraum Enthält einen oder mehrere Threads Kommunikation über die Taskgrenzen hinaus, bevorzugt über Botschaften Thread Kann außer Prozessor selbst keine Betriebsmittel besitzen, verfügt über alle Betriebsmittel der Task, der er angehört Adressraum der Task, der er angehört gemeinsamer Adressraum Element einer Task Kommunikation zwischen den Threads, bevorzugt über gleiche Daten 2015, IAS Universität Stuttgart 287

43 5.3 Rechenprozesse Grundzustände Zustand laufend (running) das Teilprogramm ist in Bearbeitung Zustand bereit oder ablaufwillig (runnable) alle Zeitbedingungen für den Ablauf sind erfüllt es fehlt der Start durch das Betriebssystem d.h. die Ausführung Zustand blockiert (suspended) Rechenprozess wartet auf den Eintritt eines Ereignisses Wenn das Ereignis eingetreten ist, Übergang aus dem Zustand blockiert in den Zustand bereit Zustand ruhend (dormant) Rechenprozess ist nicht ablaufbereit, weil Zeitbedingungen oder sonstige Voraussetzungen nicht erfüllt sind. 2015, IAS Universität Stuttgart 288

44 5.3 Rechenprozesse Zustandsdiagramm eines Rechenprozesses Einplanung Vereinbarung des Rechenprozesses ruhend - dormant Löschen des Rechenprozesses Unter Einplanung versteht man die Beauftragung eines Rechenprozesses zyklisch oder zu bestimmten Zeiten der Übergang vom Zustand ruhend in den Zustand bereit bereit - runnable blockiert - suspended laufend - running 2015, IAS Universität Stuttgart 289

45 5.3 Rechenprozesse Verlauf des Rechenprozesses Regelung3 beim Verfahren der asynchronen Programmierung Der Rechenprozess Regelung3 ist: ablaufend (aktiv) blockiert ablaufwillig (bereit) ruhend 0 T 2T 3T 4T 5T 6T 7T 2015, IAS Universität Stuttgart 290

46 5.3 Rechenprozesse Prioritätsvergabe für Rechenprozesse statische Prioritätsvergabe dynamische Prioritätsvergabe (z.b. durch Verwendung von Deadlines) Zeitparameter eines Rechenprozesses: 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) 2015, IAS Universität Stuttgart 291

47 5.3 Rechenprozesse Auftreten der Zeitparameter eines Rechenprozesses Antwortzeit F(t) Restantwortzeit RF(t) Zustände eines Rechenprozesses "laufend" maximale Antwortzeitdauer P maximale Ausführungsdauer E E alt (t) E neu (t) Spielraum L A: Arrival time R: Request time S: Start time C: Completion time D: Deadline "blockiert" "bereit" "ruhend" A R S C D Betrachtungszeitpunkt t 2015, IAS Universität Stuttgart 292

48 5.3 Rechenprozesse Zusammenhang zwischen den Zeitparametern A <= R <= S <= C - E <= D - E Maximale Ausführungsdauer (Rechenzeitdauer) E = E alt (t) + E neu (t) E alt (t): E neu (t): bisherige Ausführungsdauer zum Betrachtungszeitpunkt verbleibende Ausführungsdauer Zeitlicher Spielraum (laxity) für die Ausführung eines Rechenprozesses L = D - S - E 2015, IAS Universität Stuttgart 293

49 5.3 Rechenprozesse Frage zu Kapitel 5.3 Welchen der folgenden Aussagen über die vier Task-Zustände stimmen Sie zu? Antwort f f Eine Task im Zustand runnable wird momentan ausgeführt. Ein Task-Zustand kann direkt von running zu dormant wechseln. Eine Task im Zustand suspended kann direkt in den Zustand running wechseln. Eine Task im Zustand dormant ist nicht bereit, da Zeit- oder andere Bedingungen nicht erfüllt sind. Eine Task im Zustand suspended wartet auf das Auftreten eines Events. 2015, IAS Universität Stuttgart 294

50 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 295

51 5.4 Zeitliche Koordinierung von Rechenprozessen Klassifikation von Aktionen eines Rechenprozesses Zwei Aktionen in Rechenprozessen 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 Rechenprozessen heißen nebenläufig, wenn sie gleichzeitig ablaufen können (äußere Parallelität) Zwei Aktionen eines Rechenprozesses heißen simultan, wenn sie gleichzeitig ausgeführt werden können (innere Parallelität) Aktionen = Threads 2015, IAS Universität Stuttgart 296

52 5.4 Zeitliche Koordinierung von Rechenprozessen Anforderung bei der Durchführung von Rechenprozessen Synchronität zwischen Rechenprozessen und den Vorgängen im technischen Prozess. Abhängigkeiten zwischen Rechenprozessen Logische Abhängigkeiten aufgrund der Vorgänge im technischen Prozess Bsp.: Ein Aufzug muss zuerst anhalten, bevor die Türen geöffnet werden können. Abhängigkeiten durch die gemeinsame Benutzung von Betriebsmitteln 2015, IAS Universität Stuttgart 297

53 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel Abhängigkeit von Rechenprozessen aufgrund gemeinsam benutzter Betriebsmittel Gemeinsame Betriebsmittel: Protokolldrucker Analog-Eingabe Rechenprozess BETRIEBSMESSWERTE Analog- Eingabe belegen Betriebsmess- werte einlesen und umrechnen Rechenprozess PROZESSÜBERWACHUNG Treiberprogramm für Protokoll- drucker belegen Störungsmeldung an Protokoll- drucker ausgeben Deadlock Treiberprogramm für Protokoll- drucker belegen Analog- Eingabe belegen Ausdruck Betriebsmesswerte und Uhrzeit Prozessgrössen einlesen und überwachen 2015, IAS Universität Stuttgart 298

54 5.4 Zeitliche Koordinierung von Rechenprozessen Probleme durch Abhängigkeiten Verklemmung (deadlock): zwei oder mehrere Rechenprozesse blockieren sich gegenseitig Permanente Blockierung (livelock, starvation) Konspiration von Rechenprozessen blockiert einen Rechenprozess zeitliche Koordinierung der Rechenprozesse notwendig = Synchronisierung von Rechenprozessen = Einschränkung des freien parallelen Ablaufs Synchronisierung von Rechenprozessen = Synchronisierung ihrer Aktionen 2015, IAS Universität Stuttgart 299

55 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel für einen Deadlock - Straßenkreuzung ohne Ampelsteuerung - Verkehrsregel rechts vor links Animation: Deadlock 2015, IAS Universität Stuttgart 300

56 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel für einen Livelock: The Dining Philosophers - jeder Philosoph benötigt 2 Stäbchen zum Essen - es kann kein Stäbchen reserviert werden Wertepaare für wunschgemäßen Betrieb (beginnend Philosoph oben in der Mitte, im Uhrzeigersinn): 1/1, 1/1, 1/1, 1/1, 1/1 Wertepaare, die zu Livelock führen (beginnend Philosoph oben in der Mitte, im Uhrzeigersinn): 1/5, 1/1, 1/1, 1/6, 7/1 Animation: Livelock 2015, IAS Universität Stuttgart 301

57 5.4 Zeitliche Koordinierung von Rechenprozessen Hauptformen der Synchronisierung Logische Synchronisierung (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) 2015, IAS Universität Stuttgart 302

58 5.4 Zeitliche Koordinierung von Rechenprozessen Synchronisierungsverfahren Semaphore kritische Regionen Rendez-Vous-Konzept Grundgedanke bei allen Synchronisierungsverfahren Rechenprozess muss warten, bis ein bestimmtes Signal bzw. Ereignis eintrifft Einfügen von Wartebedingungen an den kritischen Stellen 2015, IAS Universität Stuttgart 303

59 5.4 Zeitliche Koordinierung von Rechenprozessen Semaphorkonzept Synchronisierung von Rechenprozessen durch Signale (Dijkstra) Semaphorvariable: - positive, ganzzahlige Werte - Semaphoroperationen: V(S) und P(S) V(S i ): Operation V(S i ) erhöht den Wert der Semaphorvariable S i um 1 P(Si): Operation P(S i ) bestimmt Wert von S i - ist Wert von S i > 0 wird S i um 1 erniedrigt - ist S i = 0 wird gewartet, bis S i > 0 geworden ist unteilbar! 2015, IAS Universität Stuttgart 304

60 Fahrtrichtung der Züge 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel 1: Zugverkehr über eine eingleisige Strecke Gleismagnet Zug A Zug A Zug B Zug B Gleismagnet P(S 1 ) P(S 1 ) Operation Signal S 1 01 Variable V(S 1 ) V(S 1 ) Synchronisierungsstelle Operation Gleismagnet Gleismagnet Zug A Zug A Zug B Zug B 2015, IAS Universität Stuttgart 305

61 Fahrtrichtung der Züge 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel 2: Zugverkehr über eine eingleisige Strecke Gleismagnet Zug A Zug B Gleismagnet P(S1) P(S2) Signal S1 Signal S mit Ablaufreihenfolge V(S2) V(S1) ABAB Gleismagnet Gleismagnet Zug A Zug B 2015, IAS Universität Stuttgart 306

62 Rechenprozess A Rechenprozess B 5.4 Zeitliche Koordinierung von Rechenprozessen Beispiel 2: S 1 = 1 S 2 = 0 Ablaufreihenfolge bei Rechenprozessen: P (S 1 ) S 1 = 0 Zwei Rechenprozesse sollen stets abwechselnd laufen. V(S 2 ) S 2 = 1 P (S 2 ) S 2 = 0 logische Synchronisierung V(S 1 ) S 1 = 1 P (S 1 ) S 1 = 0 V(S 2 ) S 2 = 1 P (S 2 ) S 2 = 0 t t 2015, IAS Universität Stuttgart 307

63 5.4 Zeitliche Koordinierung von Rechenprozessen Frage zu Kapitel 5.4 Um welche Art der Synchronisierung handelt es sich bei den folgenden Beispielen? Wieviele Semaphorvariablen werden jeweils benötigt? a) In einem Automatisierungssystem greifen zwei Tasks auf den gleichen Temperatursensor zu. b) Ein Regelalgorithmus wird in die drei Tasks Istwert einlesen, Stellgröße berechnen und Stellgröße ausgeben aufgeteilt, die immer in dieser Reihenfolge ablaufen müssen. Antwort a) betriebsmittelorientierte Synchronisierung. Für jedes Betriebsmittel eine Semaphorvariable. Hier: 1 b) logische Synchronisierung. Für jeden Synchronisierungspunkt beim Übergang von einer Task zur nächsten eine Semaphorvariable. Hier: , IAS Universität Stuttgart 308

64 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 309

65 5.5 Kommunikation zwischen Rechenprozessen Begriffsbestimmung Synchronisierung = Erfüllung zeitlicher und logischer Randbedingungen beim parallelen Ablauf von Rechenprozessen Kommunikation = Austausch von Daten zwischen parallel ablaufenden Rechenprozessen 2015, IAS Universität Stuttgart 310

66 5.5 Kommunikation zwischen Rechenprozessen 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 Rechenprozess zu einem anderen (message passing) Vor allem bei verteilten Systemen 2015, IAS Universität Stuttgart 311

67 5.5 Kommunikation zwischen Rechenprozessen Arten der Kommunikation Synchrone Kommunikation sendender und empfangender Rechenprozess kommunizieren an einer definierten Stelle im Programmablauf Warten durch Blockierung Asynchrone Kommunikation Daten werden gepuffert keine Wartezeiten 2015, IAS Universität Stuttgart 312

68 5.5 Kommunikation zwischen Rechenprozessen Frage zu Kapitel 5.5 Welchen Aussagen zur asynchronen Kommunikation zwischen Tasks stimmen Sie zu? Antwort f f Gesendete Nachrichten können zwischengespeichert werden. Sendende Tasks werden nach Absenden einer Nachricht blockiert. Empfangende Tasks werden nach dem Empfang blockiert, bis sie auf die Nachricht geantwortet haben. Tasks müssen bei der Verwendung asynchroner Kommunikation nicht aufeinander warten. 2015, IAS Universität Stuttgart 313

69 5 Echtzeit-Programmierung 5.1 Problemstellung 5.2 Echtzeit-Programmierverfahren 5.3 Rechenprozesse 5.4 Zeitliche Koordinierung von Rechenprozessen 5.5 Kommunikation zwischen Rechenprozessen 5.6 Scheduling-Verfahren 2015, IAS Universität Stuttgart 314

70 5.6 Scheduling-Verfahren Scheduling-Problem Rechenprozesse benötigen Ressourcen (Prozessor, Ein-/Ausgabegeräte usw.) Ressourcen sind knapp Rechenprozesse konkurrieren um Ressourcen Zuteilung der Ressourcen muss verwaltet werden Beispiel: Gleise im Bahnhofsbereich 2015, IAS Universität Stuttgart 315

71 5.6 Scheduling-Verfahren Scheduling Unter Scheduling versteht man die Vergabe des Prozessors an ablaufbereite Rechenprozesse nach einem festgelegten Algorithmus (Scheduling- Verfahren). Problem: 1. Gibt es für eine Menge von Tasks (Taskset) einen ausführbaren Plan (Schedule)? 2. Gibt es einen Algorithmus, der einen ausführbaren Schedule findet? Beispiel: Vorlesung - Raum - Zeit - Zuordnung 2015, IAS Universität Stuttgart 316

72 5.6 Scheduling-Verfahren Klassifizierung in Abhängigkeit vom Zeitpunkt der Planung Statisches Scheduling unflexibel bei Änderungen Planung des zeitlichen Ablaufs der Tasks erfolgt vor der Ausführung (dispatching table) Berücksichtigung von Informationen über Taskset, Deadlines, Ausführungszeiten, Reihenfolgebeziehungen, Ressourcen Dispatcher macht Zuteilung gemäß dispatching table Laufzeit- Overhead minimal determiniertes Verhalten Dynamisches Scheduling flexibel bei Änderungen Organisation des zeitlichen Ablaufs während der Ausführung der Tasks erheblicher Laufzeit-Overhead 2015, IAS Universität Stuttgart 317

73 5.6 Scheduling-Verfahren Klassifizierung nach Art der Durchführung Preemptives Scheduling laufende Task kann unterbrochen werden höherpriore Task verdrängt niederpriore Task Nicht-preemptives Scheduling laufende Task kann nicht unterbrochen werden Prozessorfreigabe durch die Task selbst 2015, IAS Universität Stuttgart 318

74 5.6 Scheduling-Verfahren Scheduling-Verfahren FIFO-Scheduling (First-in-first-out) Zeitscheibenverfahren Scheduling mit festen (unveränderlichen) Prioritäten Ratenmonotones Scheduling Verfahren der kleinsten Restantwortzeit Verfahren des kleinsten Spielraums 2015, IAS Universität Stuttgart 319

75 5.6 Scheduling-Verfahren FIFO - Scheduling Nicht-preemptives Scheduling Task, deren Einplanung am weitesten zurückliegt bekommt Prozessor einfache Realisierung ungeeignet für harte Echtzeitsysteme Beispiel: FIFO - Scheduling Task A bereit Task B bereit Task C bereit Task D bereit Tasks werden in der Reihenfolge ausgeführt, in der sie ablauffähig werden: t A B C D t 2015, IAS Universität Stuttgart 320

76 5.6 Scheduling-Verfahren 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) für harte Echtzeitsysteme untauglich 2015, IAS Universität Stuttgart 321

77 5.6 Scheduling-Verfahren Beispiel: Round-Robin-Verfahren Jeder Zeitschlitz sei 10ms groß. Die Tasks werden in der zyklischen Reihenfolge A-B-C-D abgearbeitet. Zeitdauern der Tasks: Task A: 25ms Task B: 20ms Task C: 30ms Task D: 20ms A B C D A B C D A C t/ms 2015, IAS Universität Stuttgart 322

78 5.6 Scheduling-Verfahren 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 für harte Echtzeitsysteme nur bedingt geeignet 2015, IAS Universität Stuttgart 323

79 5.6 Scheduling-Verfahren Beispiel: Feste Prioritäten Task Prio A 1 höchste B 1 Prio C 2 D 3 E 3 Bei Tasks mit gleicher Priorität: Weitere unterlagerte Bedingung nötig. A* B C D E t * FIFO - Scheduling: A war zuerst ablauffähig 2015, IAS Universität Stuttgart 324

80 5.6 Scheduling-Verfahren Ratenmonotones Scheduling (Rate-Monotonic-Verfahren) Spezialfall des Verfahrens mit festen Prioritäten für zyklische Tasks Priorität um so höher, je kürzer die Zykluszeit (Periode) ist Task mit kleinster Zykluszeit erhält höchste Priorität preemptive Strategie Verfahren wird in der Praxis häufig verwendet 2015, IAS Universität Stuttgart 325

81 5.6 Scheduling-Verfahren Beispiel: Rate-Monotonic Scheduling Task Ausführungsdauer Zykluszeit Priorität A B C D 10 ms 20 ms 10 ms 20 ms 40 ms 50 ms 80 ms 100 ms Erste geplante Ausführung aller Tasks bei t = 0 ms. Danach werden die Tasks zyklisch wiederholt. A1 B1 C1 A2 B2 D1 a A3 C2 B3 A4 D1 b t / ms Task D wird unterbrochen 2015, IAS Universität Stuttgart 326

82 5.6 Scheduling-Verfahren Verfahren der kleinsten Restantwortzeit = Earliest-Deadline-First-Verfahren Task mit kleinster Restantwortzeit bekommt den Prozessor preemptives Vorgehen hoher Rechenaufwand für das Scheduling Einhaltung von zeitlichen Anforderungen wird speziell unterstützt 2015, IAS Universität Stuttgart 327

83 5.6 Scheduling-Verfahren Beispiel: Earliest-Deadline-First-Verfahren Task Dauer T min T max A 10 ms 0 ms 40 ms B 10 ms 0 ms 30 ms C 30 ms 30 ms 100 ms D 40 ms 50 ms 200 ms E 10 ms 70 ms 90 ms t min : frühester Termin t max : spätester Termin = Deadline Ablauf: B A C D a E D b t/ms Deadline von B ist früher als von A Deadline von E ist früher als von D Unterbrechung 2015, IAS Universität Stuttgart 328

84 5.6 Scheduling-Verfahren Verfahren des kleinsten Spielraums (least laxity) Task mit kleinstem Spielraum erhält Prozessor Berücksichtigung von Deadlines und Ausführungsdauern sehr aufwendiges Verfahren für harte Echtzeitsysteme am besten geeignet 2015, IAS Universität Stuttgart 329

85 5.6 Scheduling-Verfahren Beispiel: Least Laxity Verfahren Task Dauer Einplanung T D A 30 ms 0 ms 40 ms B 10 ms 0 ms 30 ms C 30 ms 30 ms 100 ms D 40 ms 50 ms 200 ms E 10 ms 70 ms 90 ms T D : Deadline Ablauf: A a B C E D A b t/ms 2015, IAS Universität Stuttgart 330

86 5.6 Scheduling-Verfahren Ausführbarkeitstest (schedulability test) Unter einem schedulability test versteht man die Prüfung, ob der zeitliche Ablauf für eine Menge von Tasks (Taskset) so geplant werden kann, dass jede Task ihre Deadline einhält. Nachdem es sich dabei um eine mathematische Beweisführung handelt, muss unterschieden werden zwischen notwendiger Bedingung hinreichender Bedingung notwendiger und hinreichender Bedingung 2015, IAS Universität Stuttgart 331

87 5.6 Scheduling-Verfahren Theorem von Liu und Layland (Teil I) Eine beliebige Menge periodischer Tasks (Deadline = Periode) kann durch das preemptive Earliest-Deadline-First-Verfahren ausgeführt werden, wenn gilt: i n 1 C T i i 1 Wobei: C i : Ausführungszeit der Task i T i : Zykluszeit der Task i n: Anzahl der Tasks EDF-Verfahren: notwendig und hinreichend. beliebige Schedulingverfahren: notwendige Bedingung. 2015, IAS Universität Stuttgart 332

88 5.6 Scheduling-Verfahren Theorem von Liu und Layland (Teil II) Eine beliebige Menge periodischer Tasks (Deadline = Periode) kann durch das Rate-Monotonic Verfahren ausgeführt werden, wenn gilt: n i 1 C T i i U * n n 2 1 n 1, n 1, 2,... U U U U * 1 * 2 * 3 * 1,0 0,828 0,779 ln 2 0,693 Wobei: und: C i : Ausführungszeit der Task i T i : Zykluszeit der Task i U i : Utilization (Prozessorauslastung) n: Anzahl der Tasks U i C T i i Hinreichender Test 2015, IAS Universität Stuttgart 333

89 5.6 Scheduling-Verfahren Frage zu Kapitel 5.6 Beim sogenannten shortest-job-first Scheduling-Verfahren wird zur Laufzeit jeweils zuerst die Task bearbeitet, die die kürzeste Ausführungszeit hat. Laufende Tasks können dabei aber nicht von anderen unterbrochen werden. Um welche Art von Scheduling-Verfahren handelt es sich? Antwort Planung der Tasks zur Laufzeit Eine Task kann keine andere unterbrechen. dynamisches, nicht-preemptives Scheduling-Verfahren. Bemerkung: Das shortest-job-first Verfahren ermittelt immer einen Schedule, bei dem die mittlere Ausführungsdauer minimiert wird. 2015, IAS Universität Stuttgart 334

90 Kapitel 5: Vorbereitungsfrage Vorbereitungsfragen zu Kapitel 5 Frage 1: Deadlock (WS 2003/2004) Ein Programmierer behauptet, dass es in einem System mit gemeinsam genutzten Betriebsmitteln ohne entsprechende zusätzliche Sicherheitsmaßnahmen (z.b. Priority Ceiling Protocol) automatisch zu Deadlocks kommt. Stimmen Sie dieser Aussage zu? Begründen Sie Ihre Antwort. Frage 2: Gemeinsame Betriebsmittel (WS 2003/2004) Gegeben ist ein Taskset mit 5 Tasks (T1 bis T5). Die Tasks besitzen dabei feste Prioritäten entsprechend ihren Indizes, d.h. Task T1 besitzt die höchste Priorität und Task T5 die niedrigste. Das Scheduling erfolgt unter Verwendung des Priority Inheritance Protocol. Für ihre Ausführung benötigen die Tasks drei gemeinsam genutzte Betriebsmittel, wobei keine Task mehrere Betriebsmittel gleichzeitig halten kann. Die maximale Belegungsdauer für jedes Betriebsmittel beträgt 100ms. Wie groß sind die maximalen Blockierungsdauern, die auf Grund einer benötigten Ressource bei T1 und T5 auftreten können? Begründen Sie Ihre Antwort. 2015, IAS Universität Stuttgart 335

Roboter- und Automatisierungstechnik

Roboter- und Automatisierungstechnik Roboter- und Automatisierungstechnik Teil 4: Grundlagen der Echtzeitprogrammierung Hochschule Bremerhaven SS 2007 Prof. Dr. Oliver Zielinski Inhalt 4.1 Problemstellung 4.2 Echtzeitprogrammierverfahren

Mehr

4 Echtzeit-Programmierung

4 Echtzeit-Programmierung 4 Echtzeit-Programmierung 4.1 Problemstellung 4.2 Echtzeit-Programmierverfahren 4.3 Rechenprozesse 4.4 Zeitliche Koordinierung von Rechenprozessen 4.5 Kommunikation zwischen Rechenprozessen 4.6 Scheduling-Verfahren

Mehr

Prozessautomatisierungstechnik

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

Mehr

Automatisierungstechnik I Mini-Betriebssystem Theorie

Automatisierungstechnik I Mini-Betriebssystem Theorie Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. M. Weyrich Automatisierungstechnik I Sommersemester 2015 Farzan Yazdi, M.Sc. www.ias.uni-stuttgart.de/at1 at1@ias.uni-stuttgart.de

Mehr

RTOS Einführung. Version: Datum: Autor: Werner Dichler

RTOS Einführung. Version: Datum: Autor: Werner Dichler RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

Mehr

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren Universität Stuttgart Prof. Dr.-Ing. Dr. h. c. P. Göhner Aufgabe 5.1: Übung 5: Semaphoren Semaphor-Operationen In Bild 5.1.1 ist die Anordnung von Semaphor-Operationen am Anfang und am e der asks A,B,C

Mehr

Übung I Echtzeitbetriebssysteme

Übung I Echtzeitbetriebssysteme Übung I Echtzeitbetriebssysteme a) Von welchen drei Faktoren hängt bei der Echtzeitverarbeitung das korrekte Ergebnis ab? b) Wann ist ein System echtzeitfähig? c) Was versteht man unter Harter und Weicher

Mehr

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

Mehr

5) Realzeitscheduling

5) Realzeitscheduling Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis Universität Paderborn Fachgebiet Rechnernetze SoSe 2014 Konzepte und Methoden der Systemsoftware Hausübung 2 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher oder gedruckter

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

A U S A R B E I T U N G

A U S A R B E I T U N G Echtzeitsysteme Zuordnung von Echtzeitsystemen nach den Zeitschranken A U S A R B E I T U N G Studiengang Informationstechnik an der Dualen Hochschule Baden-Württemberg Karlsruhe von Ruwen Möhrle März

Mehr

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: hellberg@drhellberg.de

Mehr

Prüfungsfragen. Kapitel 1:

Prüfungsfragen. Kapitel 1: Kapitel 1: 1. Was versteht man unter einem technischen Prozess? Was unter Prozessautomatisierung? Beispiele! 2. Arten von Prozessgrößen mit Beispielen nennen! 3. Welche Typen von Vorgängen gibt es in techn.

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P SoSe 2013 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 4 13.05.2013 bis 17.05.2013 Aufgabe 1: Multi-Feedback-Scheduling 0 P 1. Beschreiben Sie kurz

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 7 Scheduling Wolfram Burgard Version 8.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre

Mehr

Übersicht. Monoprozessor-Scheduling. Einführung Anforderungen und Thread-Typen Zustandsmodelle

Übersicht. Monoprozessor-Scheduling. Einführung Anforderungen und Thread-Typen Zustandsmodelle Übersicht Einführung Anforderungen und Thread-Typen Zustandsmodelle Monoprozessor-Scheduling Einfache Scheduling-Verfahren: FCFS, SJF, RR usw. Echtzeit-Scheduling Multiprozessor-Scheduling Implementierungsaspekte

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:

Mehr

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 17. Dezember 2015 Betriebssysteme / verteilte Systeme

Mehr

5. Foliensatz Betriebssysteme und Rechnernetze

5. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun 5. Foliensatz Betriebssysteme und Rechnernetze FRA-UAS SS2017 1/29 5. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

Mehr

OSEK / OSEKtime - ein Vergleich

OSEK / OSEKtime - ein Vergleich OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur

Mehr

Vorlesung Echtzeitbetriebssysteme. Sommersemester 2006. FH-Isny

Vorlesung Echtzeitbetriebssysteme. Sommersemester 2006. FH-Isny Vorlesung Echtzeitbetriebssysteme Sommersemester 2006 FH-Isny Dipl. Inf. B. Gerum NTA Isny RTOS V2.11 1 1.0 Einführung Echtzeitsysteme - Echtzeitbetriebssysteme... 4 1.1. Definition eines Echtzeitsystems...

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten

Mehr

Analyse und Entwicklung einer μ-controller-basierten Echtzeit-Steuerung für Sensorsysteme mit Ada-Raven

Analyse und Entwicklung einer μ-controller-basierten Echtzeit-Steuerung für Sensorsysteme mit Ada-Raven Analyse und Entwicklung einer μ-controller-basierten Echtzeit-Steuerung für Sensorsysteme mit Ada-Raven Dipl.-Inf. Matthias Götz ci-tec GmbH Karlsruhe Dr.-Ing. Jörg Matthes, Dr.-Ing. Hubert B. Keller,

Mehr

Echtzeitsysteme: Grundlagen. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Echtzeitsysteme: Grundlagen. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Echtzeitsysteme: Grundlagen Dipl.-Inf. J. Richling Wintersemester 2003/2004 ? Was ist Echtzeit? 03-1 Eigenschaften mobiler und eingebetteter Systeme c J.Richling Was ist Echtzeit? Es gibt eine Reihe verwirrender

Mehr

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

Mehr

Scheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme

Scheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme Scheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme 1. EDF: Einplanen nach Fristen (Earliest Deadline First): Der Prozess, dessen Frist als nächstes endet, erhält den Prozessor. 2.

Mehr

T 1 Abtastung Signal T 2 Abtastung Signal T 3 Analyse 20 3 T 4 Darstellung 100 6

T 1 Abtastung Signal T 2 Abtastung Signal T 3 Analyse 20 3 T 4 Darstellung 100 6 A U FG A B E 4 : S I M P L E S C O P E In den vorangegangenen Übungsaufgaben haben Sie bereits periodische Aufgaben kennengelernt. Bislang erfolgte deren Implementierung durch relative Verzögerung der

Mehr

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling Wintersemester 06/07 6. Kapitel Ressource Prozessor: Scheduling Prof. Matthias Werner 6 Professur Betriebssysteme Einführung Bisher: Wenn ein Prozesses den Prozessor aufgibt (Zustand laufend verlässt),

Mehr

Hausübung 2(Musterlösung)

Hausübung 2(Musterlösung) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 2(Musterlösung) 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 13: Echtzeit-Primärspeicherverwaltung CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Real-Time Operating Systems Ein Überblick

Real-Time Operating Systems Ein Überblick Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung

Mehr

Threads and Scheduling

Threads and Scheduling Vorlesung Betriebssysteme WS 2010, fbi.h-da.de Threads and Scheduling Jürgen Saala 1. Threads 2. Scheduling 2 1. Threads 3 Prozesse mit je 1 Adressraum 1 Ausführungsfaden d.h. Unabhängiger Adressraum mit

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Musterlösung Prüfung WS 01/02

Musterlösung Prüfung WS 01/02 Musterlösung Prüfung WS 01/02 Fach: I3 Software-Technik (SEE, GRS, BTS) Teilprüfung: Betriebssysteme Tag: 29.01.2002 10:45 14.45 Raum: 1006 Bearbeitungszeit: 4 Stunden Name:... Matr.Nr.:... Punkte:...

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

WS Parallele Prozesse. Prof. Hannelore Frank. Parallele Prozesse. PetriNetze. Synchronisation UNIX. Wettbewerb PC Krit.Abschnitt Spinlocks

WS Parallele Prozesse. Prof. Hannelore Frank. Parallele Prozesse. PetriNetze. Synchronisation UNIX. Wettbewerb PC Krit.Abschnitt Spinlocks WS 2007 Überblick 1 2 Petri-Netze als Entwurfshilfsmittel 3 nebenläufiger 4 -Systemfunktionen Literatur Eduard Glatz: Betriebssysteme. Grundlagen, Konzepte, Systemprogrammierung dpunkt.verlag, 2006, ISBN

Mehr

Inhaltsverzeichnis Kapitel 1 Grundlagen für Echtzeitsysteme in der Automatisierung

Inhaltsverzeichnis Kapitel 1 Grundlagen für Echtzeitsysteme in der Automatisierung Kapitel 1 Grundlagen für Echtzeitsysteme in der Automatisierung 1 1.1 Einführung 1 1.1.1 Echtzeitdatenverarbeitung 1 1.1.2 Ziele und Grundprinzip der Automatisierung von technischen Prozessen 2 1.1.3 Anwendungsbeispiele

Mehr

Quantitative Methoden. Betriebssysteme

Quantitative Methoden. Betriebssysteme Quantitative Methoden Betriebssysteme Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend auf deterministischen Modellen

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen Inhaltsverzeichnis 4.1 Systemmodell und notwendige Bedingungen Was sind Deadlocks? Darstellungsarten von Prozessabhängigkeiten Notwendige Bedingungen für Deadlocks 4.2 Gegenmaßnahmen Deadlock-Prevention

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Nebenläufige Programmierung in Java: Threads

Nebenläufige Programmierung in Java: Threads Nebenläufige Programmierung in Java: Threads Wahlpflicht: Fortgeschrittene Programmierung in Java Jan Henke HAW Hamburg 10. Juni 2011 J. Henke (HAW) Threads 10. Juni 2011 1 / 18 Gliederung 1 Grundlagen

Mehr

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

Mehr

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm TI Übung 5 Prozess-Scheduling Andreas I. Schmied (schmied@inf...) Abteilung Verteilte Systeme Universität Ulm SS2005 Und nun... Wiederholung 1 Wiederholung Andreas I. Schmied (schmied@inf...) TI Übung

Mehr

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Probeklausur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs/

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

Klausur. Betriebssysteme SS 2007

Klausur. Betriebssysteme SS 2007 Matrikelnummer: 9999999 Klausur FB Informatik und Mathematik Prof. R. Brause Betriebssysteme SS 2007 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre

Mehr

Parallele Prozesse. Prozeß wartet

Parallele Prozesse. Prozeß wartet Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:

Mehr

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks) Taskübergänge (process control block) Multitasking (kooperativ und präemptiv) Scheduler Erzeugen, Starten und Beenden von Tasks Taskzustände (running,

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 24.01.2013 Online Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Verbessertes Konzept: Monitore

Verbessertes Konzept: Monitore Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.

Mehr

Echtzeit-Programmierung bei Automatisierungssystemen

Echtzeit-Programmierung bei Automatisierungssystemen Echtzeit-Programmierung bei Automatisierungssystemen Von Dr. sc. techn. Walter jschaufelberger o. Professor an der Eidgenössischen Technischen Hochschule Zürich Dipl.-Ing. Peter Sprecher und Dipl.-Ing.

Mehr

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms Scheduling-Theorie Mathematische Modelle und Methoden für deterministische Scheduling-Probleme LiSA - A Library of Scheduling Algorithms Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel &

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Basisanforderungen: Erweiterte Anforderungen: Das fertige Protokoll bitte im Aufgabentool von I-Serv unter Abgaben hochladen!

Basisanforderungen: Erweiterte Anforderungen: Das fertige Protokoll bitte im Aufgabentool von I-Serv unter Abgaben hochladen! Basisanforderungen: 1. Erstelle das Modell der Temperaturregelung inkl. Programmierung. 2. Erläutere den Unterschied zwischen einer Steuerung und einer Regelung. 3. Benenne die Sensoren und Aktoren dieser

Mehr

Betriebssysteme. Teil 13: Scheduling

Betriebssysteme. Teil 13: Scheduling Betriebssysteme Teil 13: Scheduling Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 15.01.16 1 Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade,

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

Übung Betriebssysteme 11

Übung Betriebssysteme 11 Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme

Mehr

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

Mehr

Proseminar KVBK : Scheduler unter Linux

Proseminar KVBK : Scheduler unter Linux Proseminar KVBK : Scheduler unter Linux Valderine Kom Kenmegne Valderine Kom Kenmegne 1 Gliederung 1. Einführung 2. Einplanungsstrategien im Betriebsystem 2.1 Ziel der Einplanungsstrategien 2.2 Beispiele

Mehr