Prozessautomatisierungstechnik

Größe: px
Ab Seite anzeigen:

Download "Prozessautomatisierungstechnik"

Transkript

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

2 Inhaltsangaben zu Kapitel 4 Echtzeitsysteme und Echtzeitprogrammierung 4.1 Echtzeitsysteme 4.2 Aufgaben von Echtzeitsystemen 4.3 Echtzeitsysteme Beispiele 4.4 Anforderungen an Echtzeitsysteme 4.5 Echtzeit-Programmierverfahren 4.6 Synchronisierung von Tasks 4.7 Synchronisierungsverfahren 4.8 Scheduling-Verfahren WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 2

3 Echtzeitbezug 4.1 Echtzeitsysteme Automatisierung mit Echtzeitanforderungen Automatisierungssystem Zeitabhängige Eingangsdaten Zeitabhängige Ausgangsdaten Schnittstelle (Sensorik) Schnittstelle (Kommunikation) Schnittstelle (Aktorik) Technisches System (Produkt oder Anlage) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 3

4 4.1 Echtzeitsysteme Echtzeitsteuerung (Real Time Control) Bei der Datenverarbeitung in Echtzeitsystemen muss die Erfassung, Verarbeitung und Ausgabe von (gültigen, fehlerfreien) Daten zu bestimmten, durch das System und seinen Zustand vorgegebenen Zeitpunkten (oder innerhalb bestimmter Zeitintervalle) erfolgen. Das Ergebnis ist nur dann fehlerfrei, wenn es inhaltlich und zeitlich den gestellten Anforderungen entspricht. Echtzeitanforderungen - Harte Anforderungen: verspätete Reaktion einer Komponente führt zum Systemausfall, zu Schadensfällen oder zu Katastrophen. - Weiche Anforderungen: Überschreitungen von Zeitlimits können ausnahmsweise toleriert werden, ohne dass der technische Prozess in gefährliche oder fatale Systemzustände übergeht. Nichteinhaltung von vorgegebenen Reaktionszeiten führt zu ansteigenden Kosten WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 4

5 Hardware Betriebssoftware Anwendungssoftware 4.1 Echtzeitsysteme Komponenten eines Echtzeit-Steuerungssystems Verarbeitungs- und Steuerungsalgorithmen Regel- und Steuerprogramm Anwendung Mensch-Maschine-Schnittstelle (HMI: Human Machine Interface) Bedienung und Visualisierung Programm zur Verwaltung der Rechenprozesse und Betriebmittel in Echtzeit Echtzeit-Betriebssystem, Run-Time-System, Run-Time-Umgebung Prozessperipherie Bus Schnittstelle Hardware Timer WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 5

6 4.1 Echtzeitsysteme Aufgaben des Timer - zyklische Interruptgenerierung zur Realisierung von zeitabhängigen Systemdienste ( Weckrufe ) - Zeitmessung, z.b. zur Ermittlung von Geschwindigkeiten - Watchdog-Funktionen, z.b. zur Zeitüberwachung in kritischen Prozessen - Zeitsteuerung für periodische Dienste, z.b. Messwertübertragung Anforderungen bei Echtzeitprogrammierung - Rechtzeitigkeit: Reaktion zur richtigen Zeit - Gleichzeitigkeit: gleichzeitige Reaktion auf mehrere Dinge - Verlässlichkeit: Zuverlässigkeit, Sicherheit, Verfügbarkeit - Vorhersehbarkeit: Planbarkeit und Determiniertheit aller Reaktionen WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 6

7 4.2 Aufgaben von Echtzeitsystemen Hauptfunktion Steuerung und Überwachung von quasi-parallelen Teilprogrammen bei vorgegebenen Zeitbedingungen unter Berücksichtigung von Nebenbedingungen, wie z.b. der Prozesspriorität Allgemeine Organisationsaufgaben - Laden und Starten von Anwendungsprogrammen - Organisation von Schnittstellen-Operationen (Ein- und Ausgabe, Datentransport) - Speichermanagement - Klassifizierung von Fehlern und Handhabung von Ausnahmezuständen (Neuanlauf nach Stromausfall, Alarmfunktionen usw.) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 7

8 4.2 Aufgaben von Echtzeitsystemen Koordinierungssaufgaben - Entscheidung der Reihenfolge der Abarbeitung von Teilprogrammen - Gegenseitiger Ausschluss zweier oder mehrerer Tasks, um zu verhindern, dass mehrere Prozesse auf die gleichen Resourcen zugreifen. - Zuordnung der Tasks zu den Prozessoren bei Multiprozessorsystemen - Verwaltung der Systemprozesse - Verwaltung von Interrupts WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 8

9 Steigende Prio. 4.2 Aufgaben von Echtzeitsystemen Verwaltung von Interrupts - Unterbrechung des geplanten Programmablaufs - Anstoß einer Behandlungsroutine - Priorisierung von Interrupts - Hardwarefunktionen für die Interrupt-Behandlung Geplanter Programmablauf (ohne Interrupt): Steuerungsprogramm t Tatsächlicher Programmablauf (mit Interrupt): Interrupt 1 ISR 1 Interrupt Service Routine Steuerungsprogramm Steuerungsprogramm t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 9

10 4.2 Aufgaben von Echtzeitsystemen Speicherverwaltung - Optimale Ausnutzung der schnellen Speicher - Koordinierung des gemeinsamen Zugriffs auf einen Speicherbereich - Schutz des Speicherbereichs verschiedener Rechenprozesse gegen Fehlzugriffe - Zuweisung von physikalischen Speicheradressen für die logischen Namen in Anwenderprogrammen Ein-/Ausgabesteuerung - Hardwareunabhängige Ebene für die Datenverwaltung und den Datentransport - Hardwareabhängige Ebene, die alle gerätespezifischen Eigenschaften berücksichtigt (Treiber-Programme). WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 10

11 4.2 Aufgaben von Echtzeitsystemen Klassifikation und Behandlung von Fehlern und irregulärer Betriebszustände - fehlerhafte Benutzereingaben - fehlerhafte Anwenderprogramme - Hardwarefehler/-ausfälle Erkennung von Hardwarefehlern bzw. ausfällen Rekonfigurierung ohne die fehlerhaften Teile Abschaltsequenzen bei Stromausfällen - Deadlocks (Verklemmungen) aufgrund dynamischer Konstellationen WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 11

12 Externe Interrupts Rechenprozesscode 4.3 Echtzeitsysteme - Beispiele Übersichtsdiagramm für ein Mini-Betriebssystem Uhrimpulsinterrupt Zeit Aktivierung Suche Interrupt 1 Interrupt 2 Verwaltungsblock Interrupt k Zyklus Zeitzähler Deaktivierung Unterbrechungsverwaltung Zeitverwaltung Taskverwaltung Prozessorverwaltung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 12

13 4.3 Echtzeitsysteme - Beispiele Aktuelle Beispiele für Echtzeitbetriebssysteme - QNX: kommerzielles Unix-ähnliches Betriebssystem speziell für eingebettete Systeme (Embedded systems); POSIX-konform (Portable operating system interface for Unix) - OS9: relativ stark verbreitet in Steuerungssystemen, ursprünglich für den 8-Bit-Prozessor 6809 von Motorola entwickelt. - VxWorks (wurde bei der Pathfinder-Mission zum Mars eingesetzt) - RTLinux: Erweiterung von Linux für Echtzeitanforderungen - Windows CE: sehr kleines Echtzeitbetriebssystem, das auf vielen Pocket-PCs läuft. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 13

14 4.3 Echtzeitsysteme - Beispiele Auswahl kommerzieller Echtzeit-Betriebssysteme WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 14

15 4.3 Echtzeitsysteme - Beispiele Auswahl kommerzieller Echtzeit-Betriebssysteme WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 15

16 4.4 Anforderungen an Echtzeitsysteme Nicht-Echtzeit-Datenverarbeitung Eingangsdaten Daten- Verarbeitung Ausgangsdaten Echtzeit-Datenverarbeitung Zeit Zeit Zeit Eingangsdaten Daten- Verarbeitung Ausgangsdaten Automatisierungssystem Zeitabhängige Eingangsdaten Zeitabhängige Ausgangsdaten Technischer Prozess WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 16

17 4.4 Anforderungen an Echtzeitsysteme Forderung nach Rechtzeitigkeit - unterschiedliche Fälle 1 0 t 1 t 2 t 3 t 4 t Ausführung eines Programms zu bestimmten Zeitpunkten t i 1 0 Toleranzbereich t 1 t 2 t Ausführung eines Programms zu bestimmten Zeitpunkten t i unter Zulassung von Toleranzintervallen 1 0 t i t Ausführung eines Programms bis spätestens zu einem bestimmten Zeitpunkt t i 1 0 t i t Ausführung eines Programms frühestens ab einem bestimmten Zeitpunkt t i WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 17

18 4.4 Anforderungen an Echtzeitsysteme Forderung nach Gleichzeitigkeit - Vorgänge in Umwelt laufen gleichzeitig ab gleichzeitige Reaktion der Echtzeit-Systeme erforderlich Gleichzeitige Durchführung von mehreren Datenverarbeitungsaufgaben - Beispiele: Reaktion auf gleichzeitige Fahrt mehrerer Züge Verarbeitung mehrerer gleichzeitig anfallender Messwerte bei einer Heizungsregelung Motorsteuerung und ABS-System gleichzeitig - Realisierung der Gleichzeitigkeit: Ideal: Getrennter Rechner für jede Datenverarbeitungsaufgabe echt parallel Praxis: Einen Rechner führt alle Datenverarbeitungsaufgaben durch. quasi-gleichzeitig / quasi-parallel WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 18

19 4.4 Anforderungen an Echtzeitsysteme Forderung nach Vorhersagbarkeit/Determiniertheit - Determiniertheit: Eindeutige Bestimmbarkeit der Menge von Ausgangsinformationen und des nächsten Zustandes für jeden möglichen Zustand und für jede Menge an Eingangsinformationen Voraussetzung: endliche Menge von Systemzuständen; bei digitalen Rechnersystemen immer gegeben. - Zeitliche Determiniertheit: Antwortzeit für jede Menge von Ausgangsinformationen bekannt! - Determiniertheit als elementar wichtige Eigenschaft für harte Echtzeitsysteme: Voraussetzung für Garantie der Sicherheit bei sicherheitskritischen Systemen Geringste zeitliche Verschiebungen können zu vollkommen unterschiedlichen Abläufen führen. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 19

20 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Prinzip: Planung des zeitlichen Ablaufs vor der Ausführung der Programme - Vorgehensweise: Teilprogramme werden zyklisch abgearbeitet. Zyklischer Ablauf wird mit Hilfe einer Echtzeituhr über ein vorgegebenes Zeitraster synchronisiert. (Zeittriggerung) Reihenfolge der Teilprogramme wird vorher festgelegt. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 20

21 DAU ADU 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Aufgabenstellung Echtzeit- Uhr Bedienterminal u 3 (t) u 2 (t) Automatisierungsrechner REGLER 3 REGLER 2 y 3 (t) y 2 (t) u 1 (t) REGLER 1 y 1 (t) T 3 = T T 3 = 2T T 3 = 5T Teilstrecke 1 Heizkreis Wohnung Teilstrecke 2 Heizkreis Büro Teilstrecke 3 Heizkessel Raumtemperatur Wohnung Vorlauftemperatur Raumtemperatur Büro WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 21

22 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Grobentwurf des Steuerungsprogramms Interruptsignale von der Echtzeit-Uhr mit der Zykluszeit T ANFANG Alle T 1 = T REGLER 1 aufrufen Alle T 2 = 2T REGLER 2 aufrufen Alle T 3 = 5T REGLER 3 aufrufen Warteschleife WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 22

23 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Feinentwurf des Steuerungsprogramms Im Zeitabstand T aufeinanderfolgende Interruptsignale bewirken Start an dieser Stelle ANFANG Definition der Zählvariablen Z2 und Z3 Z2:=1 Z3:=1 REGLER1 abarbeiten Z2 und Z3 initialisieren Z2:=Z2+1 nein Z2:=2? ja REGLER2 abarbeiten Z2=1 Z3:=Z3+1 nein Z3:=5? ja REGLER3 abarbeiten Z3:=1 Warteschleife WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 23

24 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Zeitlicher Ablauf der Teilprogramme ca. 5T 2T T REGLER3 REGLER2 REGLER1 Steuerprogramm 1T 2T 3T 4T 5T 6T 7T 8T 9T 10T 11T t Annahmen: - Rechenzeit für Teilprogramme gleich groß - Summe der Rechenzeiten der drei Teilprogramme kleiner als Zykluszeit WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 24

25 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Eigenschaften: Forderung nach Rechtzeitigkeit wird nur näherungsweise erfüllt. Forderung nach Gleichzeitigkeit wird erfüllt, wenn Zykluszeiten der Regelstrecken groß sind gegenüber den Rechenzeiten der Teilprogramme. Synchrone Programmierung ist gut für Echtzeit-Systeme mit zyklischen Programmabläufen. Synchrone Programmierung ist ungeeignet für die Reaktion auf zeitlich nicht vorhersehbare (asynchrone) Ereignisse, z.b. Alarmsignal Brennerstörung im Bespiel der Heizungsregelung. Erhöhung der Rechenzeit durch ständiges Abfragen, Verzögerung der Reaktion Gesamte Programmstruktur muss geändert werden, wenn die Aufgabenstellung geändert wird. Steuerprogramm ist unflexibel. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 25

26 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Prinzip: Organisation des zeitlichen Ablaufs während der Ausführung der Programme - Vorgehensweise: Aufruf der Teilprogramme erfolgt nach Zeitbedingungen und Anforderungen aus dem Prozess. Konfliktsituation wird durch bestimmte Strategie (Scheduling-Strategie) gelöst. - Typische Scheduling-Strategie: Vergabe von Prioritäten Priorität umso höher, je niedriger die Prioritätsnummer WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 26

27 DAU ADU 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Beispiel: Heizungsregelung; Aufgabenstellung Echtzeit- Uhr Automatisierungsrechner Bedienterminal u 3 (t) u 2 (t) REGLER 3 REGLER 2 y 3 (t) y 2 (t) u 1 (t) REGLER 1 y 1 (t) Alarm T 3 = T T 3 = 2T T 3 = 5T Teilstrecke 1 Heizkreis Wohnung Teilstrecke 2 Heizkreis Büro Teilstrecke 3 Heizkessel Brenner Brennerstörung Raumtemperatur Wohnung Vorlauftemperatur Raumtemperatur Büro WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 27

28 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Beispiel: Heizungsregelung: Zuordnung von Prioritäten Teilprogramm Bezeichner Abtastzeit Prioritätsnummer Priorität Reaktion auf Brennerstörung mit Alarmmeldung Temperatur-Regler 1 für Heizkreis Wohnung ALARM - 1 höchste REGLER1 T 1 = T 2 zweithöchste Temperatur-Regler 2 für Heizkreis Büro REGLER2 T 2 = 2T 3 dritthöchste Temperatur-Regler 3 für Heizkessel REGLER3 T 3 = 5T 4 niedrigste WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 28

29 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Beispiel: Heizungsregelung: Zeitlicher Verlauf der Teilprogramme REGLER3 (Priorität 4) REGLER2 (Priorität 3) REGLER1 (Priorität 2) ALARM (Priorität 1) REGLER3 REGLER2 REGLER1 ALARM Betriebssystem WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 29

30 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Eigenschaften: Forderung nach Rechtzeitigkeit wird nur näherungsweise erfüllt; Je höher die Priorität ist, desto besser wird die Anforderung erfüllt. Ist-Zeitablauf kann sich gegenüber Soll-Zeitablauf stark verschieben, dass sich Teilprogramme gegenseitig überholen können. Aufeinanderfolge der Teilprogramme ist nicht determiniert; Sie kann durch sporadisch auftretende Ereignisse dynamisch beeinflusst werden. Bei Programmerstellung lässt sich nicht im Voraus angeben, welches Teilprogramm zu welchem Zeitpunkt ablaufen wird. einfache Entwicklung, Komplexität im Verwaltungsprogramm, Programmablauf schwer durchschaubar WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 30

31 4.6 Synchronisierung von Tasks Rechenprozess = Task ein von einem Echtzeit-Betriebssystem gesteuerter Vorgang der Abarbeitung eines sequenziellen Programms Grundzustände von Tasks - ablaufend (running) : Teilprogramm ist in Bearbeitung. - bereit/ablaufwillig (runnable) : alle Zeitbedingungen für den Ablauf sind erfüllt. Es fehlt der Start durch das Betriebssystem. - blockiert (suspended) : Rechenprozess wartet auf den Eintritt eines Ereignisses Wenn das Ereignis eingetreten ist, Übergang aus dem Zustand blockiert in den Zustand bereit. - ruhend (dormant) : Rechenprozess ist nicht ablaufbereit, weil Zeitbedingungen oder sonstige Voraussetzungen nicht erfüllt sind. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 31

32 4.6 Synchronisierung von Tasks Zustandsdiagramm einer Task Vereinbarung der Task Löschen der Task ruhend Einplanung bereit blockiert Einplanung bedeutet: - die Beauftragung eines Rechenprozesses zyklisch oder zu bestimmten Zeiten laufend - der Übergang vom Zustand ruhend in den Zustand bereit WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 32

33 4.6 Synchronisierung von Tasks Beispiel zum Zustandsverlauf Task REGLER3 bei der Heizungsregelung Task REGLER3 ist: REGLER 1/2 (höhere Prio.) läuft ab. ablaufend (aktiv) blockiert ablaufwillig (bereit) ruhend 0 T 2T 3T 4T 5T 6T 7T t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 33

34 4.6 Synchronisierung von Tasks Prioritätsvergabe für Tasks - statische Prioritätsvergabe - dynamische Prioritätsvergabe (z.b. durch Verwendung von Deadlines) Zeitparameter einer Task A: Arrival time (Ankunftszeitpunkt) R: Request time (Einplanungszeitpunkt) S: Start time (Startzeit, Zuteilung eines Betriebsmittels) C: Completion time (Beendigungszeitpunkt) D: Deadline (Maximalzeit) E: Execution time (maximale Ausführungsdauer) P: Period time (maximale Antwortzeit) L: Laxity (Spielraum) F(t): Flow time (Antwortzeit) RF(t): Remaining flow time (Restantwortzeit) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 34

35 4.6 Synchronisierung von Tasks Auftreten der Zeitparameter einer Task Task- zustände Antwortzeit F(t) Restantwortzeit RF(t) laufend blockiert Maximale Antwortzeitdauer P Spielraum L Maximale Ausführungsdauer E E alt (t) E neu (t) A: Arrival time R: Request time S: Start time C: Completion time D: Deadline L: Laxity bereit A R S C E D E E(t) = E alt (t) + E neu (t) ruhend L = D S E A R S C D Betrachtungszeitpunkt t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 35

36 4.6 Synchronisierung von Tasks Begriffe - Synchronisierung: zeitliche Koordinierung - Zwei Aktionen (Threads) in Tasks heißen parallel, wenn sie gleichzeitig ablaufen können. - Zwei Aktionen heißen sequenziell, wenn sie in einer bestimmten Reihenfolge angeordnet sind. - Zwei Aktionen aus zwei verschiedenen Tasks heißen nebenläufig, wenn sie gleichzeitig ablaufen können (äußere Parallelität). - Zwei Aktionen einer Task heißen simultan, wenn sie gleichzeitig ausgeführt werden können (innere Parallelität). Abhängigkeiten zwischen Tasks - Logische Abhängigkeiten aufgrund der Vorgänge im technischen Prozess - Abhängigkeiten durch die gemeinsame Benutzung von Betriebsmitteln (d.h. Geräten oder Programmen) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 36

37 4.6 Synchronisierung von Tasks Beispiel zur Abhängigkeit von Tasks - Tasks 1 und 2 benutzen gemeinsam die Betriebsmittel Protokolldrucker und Analog-Eingabe. Task 1: Messwerterfassung Task 2: Prozessüberwachung Analog- Eingabe belegen Treiberprogramm für Protokolldrucker belegen Verklemmung (Deadlock) Betriebsmesswerte einlesen und umrechnen Treiberprogramm für Protokolldrucker belegen Störungsmeldung an Protokolldrucker ausgeben Analog- Eingabe belegen Ausdruck Betriebsmesswerte und Uhrzeit Prozessgrößen einlesen und überwachen WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 37

38 4.6 Synchronisierung von Tasks Logische (aufgaben-/oder prozessorientierte) Synchronisierung - Anpassung des Ablaufs der Rechenprozesse an den Ablauf der Vorgänge im technischen Prozess - Synchronisierung bedeutet: Erfüllung von Anforderungen bezüglich der Reihenfolge von Aktionen Berücksichtigung vorgegebener Zeitpunkte bzw. Zeitabstände Reaktionen auf Unterbrechungsmeldungen aus dem technischen Prozess Betriebsmittelorientierte Synchronisierung Einhaltung von Bedingungen bezüglich der Verwendung gemeinsam benutzter Betriebsmittel (Ressourcen) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 38

39 4.7 Synchronisierungsverfahren Grundgedanke der Synchronisierung - Rechenprozess muss warten, bis ein bestimmtes Signal bzw. Ereignis eintrifft. - Einfügen von Wartebedingungen an den kritischen Stellen Verfahren - Semaphorkonzept - kritische Regionen - Rendez-Vous-Konzept WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 39

40 4.7 Synchronisierungsverfahren Semaphorkonzept - Synchronisierung von Rechenprozessen durch Signale (nach Dijkstra) - Einführung von zwei Semaphor-Variablen: V(S) und P(S) (positive, ganzzahlige Werte) V(S i ): Verlassen-Operation: S i S i + 1; Task wird fortgesetzt. P(S i ): Passieren-Operation: S i wird abgefragt: S i > 0: S i S i 1; Task wird fortgesetzt. S i = 0: S i bleibt unverändert; Task geht in den Zustand blockiert über. Ein Verlassen dieses Zustandes ist nur möglich, wenn diese Semaphor-Variable S i in einer anderen Task inkrementiert wird. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 40

41 Fahrtrichtung der Züge 4.7 Synchronisierungsverfahren Semaphorkonzept - Beispiel 1: Zugverkehr über eine eingleisige Strecke Gleismagnet Gleismagnet P(S 1 ) P(S 2 ) Anfangsbedingungen: S 1 = 1 ( grün ) S 2 = 0 ( rot ) Signal S 1 Signal S 2 V(S 2 ) V(S 1 ) Gleismagnet Gleismagnet Ablaufreihenfolge: ABAB WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 41

42 Task A Task B 4.7 Synchronisierungsverfahren Semaphorkonzept - Beispiel 2: Zwei Rechenprozesse A und B sollen stets abwechselnd laufen. S 1 = 1 S 2 = 0 P(S 1 ) S 1 = 0 V(S 2 ) S 2 = 1 P(S 2 ) S 2 = 0 P(S 1 ) S 1 = 0 V(S 1 ) S 1 = 1 Logische Synchronisierung V(S 2 ) S 2 = 1 P(S 2 ) S 2 = 0 t t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 42

43 4.7 Synchronisierungsverfahren Kommunikation zwischen Tasks Kommunikation: Austausch von Daten zwischen parallel ablaufenden Tasks Möglichkeiten der Datenkommunikation - Direkter Datenaustausch (Rendez-vous) - Gemeinsam benutzter Speicher (Shared memory) gemeinsame Variable gemeinsame komplexe Datenstruktur - Versenden von Nachrichten (Messages) Übertragung von Nachrichten von einem Rechenprozessor zu einem anderen (Message passing) vor allem bei verteilten Systemen Arten der Kommunikation - Synchron: sendende und empfangende Task kommunizieren an einer definierten Stelle im Programmablauf. - Asynchron: Daten werden gepuffert. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 43

44 4.8 Scheduling-Verfahren Begriffe - Scheduling (Planung): Vergabe des Prozessors an ablaufbereite Rechenprozesse nach einem festgelegten Algorithmus (Scheduling-Verfahren) - Scheduler (Planer): Teil eines Echtzeit-Betriebssystems zur Zuteilung des Prozessors - Schedule (Plan): vom Scheduler erzeugte Ablauf- und Zuteilungsplan Notwendigkeit des Scheduling von Tasks - Tasks benötigen Ressourcen (Prozessor, Ein-/Ausgabegeräte usw.) - Ressourcen sind knapp - Tasks konkurrieren um Ressourcen - Zuteilung der Ressourcen muss verwaltet werden. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 44

45 4.8 Scheduling-Verfahren Grundsatzfragen zum Scheduling 1. Gibt es für einen Taskset einen ausführbaren Plan (Schedule)? (Schedulability test) 2. Gibt es einen Algorithmus, der einen ausführbaren Schedule findet? 3. Ist der Algorithmus optimal in dem Sinne, dass er immer einen gültigen Schedule findet, wenn dies durch eine Ausführbarkeitstest nachgewiesen wurde? Klassifizierung Scheduling-Verfahren statisch dynamisch Zeitpunkt der Planung preemptiv Nicht-preemptiv preemptiv Nicht-preemptiv Art der Durchführung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 45

46 4.8 Scheduling-Verfahren Statisches Scheduling Synchrone Programmierung - Planung des zeitlichen Ablaufs der Tasks erfolgt vor der Ausführung (Dispatching table) vorhersehbar, aber unfexibel - Berücksichtigung von Informationen über Taskset, Deadlines, Ausführungszeiten, Reihenfolgebeziehungen, Ressourcen - Dispatcher macht Zuteilung gemäß Dispatching Table - minimaler Laufzeit-Overhead - determiniertes Verhalten Dynamisches Scheduling Asynchrone Programmierung - Organisation des zeitlichen Ablaufs während der Ausführung der Tasks - erheblicher Laufzeit-Overhead durch die Online-Suche nach einem ausführbaren Schedule WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 46

47 4.8 Scheduling-Verfahren Preemptives Scheduling - Laufende Task kann unterbrochen werden. - Höherpriore Task verdrängt niederpriore Task. Nicht-preemptives Scheduling - Laufende Task kann nicht unterbrochen werden. - Prozessorfreigabe erfolgt durch die Task selbst. Wichtigste Scheduling-Verfahren - FIFO-Scheduling (First-in-first-out) - Zeitscheibenverfahren - Scheduling mit festen Prioritäten - Ratenmonotones Scheduling - Verfahren der kleinsten Restantwortzeit - Verfahren des kleinsten Spielraums WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 47

48 4.8 Scheduling-Verfahren FIFO-Scheduling - Nicht-preemptives Scheduling - Task, deren Einplanung am weitesten zurückliegt, bekommt Prozessor. Beispiel: 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 Einfache Realisierung, aber ungeeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 48

49 4.8 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) Beispiel: 4 Tasks mit Zeitdauern: A: 25ms, B: 20ms, C: 30ms, D: 20ms Jeder Zeitschlitz sei 10ms groß. Reihenfolge der zyklischen Abarbeitung: A-B-C-D A B C D A B C D A C t [ms] Ungeeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 49

50 4.8 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 Beispiel: 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 * FIFO-Scheduling: A war zuerst ablauffähig. t Nur bedingt geeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 50

51 4.8 Scheduling-Verfahren Ratenmonotones Scheduling (Rate-Monotonic-Verfahren) - Spezialfall des Verfahrens mit festen Prioritäten für zyklische Tasks - Task mit kleinster Zykluszeit (Periode) erhält höchste Priorität. - preemptive Strategie Beispiel: Task A B C D Ausführungsdauer 10 ms 20 ms 10 ms 20 ms Zykluszeit 40 ms 50 ms 80 ms 100 ms Prio 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. Verfahren wird in der Praxis häufig verwendet! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 51

52 4.8 Scheduling-Verfahren Verfahren der kleinsten Restantwortzeit (Earliest-Deadline-First-Verfahren) - Task mit kleinster Restantwortzeit bekommt Prozessor. - preemptives Vorgehen - hoher Rechenaufwand für das Scheduling - Einhaltung von zeitlichen Anforderungen wird speziell unterstützt. Beispiel: Task Dauer t min t max A B C D E 10 ms 10 ms 30 ms 40 ms 10 ms 0 ms 0 ms 30 ms 50 ms 70 ms 40 ms 30 ms 100 ms 200 ms 90 ms t min : frühester Termin t max : spätester Termin = Deadline 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 WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 52

53 4.8 Scheduling-Verfahren Verfahren des kleinsten Spielraums (Least-Laxity-Verfahren) - Task mit kleinstem Spielraum erhält Prozessor. - Berücksichtigung von Deadlines und Ausführungsdauern - sehr aufwendiges Verfahren Beispiel: Task Dauer Einplanung Deadline Spielraum A B C D E 30 ms 10 ms 30 ms 40 ms 10 ms 0 ms 0 ms 30 ms 50 ms 70 ms 40 ms 30 ms 100 ms 200 ms 90 ms A a B C E D A b t [ms] Am besten geeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 53

54 4.8 Scheduling-Verfahren Ausführbarkeitstest (Schedulability Test) Unter einem Schedulability-Test versteht man die Prüfung, ob der zeitliche Ablauf für einen Taskset so geplant werden kann, dass jede Task ihre Deadline einhält. Theorem von Liu und Layland (Teil I) Eine beliebige Menge periodischer Tasks (Deadline = Periodendauer) kann durch das preemptive Earliest-Deadline-First-Verfahren ausgeführt werden, wenn gilt (notwendige und hinreichende Bedingung): n i 1 C T i i 1 mit: n: Anzahl der Tasks C i : Ausführungszeit der Task i T i : Zykluszeit der Task i WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 54

55 4.8 Scheduling-Verfahren Theorem von Liu und Layland (Teil II) Eine beliebige Menge periodischer Tasks (Deadline = Periodendauer) kann durch das Rate-Monotonic-Verfahren ausgeführt werden, wenn gilt (hinreichende Bedingung): n 1 Ci U * n n n n i 1 Ti U U U U * 1 * 2 * 3 * 1,0 2 1, 1,2, 0,828 0,779 ln 2 0,693 mit: U i : Utilization (Prozessorauslastung): U i C T i i WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 55

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

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

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

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

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

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

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

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

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

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

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

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

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

6 Echtzeit-Betriebssysteme

6 Echtzeit-Betriebssysteme Kapitel 6: Echtzeit-Betriebssysteme 6 Echtzeit-Betriebssysteme Lernziele: Wissen, was ein Betriebssystem ist Erklären können, was man unter Betriebsmitteln versteht Die Aufgaben eines Echtzeit-Betriebssystems

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

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

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

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

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

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

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

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

Grundlagen der Informatik. Teil VI Betriebssysteme

Grundlagen der Informatik. Teil VI Betriebssysteme Grundlagen der Informatik Teil VI Betriebssysteme Seite 1 Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

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

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

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

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

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

Für die Software-Entwicklung von

Für die Software-Entwicklung von Betriebssysteme Embedded Design Für die Software-Entwicklung von Embedded- und Echtzeit-Systemen stehen unterschiedliche Arten von Task-Schedulern zur Auswahl. Sie reichen von einfacher, periodischer Ausführung

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

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

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

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

Kapitel 2 Betriebssysteme. Für den Rechnerbetrieb notwendige Basissoftware

Kapitel 2 Betriebssysteme. Für den Rechnerbetrieb notwendige Basissoftware Für den Rechnerbetrieb notwendige Basissoftware 1 1. Einleitung 2. Prozessverwaltung 3. Dateiverwaltung 2 1. Einleitung Was ist ein Betriebssystem? Wikipedia: Ein Betriebssystem (engl. Operating System

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

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

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

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

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

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

Kapitel 2. Betriebssysteme

Kapitel 2. Betriebssysteme Systeme 1 Kapitel 2 Betriebssysteme WS 2009/10 1 Übersicht Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten von Betriebssystemen Komponenten und Konzepte

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

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006 Erweiterungen und deren Anwendung 2. Februar 2006 1 Einleitung Anwendungsgebiete 2 Linux als Echtzeitbetriebssystem Eignung von Linux 3 Erweiterungen für Linux RT-Linux RTAI- Real-Time Application Interface

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

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

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

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

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten

Mehr

examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn

examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn 1. Auflage 2005. Taschenbuch. xiv, 556 S. Paperback ISBN 978 3 540 20588 3 Format (B x L): 15,5 x 23,5 cm

Mehr

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit Dipl.-Inf. J. Richling Wintersemester 2003/2004 Weiche Echtzeit Wiederholung - Resultat/Wert-Funktion "harte" Echtzeit Wert Zeit Wert Zeit Wert Deadline Zeit "weiche" Echtzeit Wert Deadline Zeit Deadline

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Der Largest Local Remaining Execution time First

Der Largest Local Remaining Execution time First 18lA UTOMOTIVE 1-2.2010l KOMPONENTEN ANPASSUNG DES LLREF-ALGORITHMUS Multi-Core-Scheduling in Embedded Systemen, Teil 1 Mehrkernprozessoren kommen zunehmend auch in eingebetteten Systemen zum Einsatz.

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

Mehr

8. Vorlesung Betriebssysteme

8. Vorlesung Betriebssysteme Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/69 8. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

Adeos & Xenomai. Echtzeitbetriebssysteme / SS09. Alexander Behringer. Georg-Simon-Ohm-Hochschule Nürnberg. 24. Juni 2009

Adeos & Xenomai. Echtzeitbetriebssysteme / SS09. Alexander Behringer. Georg-Simon-Ohm-Hochschule Nürnberg. 24. Juni 2009 Adeos & Xenomai Echtzeitbetriebssysteme / SS09 Alexander Behringer Georg-Simon-Ohm-Hochschule Nürnberg 24. Juni 2009 Alexander Behringer (GSO Nbg) Adeos & Xenomai 24. Juni 2009 1 / 39 Übersicht 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

Embedded Linux. Arthur Baran

Embedded Linux. Arthur Baran Arthur Baran Inhalt Embedded System Aufbau von Embedded Linux Systemen Echtzeit Einige Beispiele Arthur Baran 2 Was ist Embedded System? klein verborgen im Gerät soll eine bestimmte Aufgabe erledigen Arthur

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Inhaltsverzeichnis XII

Inhaltsverzeichnis XII 1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Automotive Software Engineering

Automotive Software Engineering Jorg Schauffele Thomas Zurawka Automotive Software Engineering Grundlagen, Prozesse, Methoden und Werkzeuge Mit 278 Abbildungen ATZ-MTZ-Fachbuch vieweg Inhaltsverzeichnis 1 Einfiihrung und Uberblick 1

Mehr

Schichtenmodell eines Betriebssystems

Schichtenmodell eines Betriebssystems FB Technologie und Management SISD Operanden VonNeumannRechner Rechenwerk Ergebnisse Datenverarbeitung (DV 1) (Kapitel 6 Betriebssysteme) Steuerwerk Speicherwerk Befehle Eingabe Speicher Ausgabe 1 2 Layer

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

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

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht

Mehr

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung, Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1

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

Embedded Software Engeneering mit dem Raspberry Pi

Embedded Software Engeneering mit dem Raspberry Pi Embedded Software Engeneering mit dem Raspberry Pi Übersicht Rasperry Pi Betriebssystem Hardware ARM Μ-Controller vs. Μ-Prozessor vs. SoC Embedded Software Engineering vs. Software Engineering Fazit Raspberry

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

Limit betrieben wird. Als Systemsoftware wird wenn überhaupt ein schlankes, vielfach selbst entwickeltes Realzeitbetriebssystem

Limit betrieben wird. Als Systemsoftware wird wenn überhaupt ein schlankes, vielfach selbst entwickeltes Realzeitbetriebssystem 1 1 Einleitung Systeme, die neben den ohnehin vorhandenen funktionalen Anforderungen zusätzlich noch zeitlichen Anforderungen typischerweise im Sekundenbereich und darunter genügen müssen, werden als Realzeitsysteme

Mehr

Echtzeit-Betriebssysteme und -Bussysteme

Echtzeit-Betriebssysteme und -Bussysteme Echtzeit-Betriebssysteme und -Bussysteme Seminar im Wintersemester 2006/07 Steffen H. Prochnow Reinhard von Hanxleden Echtzeitsysteme und Eingebettete Systeme Institut für Informatik und Praktische Mathematik

Mehr

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis Der Rechner Grundbegriffe Aufbau Funktionsweise Betriebssystem Kategorisierung PC-Komponenten Auf der Grundlage eines Programms kann ein Computer Daten mit seiner Umgebung austauschen, mathematische und

Mehr

Grundkurs Betriebssysteme

Grundkurs Betriebssysteme Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation von Peter Mandl 3., akt. und erw. Aufl. 2013 Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck im

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

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

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung

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

Echtzeit-Linux mit dem RT-Preemption-Patch

Echtzeit-Linux mit dem RT-Preemption-Patch Echtzeit-Linux mit dem RT-Preemption-Patch IT-Klinger Andreas Klinger ak@it-klingerde 22072008 Der RT-Preemption-Patch integriert sich beinahe nahtlos in den Standard-Kernel und bietet Echtzeitfähigkeit

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

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

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

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

Echtzeitverhalten. Einleitung. Was bedeutet Echtzeit? Beispiele. Andere Faktoren. Echtzeitsystem und Echtzeitkomponenten

Echtzeitverhalten. Einleitung. Was bedeutet Echtzeit? Beispiele. Andere Faktoren. Echtzeitsystem und Echtzeitkomponenten Echtzeitverhalten Einleitung Was bedeutet Echtzeit? Die Interaktion mit der Außenwelt stellt in einem System den Zeitbezug her. Normalerweise will man ein korrektes Ergebnis so schnell wie möglich bekommen.

Mehr

Das optimale Betriebssystem für FlexRay Als skalierbares Highspeed-

Das optimale Betriebssystem für FlexRay Als skalierbares Highspeed- Das optimale Betriebssystem für FlexRay Als skalierbares Highspeed- Kommunikationssystem mit deterministischem Verhalten ist FlexRay die passende Lösung als Data-Backbone für verteilte Regelungen oder

Mehr

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

Mehr

Technische Informatik II

Technische Informatik II Universität Stuttgart INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Andreas Kirstädter Diplomprüfung Prüfer: Termin: Dauer: Verlangte Aufgaben: Zugelassene Hilfsmittel: Technische

Mehr

Verteilte Systeme. Synchronisation I. Prof. Dr. Oliver Haase

Verteilte Systeme. Synchronisation I. Prof. Dr. Oliver Haase Verteilte Systeme Synchronisation I Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen

Mehr

Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II

Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II Fachhochschule Kaiserslautern Prof. Dr. P. Liell Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II SS 2012 1. Versuch Allgemeines zum Ablauf und zur Versuchsausarbeitung Es ist eine Ausarbeitung zum

Mehr

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium William Stallings Betriebssysteme Prinzipien und Umsetzung 4., überarbeitete Auflage Pearson Studium ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort Leitfaden für den Leser

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

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

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Vorlesung: Dr. Peer Kröger Übungen:

Mehr

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP). Produktbeschreibung Februar 2014 RTX RTOS-Plattform Mit der RTX-Echtzeitsoftware von IntervalZero wird aus Microsoft Windows ein Echtzeitbetriebssystem (RTOS). RTX64 von IntervalZero unterstützt 64-Bit-Betriebssysteme

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und den sonstigen Betriebssystemkomponenten

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Echtzeitbetriebssysteme QNX 409 Geschichte: Einführung 1980 entwickeln Gordon Bell und Dan Dodge ein eigenes Echtzeitbetriebssystem mit Mikrokernel. QNX orientiert sich nicht an Desktopsystemen und breitet

Mehr