Roboter- und Automatisierungstechnik

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Roboter- und Automatisierungstechnik"

Transkript

1 Roboter- und Automatisierungstechnik Teil 4: Grundlagen der Echtzeitprogrammierung Hochschule Bremerhaven SS 2007 Prof. Dr. Oliver Zielinski Inhalt 4.1 Problemstellung 4.2 Echtzeitprogrammierverfahren 4.3 Rechenprozesse 4.4 Zeitliche Koordinierung von Rechenprozessen 4.5 Kommunikation zwischen Rechenprozessen 4.6 Scheduling-Verfahren

2 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 Problemstellung Was heißt Echtzeit? Bei Prozessrechneranwendungen kommt es im Gegensatz zur klassischen EDV darauf an, wann exakt (deterministisch -> vorhersagbar) durch einen Rechenprozess zeitlich genau eine zu erfüllende Aufgabe abgeschlossen ist. Häufig sind zeitkritische Anwendungen zu bearbeiten. Forderung Echtzeitverhalten (Realzeitbetrieb): Der Rechner muß mit den Vorgängen des technischen Prozeßes, die er erfassen und steuern soll, trägheitslos Schritt halten können.(din 44300). Dies bedingt, dass der Prozessrechner dann, wenn es vom Prozess erforderlich ist, die relevanten Prozesszustandsgrößen erfasst, die erforderlichen Stellgrößen berechnet und an den technischen Prozess ausgibt. Dabei darf die Zeitdauer eines solchen Erfassungs/Berechnungs/Ausgabezyklus durch die Rechenprozesse maximal nur solange dauern, wie im worst-case der erforderliche zeitliche Abstand zweier solcher Ereigniszeitpunkte durch den technischen Prozess vorgegeben ist.

3 Was heißt Echtzeit-Programmierung? Kommerzielle Datenverarbeitung Richtigkeit des Ergebnisses Echtzeit-Datenverarbeitung Richtigkeit des Ergebnisses Rechtzeitigkeit des Ergebnisses nicht zu früh, nicht zu spät NICHT-ECHTZEIT-DATENVERARBEITUNG: Eingangsdaten Ausgangsdaten ECHTZEIT-DATENVERARBEITUNG: Zeit Zeit Zeit Eingangsdaten Datenverarbeitung Datenverarbeitung Ausgangsdaten

4 Aber: Echtzeitanforderung ist nicht zwangsläufig an Prozessrechner gebunden. Sie existiert auch in Systemen, die nicht zu den Prozessrechner gehören z.b. in Buchungs- und Reservierungssysteme (z.b. von Fluggesellschaften) müssen bezüglich Antwortzeiten enge Zeitbedingungen einhalten (Größenordnung Sekunden). Bei Prozessrechner sehr häufig nur Milli- oder sogar Mikrosekunden. Beispiele: Echtzeitsysteme in a Nutshell 1 Prozessor, Lines of Code (LoC) Herzschrittmacher ein kleines Echtzeitsystem

5 ca.1200 Prozessoren, 4 Milliarden LoC Boeing 777 ein etwas größeres Echtzeitsystem Problem der zeitlichen Synchronisation der Rechenprozesse mit technischen Prozess: Erfassung der unterschiedlichen Messgrößen und/oder Ausgabe der Stellgrößen (Prozesssignalen) kann periodisch oder zeitlich variabel mit min/max Zeitangaben zu jeweils unterschiedlichen Zeiten nötig sein. Berechnung der Stellgrößen hängt von der Verfügbarkeit der Messgrößen ab unerwünschte/sicherheitsrelevante Prozesszustände müssen vorrangig und unmittelbar bearbeitet werden. Problem bei einem PZR: die Zuteilung der exklusiv einmal verfügbaren Rechenzeit an die einzelnen Rechenprozesse, so dass Realzeitbetrieb gewährleistet

6 Aufgrund der Forderungen nach Rechtzeitigkeit und Gleichzeitigkeit ergeben sich parallele bzw. quasiparallele Abläufe im Automatisierungssystem. Während in einem sequentiellen Programm der Ablauf vorhersehbar ist, ist dies in einem Echtzeitsystem mit parallelen Vorgängen und asynchronen Ereignissen nicht zwangsläufig. Geringste zeitliche Verschiebungen können zu vollkommen unterschiedlichen Abläufen führen, die vielleicht dasselbe funktionale Ergebnis, aber nicht dasselbe zeitliche Verhalten besitzen. Bei harten Echtzeitsystemen, insbesondere bei sicherheitskritischen Systemen spielt die Vorhersehbarkeit, d. h. die Determiniertheit, eine entscheidende Rolle. Wenn der genaue Ablauf nicht bestimmt ist, kann das zeitliche Verhalten und damit die Sicherheit des Automatisierungssystem nicht garantiert werden. In einem determinierten System ist garantiert, dass das System zu jedem Zeitpunkt reagieren kann und in einem zeitlich determinierten System sogar bis wann die Reaktion erfolgt sein wird. Echtzeitprogrammierung 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 Anforderungen an das zeitliche Verhalten der Datenverarbeitung - Rechtzeitigkeit - Gleichzeitigkeit

7 Unterschiede zwischen Informations- und Echtzeitsystemen Begriffsklärungen (1) Reaktive Systeme Echtzeitsysteme, die auf Eingangssignale vom technischen Prozess reagieren und Ausgangssignale zur Beeinflussung des technischen Prozesses liefern. Beispiel: Automatisierungssysteme Eingebettete Systeme Integration des Automatisierungssystems in den technischen Prozess (Physikalisch und logisch) Beispiel: Rasierapparat, Handy, Waschmaschine, Werkzeugmaschine

8 Begriffsklärungen (2) Harte Echtzeitsysteme Einhaltung von strengen Zeitschranken (Deadlines) ist unabdingbar Beispiel: DDC-Regelungen in Flugzeugen, Motorsteuerungen im Kraftfahrzeug Weiche Echtzeitsysteme Eine Verletzung von Zeitschranken kann toleriert werden Beispiele für weiches und hartes Echtzeitsystem Weiches Echtzeitsystem: Digitaler Videorekorder Hartes Echtzeitsystem: Kernkraftwerk Biblis

9 Rechtzeitigkeit Zeitbedingungen: Absolutzeitbedingung Bedingungen liegen bezogen auf die Uhrzeit fest Beispiel: Signal setzen um 11:45h zur Abfahrt des Zuges Relativzeitbedingung Bedingungen liegen bezogen zu noch stattzufindenden stochastischen Ereignissen fest Beispiel: Abschaltsignal 10s nach Überschreiten eines Messwertes Klassifizierung von Zeitbedingungen (1)

10 Klassifizierung von Zeitbedingungen (2) Klassifizierung von Zeitbedingungen (2) Ausführung einer Funktion zu festen Zeitpunkten Relativzeitbedingungen Absolutzeitbedingungen Kennfeldaufnahme an Prüfständen Analyse von Stoffen in der Chemie Ausführung einer Funktion in einem Toleranz- Zeitintevall Erfassung von Regelgrößen Messwertüberwachung auf gleitende Grenzen Ausführung einer Funktion in einem Zeitintervall bis zu einem spätesten Zeitpunkt Erfassung von Datentelegrammen Erfassung von Stückgutkennungen Ausführung einer Funktion n einem Zeitintervall von einem frühesten Zeitpunkt an Folgesteuerung bei Chargenprozessen Erfassung von Signalen einer Lichtschranke

11 Gleichzeitigkeit Echtzeitsysteme müssen auf gleichzeitig ablaufende Vorgänge gleichzeitig reagieren. D.h. mehrere Datenverarbeitungsaufgaben müssen gleichzeitig durchgeführt werden. Beispiele: - gleichzeitige Fahrt mehrerer Züge - Erfassung und Verarbeitung mehrerer gleichzeitig anfallender Messwerte z.b. einer Heizung - ABS und Motor gleichzeitig - Gleichzeitig Programm editieren und Peripheriegrät (z.b. Drucker, Terminal) bedienen Realisierung von Gleichzeitigkeit jede Datenverarbeitungsaufgabe durch getrennte Computer Echt parallel einen Computer für alle Datenverarbeitungsaufgaben Quasi gleichzeitig / quasi parallel Voraussetzung: Vorgänge in der Umwelt langsam im Vergleich zum Ablauf der Programme im Rechner

12 Forderung Determiniertheit Ein Echtzeitsystem heißt determiniert, wenn sich für jeden möglichen Zustand und für jede Menge an Eingangsinformationen eine eindeutige Menge von Ausgabeinformationen und ein eindeutiger nächster Zustand bestimmen lässt. 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. Echtzeit-Programmierverfahren Arten des Vorgehens Synchrone Programmierung Planung des zeitlichen Ablaufs vor der Ausführung der Programme erfordert einen Planer Planwirtschaft Asynchrone Programmierung (Parallelprogrammierung) Organisation des zeitlichen Ablaufs während der Ausführung der Programme erfordert einen Organisator Marktwirtschaft

13 Verfahren zur synchronen Programmierung Synchrone Programmierung: Planung des zeitlichen Verhaltens zyklisch auszuführender Teilprogramme vor der Ausführung Prinzipielle Vorgehensweise: 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 Beispiel: Regelung einer Heizungsanlage

14 Planung Auslegung der Regelalgorithmen und Reglerparameter Festlegung der Abtastzeiten für die Regelkreise T = Taktdauer der Echtzeituhr T i = Abtastzeit für den Regelkreis i T 1 = T T 2 = 2T T 3 = 5T Zuordnung von Bezeichnern und Abtastzeiten 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

15 Grobentwurf Feinentwurf

16 Zeitlicher Ablauf Wichtigsten Eigenschaften synchroner Programmierung (1) Forderung nach Rechtzeitigkeit wird näherungsweise erfüllt Forderung nach Gleichzeitigkeit wird erfüllt, wenn Zykluszeit T klein gegenüber den Zeitabläufen im technischen Prozess ist Gute Eignung für Echtzeit-Systeme mit zyklischen Programmabläufen Nicht geeignet für Echtzeit-Systeme mit zeitlich nicht vorhersehbaren (asynchronen) Ereignissen (z.b. Einführen einer Brennerstörung) Erhöhung der Rechenzeit durch ständiges Abfragen (Polling) Verzögerung der Reaktion

17 Wichtigsten Eigenschaften synchroner Programmierung (2) Deterministisches Verhalten kein komplexes Organisationsprogramm aufwendigere Planung Nachteil der synchronen Programmierung: Änderung der Aufgabenstellung bedeutet Änderung der gesamten Programmstruktur! Verfahren der asynchronen Programmierung (2) Zeitlicher Ablauf wird nicht vorher geplant 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 (Scheduling-Strategie) In der Praxis häufig: Zuordnung von Prioritätsnummern Priorität umso höher, je niedriger die Prioritätsnummer ist

18 Beispiel: Regelung einer Heizungsanlage Zuordnung von Bezeichnern, Abtastzeiten und Prioritäten Teilprogramm Bezeichner (Name) Abtastzeit (Zykluszeit) Prioritätsnummer Priorität Reaktion auf Brennerstörung mit Alarmmeldung ALARM - 1 Höchste Temperatur-Regelung für die Regelstrecke Heizkreis Wohnung REGELUNG 1 T 1 = T 2 zweithöchste Temperatur-Regelung für die Regelstrecke Heizkreis Büro REGELUNG 2 T 2 = 2T 3 dritthöchste Temperatur-Regelung für die Regelstrecke Heizkessel REGELUNG 3 T 3 = 5T 4 vierthöchste

19 Zeitlicher Ablauf Wichtigsten Eigenschaften synchroner Programmierung (1) Forderung nach Rechtzeitigkeit nur näherungsweise erfüllt bei niedriger Priorität Zeitbedingungen um so besser erfüllt, je höher die Priorität des jeweiligen Teilprogramms ist Ist-Zeitablauf kann sich gegenüber Soll-Zeitablauf stark verschieben, dass Teilprogramme sich gegenseitig überholen können. 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 Komplexes Verwaltungsprogramm Programmablauf schwer durchschaubar

20 Ereignisgesteuerte Echtzeitsysteme Alle Aktivitäten werden durch Ereignisse ausgelöst Aktivierung von Tasks Senden von Nachrichten Organisation der Abläufe erfolgt durch Echtzeit-Betriebssysteme Verhalten ist nicht deterministisch flexibel bezüglich Veränderungen Zeitgesteuerte Echtzeitsysteme Periodische Durchführung aller Tasks und Kommunikationsaufgaben Abtastung von externen Zustandsgrößen zu festgelegten Zeitpunkten wenig flexibel bei Änderungen einfach analysierbar Für Automatisierungssysteme, bei denen die Sicherheit zu gewährleisten ist, werden nur zeitgesteuerte Strategien zugelassen Rechenprozesse Unterscheidung Programm (Anzahl von Befehlen) Ausführung des Programms (einmalige Ausführung der Befehlsfolge) Rechenprozess Aufruf von Unterprogrammen Ausführung des aufrufenden Programms wird unterbrochen Ausführung des Unterprogramms Fortsetzung des aufrufenden Programms Aufruf eines Rechenprozesses gleichzeitige Ausführung des aufrufenden Programms und des aufgerufenen Rechenprozesses

21 Rechenprozess = Task Ein Rechenprozess ist ein von einem Echtzeit-Betriebssystem gesteuerter Vorgang der Abarbeitung eines sequentiellen 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 Task besteht aus einem oder mehreren Threads Zweckmässig Einführung einer Hierarchie von parallel ausführbaren Objekten umfassendes Objekt: Task Task setzt sich aus einem oder mehreren Threads zusammen Unterschiede zwischen Task und Thread Task Besitzer von Betriebsmitteln Eigener Adressraum 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 Enthält einen oder mehrere Threads Kommunikation über die Taskgrenzen hinaus, bevorzugt über Botschaften Element einer Task Kommunikation zwischen den Threads, bevorzugt über gleiche Daten

22 Zustände von Prozessen Zustand laufend (running) das Teilprogramm ist in Bearbeitung Zustand bereit oder ablaufwillig (runable) Zeitbedingungen für den Ablauf sind erfüllt Es fehlt der Start durch das Betriebssystem 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. Zustandsdiagramm eines Rechenprozesses

23 Rechenprozess REGELUNG3 bei asynchroner Programmierung Prioritätsvergabe von Rechenprozessen 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) r: Remaining flow time (Restantwortzeit) f: Flow time (Antwortzeit)

24 Auftreten der Zeitparameter eines Rechenprozesses A <= R <= S <= C - E <= D - E 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

25 Zeitliche Koordinierung von Rechenprozessen Aussage, zwei Prozess sind parallel oder sequentiell oft zu ungenau, da es Sowohl Programmteile geben kann, die parallel als Programmteile die nicht Gleichzeitig ausgeführt werden dürfen. Daher zeitlich zusammenhängende Abschnitte sog. Aktionen betrachten. Klassifikationen von Aktionen eines Rechenprozesses Zwei Aktionen in Rechenprozessen heißen parallel, wenn sie gleichzeitig ablaufen können Zwei Aktionen heißen sequentiell, wenn sie in einer bestimmten Reihenfolge angeordnet sind und immer in dieser ablaufen müssen 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 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 (z.b. Prozess1 kann immer nur nach Prozess2 ablaufen) Abhängigkeiten durch die gemeinsame Benutzung von Betriebsmitteln

26 Beispiel: Probleme die durch Abhängigkeiten entstehen können: Verklemmung (Deadlock): zwei oder mehrere Rechenprozesse blockieren sich gegenseitig Permanente Blockierung (Lifelock, starvation) Konspiration von Rechenprozessen blockiert einen Rechenprozess zeitliche Koordinierung der Rechenprozesse notwendig = Synchronisierung von Rechenprozessen = Einschränkung des freien parallelen Ablaufs

27 Beispiel eines Deadlock Beispiel eines Livelock: The Dining Philosophers

28 Formen 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) Verfahren zur Synchronisierung Semaphore kritische Regionen Rendez-vous-Konzept Grundgedanke Rechenprozess muss warten, bis ein bestimmtes Signal bzw. Ereignis eintrifft Einfügen von Wartebedingungen an den kritischen Stellen

29 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(S i ): Operation P(S i ) bestimmt den Wert von S i ist der Wert von S i > 0 wird S i um 1 erniedrigt ist S i = 0 wird gewartet, bis S i > 0 geworden ist Beispiel 1: Zugverkehr über eine eingleisige Strecke

30 Beispiel 2: Zugverkehr über eine eingleisige Strecke Beispiel : Zwei Prozesse sollen abwechselnd laufen

31 Kommunikation zwischen Rechenprozessen Definitionen Synchronisierung = Erfüllung zeitlicher und logischer Randbedingungen beim parallelen Ablauf von Rechenprozessen Kommunikation = Austausch von Daten zwischen parallel ablaufenden Rechenprozessen Wechselwirkung: Synchronisierung Kommunikation Synchronisierung: Kommunikation: informationslose Kommunikation Synchronisierung zum Informationsaustausch Möglichkeiten der Datenkommunikation Gemeinsam benutzter Speicher (shared memory) gemeinsame Variable gemeinsame komplexe Datenstruktur Versenden von Nachrichten explizite Übertragung von Nachrichten von einem Rechenprozess zu einem anderen durch einen Nachrichtendienst (message passing) vor allem bei verteilten Systemen

32 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 Scheduling Verfahren Scheduling-Problem Rechenprozesse benötigen Ressourcen (Prozessor, Ein-/Ausgabegeräte usw.) Ressourcen sind knapp Rechenprozesse konkurrieren um Ressourcen Zuteilung von Ressourcen muss verwaltet werden Definitionen Task: Taskset: Rechenprozess der vom Scheduler verwaltet wird Menge aller verwalteten Tasks

33 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? 3. Ist der Algorthmus optimal in dem Sinne, dass er immer einen gültigen Schedule findet, wenn dies durch einen Ausführbarkeitstest nachgewiesen wurde? Klassifizierung in Abhängigkeit vom Zeitpunkt der Planung Statisches Scheduling 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 Organisation des zeitlichen Ablaufs während der Ausführung der Tasks erheblicher Laufzeit-Overhead

34 Klassifizierung nach Art der Durchführung Unterscheidung, ob eine laufende Task verdrängt werden darf oder nicht 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 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

35 FIFO-Scheduling Nicht-preemptives Scheduling Task, deren Einplanung am weitesten zurückliegt bekommt Prozessor einfache Realisierung ungeeignet für harte Echtzeitsysteme Tasks werden in der Reihenfolge ausgeführt, in der sie ablauffähig werden 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

36 Beispiel: Round-Robin-Verfahren Jeder Zeitschlitz sei 10ms groß und 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 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

37 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 Wird in der Praxis häufig verwendet Beispiel: Ratenmonotones Scheduling (Rate-Monotonic - Verfahren)

38 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 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

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

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

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

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

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

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

Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem

Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem Björn Pietsch Universität Hannover Amos Albert Robert Bosch GmbH 1 Gliederung Zeitgesteuerte Bussysteme Bisherige Lösungen

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

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

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

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

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

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1 Musterlösung 3 Mikroprozessor & Eingebettete Systeme 1 WS214/215 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tief ergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg

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

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

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

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

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

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

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

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

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

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

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

DIPLOMHAUPTPRÜFUNG FÜR ELEKTROINGENIEURE PROZESSAUTOMATISIERUNG I Sommersemester 2006 - Musterlösung

DIPLOMHAUPTPRÜFUNG FÜR ELEKTROINGENIEURE PROZESSAUTOMATISIERUNG I Sommersemester 2006 - Musterlösung Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Mr, Mb 30.08.06 DIPLOMHAUPTPRÜFUNG FÜR ELEKTROINGENIEURE PROZESSAUTOMATISIERUNG I Sommersemester

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

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

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

Ü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

Uhrensynchronisation. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Uhrensynchronisation. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Uhrensynchronisation Dipl.-Inf. J. Richling Wintersemester 2003/2004 Motivation Zeit kann in Anwendungen eine große Rolle spielen, insbesondere bei Echtzeitsystemen Häufig wichtiger noch als korrekte Zeit:

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

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

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7. Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

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

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

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

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

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

Echtzeitsysteme. Struktureller Aufbau von Echtzeitanwendungen. Peter Ulbrich. 21. Oktober 2014. Lehrstuhl Informatik 4

Echtzeitsysteme. Struktureller Aufbau von Echtzeitanwendungen. Peter Ulbrich. 21. Oktober 2014. Lehrstuhl Informatik 4 Echtzeitsysteme Struktureller Aufbau von Echtzeitanwendungen Peter Ulbrich Lehrstuhl Informatik 4 21. Oktober 2014 c wosch, fs, pu (Lehrstuhl Informatik 4) Echtzeitsysteme WS 14/15 1 / 39 III-2 Echtzeitanwendungen

Mehr

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

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

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

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

Seminar. PG AutoLab. Verteilte Echtzeitsysteme. Sabrina Hecke. PG 522 Fachbereich Informatik Technische Universität Dortmund Lehrstuhl XII

Seminar. PG AutoLab. Verteilte Echtzeitsysteme. Sabrina Hecke. PG 522 Fachbereich Informatik Technische Universität Dortmund Lehrstuhl XII PG AutoLab Seminar Verteilte Echtzeitsysteme Sabrina Hecke PG 522 Fachbereich Informatik Technische Universität Dortmund Lehrstuhl XII 21. bis 23. Oktober 2007 Inhaltsverzeichnis 1 Was sind Echtzeitsysteme?

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

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

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

Einführung in die Echtzeitbetriebssysteme

Einführung in die Echtzeitbetriebssysteme Einführung in die Echtzeitbetriebssysteme Hauptseminararbeit in dem Studiengang B.Sc. Informatik von Maximilian von Piechowski Technische Hochschule Mittelhessen Inhaltsverzeichnis 1 Was versteht man unter

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Prozessinformationsverarbeitung. Echtzeitbetriebssysteme. Professur für Prozessleittechnik Wintersemester 2009/2010

Prozessinformationsverarbeitung. Echtzeitbetriebssysteme. Professur für Prozessleittechnik Wintersemester 2009/2010 Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Prozessinformationsverarbeitung (PIV) Echtzeitbetriebssysteme Professur für Prozessleittechnik Wintersemester 2009/2010

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

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

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

Mehr

Simple Scope. ecos-vertiefung. Florian Franzmann Tobias Klaus Peter Wägemann

Simple Scope. ecos-vertiefung. Florian Franzmann Tobias Klaus Peter Wägemann Simple Scope ecos-vertiefung Florian Franzmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de

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

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Fragenkatalog Echtzeitsysteme/Realzeitsysteme. Jürgen Quade

Fragenkatalog Echtzeitsysteme/Realzeitsysteme. Jürgen Quade Fragenkatalog Echtzeitsysteme/Realzeitsysteme Jürgen Quade Fragenkatalog Echtzeitsysteme/Realzeitsysteme von Jürgen Quade V1.4, 31. Januar 2008 Versionsgeschichte Version $Revision: 1.1 $ $Date: 2005/01/25

Mehr

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

Mehr

Seminar Moderne Konzepte für weitverteilte Systeme SS 02

Seminar Moderne Konzepte für weitverteilte Systeme SS 02 Seminar Moderne Konzepte für weitverteilte Systeme SS 02 Filesharing mit Gnutella: Skalierungsprobleme eines populären P2P-Systems Torsten Ehlers 10.06.2002 1 Übersicht Gnutella: Eigenschaften des Systems

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

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer

Mehr

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation 1 Sequentielle Prozesse Zu jedem Zeitpunkt t wird genau eine einzige Instruktion ausgeführt Hängt ab vom Abstraktionsgrad

Mehr

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Peter Löhr Nichtsequentielle Programme Nichtsequentielle Programme (concurrent programs): Prozesse, Threads, Tasks,... sind eigenständige

Mehr

*DE102007042999A120090312*

*DE102007042999A120090312* *DE102007042999A120090312* (19) Bundesrepublik Deutschland Deutsches Patent- und Markenamt (10) DE 10 2007 042 999 A1 2009.03.12 (12) Offenlegungsschrift (21) Aktenzeichen: 10 2007 042 999.3 (22) Anmeldetag:

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

5 Echtzeit-Betriebssysteme

5 Echtzeit-Betriebssysteme 5 Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems

Mehr

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern)

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern) Klausur Verteilte Systeme 15.6. R120A 8:00-9:30 5 Aufgaben, 50 Punkte (8 12 pro Aufgabe) 45-50 1.0 44 1.1 35 2.0 25 3.0 15 4.0 http://www.bts.fh-mannheim.de Aufgaben: (dazugehörige Kapitel / Seitenangaben

Mehr

OSEK/OSEKtime OS. Friedrich Alexander Universität Erlangen-Nürnberg. Wilhelm Haas 15. Juli 2006

OSEK/OSEKtime OS. Friedrich Alexander Universität Erlangen-Nürnberg. Wilhelm Haas 15. Juli 2006 OSEK/OSEKtime OS Ausgewählte Kapitel eingebetteter Systeme Friedrich Alexander Universität Erlangen-Nürnberg 1 Einführung Die Abkürzung OSEK steht für ein im Jahre 1993 gegründetes industrielles Standardisierungsgremium,

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

Zeit- und ereignisgesteuerte Echtzeitsysteme

Zeit- und ereignisgesteuerte Echtzeitsysteme Zeit- und ereignisgesteuerte Echtzeitsysteme Stephan Braun Stephan.Braun.Hagen@t-online.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Echtzeitsystemmodell Einführung Ereignis- und zeitgesteuerte

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

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

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,

Mehr

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Embedded- und RT-Betriebssysteme Dipl.-Inf. J. Richling Wintersemester 2003/2004 Überblick Fünfeinhalb Vorlesungen: Embedded- und RT-Betriebssysteme (heute) Beispiel: Windows CE (22.1.04) Beispiel: Windows

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

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals

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

Ethernet als Bus für Echtzeitanwendungen im Automobil:

Ethernet als Bus für Echtzeitanwendungen im Automobil: Ethernet als Bus für Echtzeitanwendungen im Automobil: Konzepte aus der Automatisierungsbranche Hochschule für Angewandte Wissenschaften Hamburg Anwendungen 1 WS 08/09 16. Dezember 2008 Wie alles began

Mehr

Durchführung eines ELAN-Projektes zum Thema "Echtzeitdatenverarbeitung"

Durchführung eines ELAN-Projektes zum Thema Echtzeitdatenverarbeitung Durchführung eines ELAN-Projektes zum Thema "Echtzeitdatenverarbeitung" PEARL-Workshop 2004 Prof. Dr. Juliane Benra Prof. Dr. Peter Elzer Gliederung Motivation und Rahmenbedingungen Entscheidungen und

Mehr

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

Mehr

Universität Koblenz-Landau. Fachbereich 4: Informatik. Prof. Dr. Dieter Zöbel. Seminararbeit OSEK/VDX. Seminar Echtzeitsysteme.

Universität Koblenz-Landau. Fachbereich 4: Informatik. Prof. Dr. Dieter Zöbel. Seminararbeit OSEK/VDX. Seminar Echtzeitsysteme. Universität Koblenz-Landau Fachbereich 4: Informatik Prof. Dr. Dieter Zöbel Seminararbeit Seminar Echtzeitsysteme Thema 4 Wintersemester 1999/2000 Von Thorsten Schaub (thorsten@schaub-home.de) 17.12.1999

Mehr

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011 Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme Eine Einführung Klaus Kusche, Okt. 2011 Ziele des Vortrags Überblick über das Thema Praktisches Verständnis von Anforderungen Problembereichen

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen

Mehr

Technische Grundlagen. Betriebssystem, Mac, GoLive

Technische Grundlagen. Betriebssystem, Mac, GoLive Technische Grundlagen Betriebssystem, Mac, GoLive Betriebssystem Nutzer Anwendungsprogramme Systemprogramme Hardware U1...Un Textverarbeitungssysteme Buchungssysteme Verwaltungsprogramme Spiele Kommandointerpreter

Mehr

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität Parallelrechner (1) Motivation: Bedarf für immer leistungsfähigere Rechner Leistungssteigerung eines einzelnen Rechners hat physikalische Grenzen: Geschwindigkeit von Materie Wärmeableitung Transistorgröße

Mehr

LeJOS: Mindstorms in Java programmieren

LeJOS: Mindstorms in Java programmieren LeJOS: Mindstorms in Java programmieren Alexander Koller Softwareprojekt "Sprechende Roboter" 30. April 2004 Überblick Warum Java? Was ist LeJOS? Motoren steuern Auf Sensoreingaben reagieren Wie geht's

Mehr

SPS (Fragenkatalog - Dipl.-Ing. U. Held. Inhaltsverzeichnis

SPS (Fragenkatalog - Dipl.-Ing. U. Held. Inhaltsverzeichnis Inhaltsverzeichnis 1. Die wichtigsten Anforderungen an eine SPS ist schnelle Signalverar-beitung. Erläutern Sie ausführlich, welche Signale eine SPS verarbeiten kann und wie diese Verarbeitung funktioniert!

Mehr