Betriebssysteme II SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 23.

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme II SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23."

Transkript

1 Betriebssysteme II SS 2012 Universität Siegen Tel.: 0271/ , Büro: H-B 8404 Stand: 23. April 2014 Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) i Inhaltsverzeichnis 0 Organisation 1 1 Betriebssysteme für Echtzeit-Systeme und eingebettete Systeme Einführung Echtzeitprogrammierung Problemstellung und Anforderungen Verfahren Besonderheiten von Echtzeit-BSen Echtzeit-Scheduling Einführung

2 1.4.2 FIFO-Scheduling Fixed-Priority-Scheduling Earliest-Deadline-First-Scheduling (EDF) Least-Laxity-First-Scheduling (LLF) Time-Slice-Scheduling Guaranteed-Percentage-Scheduling (GP) Unterbrechungen Kommunikation und Synchronisation Speicherverwaltung Beispiele QNX VxWorks Betriebssysteme für Multiprozessor-Systeme Einführung (Shared-Memory-)Multiprozessoren Aufbau von Multiprozessoren Organisationsformen von Multiprozessor-BSen Multiprozessor-Synchronisation Multiprozessor-Scheduling Besonderheiten bei BSen für CC-NUMA Systeme Multicomputer Aufbau von Multicomputern Low-Level Kommunikationssoftware Kommunikation auf Benutzerebene

3 2.3.4 Multicomputer-Scheduling und Lastverteilung Zusammenfassung Verteilte Systeme Einführung Was ist ein verteiltes System? Charakteristika von verteilten Systemen Herausforderungen und Ziele verteilter Systeme Software-Architektur Systemarchitekturen Cluster Grid Computing Prozeß-Management Verteiltes Prozeß-Scheduling Codemigration Kommunikation Nachrichtenorientierte Kommunikation Client/Server-Kommunikation Gruppen-Kommunikation (Multicast) Synchronisation Synchronisation physischer Uhren Logische Uhren Globale Zustände Wahl-Algorithmen

4 3.4.5 Wechselseitiger Ausschluß Namen Replikation und Konsistenz Einführung und Motivation Daten-zentrierte Konsistenzmodelle Client-zentrierte Konsistenzmodelle Verteilungsprotokolle Konsistenzprotokolle Zusammenfassung Verteilte Dateisysteme Fallstudie: NFS Verteilter Gemeinsamer Speicher Zusammenfassung

5 Betriebssysteme II SS Organisation Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 1 Zu meiner Person Studium der Informatik an der Techn. Univ. München dort 1994 promoviert, 2001 habilitiert Seit 2004 Prof. für Betriebssysteme und verteilte Systeme Forschung: Beobachtung, Analyse und Steuerung paralleler und verteilter Systeme z.zt. insbes. Software-Leistungsanalyse, Grid-Computing Mentor für den Bachelor-Studiengang Informatik mit Nebenfach Mathematik Tel.: 0271/ Büro: H-B 8404 Sprechstunde: Mo., 14:15-15:15 Uhr Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 2

6 Zur Fachgruppe Betriebssysteme / verteilte Systeme Andreas Hoffmann siegen.de 0271/ H B 8405 Elektronische Prüfungs und Übungssysteme an Hochschulen Planspiele Kryptographie Webtechnologien Mobile Anwendungen Adrian Kacso siegen.de 0271/ H B 8406 Kommunikationsprotokolle für drahtlose Sensornetze Kommunikation und Koordination in verteilten Systemen Betriebssysteme (RT, Embedded) Client/Server Technologien Simon Meurer siegen.de 0271/ H B 8405 Sicherheit und Privacy in Android Apps Zuverlässiges Multicasting Algorithmenvisualisierung Entwicklung modularer Anwen dungen mit Eclipse RCP Chaosforschung Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 3 Lehrangebot Projektgruppen z.b. Werkzeug zur Algorithmen-Visualisierung z.b. Infrastruktur zum Analysieren des Android Market Abschlussarbeiten (Bachelor, Master, Diplom) Themengebiete: Mobile Plattformen (ios, Android), Sensornetze, Parallelverarbeitung, Monitoring,... z.b. Statische Analyse des Informationsflusses in Android Apps Seminare Themengebiete: Webtechnologien, Sensornetze, Android,... Ablauf: Blockseminare 30 Min. Vortrag, 5000 Worte Ausarbeitung Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 4

7 Lehrangebot... Vorlesungen Neuerungen vmtl. ab SoSe 2013 Betriebssysteme I, 5 LP (jedes WS) Parallelverarbeitung, 5 LP (jedes SS) Verteilte Systeme, 5 LP (jedes SS) BS II ohne Echtzeitsysteme, mit RMI-Programmierung Client/Server-Programmierung, 5 LP (jedes WS) Rechnernetze I, 5 LP (jedes SS) Rechnernetze II, 5 LP (jedes WS) Rechnernetze Praktikum, 5 LP (jedes WS, ab WS 13/14?) Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 5 Zur Vorlesung Vorlesung: Montag 12:30-14:00 Uhr, H-F 114 Übung: Mögliche Termine: Do., 12:15-13:45, H-F 114 Di., 10:15-11:45, H-C 7324 Anmeldung über die WWW-Seite zur Vorlesung: ss12/bs2 Paßwort für die Anmeldung: 12-BSii-So Freischaltung am Beginn: Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 6

8 Zur Vorlesung... Information, Folien und Ankündigungen: ss12/bs2 aktualisierter Foliensatz aus dem letzten Semester ist verfügbar ggf. werden die Folien noch überarbeitet / ergänzt zum Ausdrucken: Druckservice des Fachschaftsrats! Übungsblätter werden als PDF online gestellt bitte selbst ausdrucken und bearbeiten! Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 7 Prüfung Mündliche Prüfung Dauer ca Minuten Anmeldung: Terminabsprache über das Sekretariat (Fr. Syska) per oder persönlich bei Fr. Syska Raum H-B 8403, 13:30-15:30 Uhr Anmeldung beim Prüfungsamt Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 8

9 Inhalt der Vorlesung BSe für Echtzeit-Systeme und eingebettete Systeme [3] Definitionen und Anforderungen Synchronisation, Scheduling, Speicherverwaltung Beispiele BSe für Mehrprozessor-Systeme [3] Multiprozessor-Systeme und BSe Synchronisation, Scheduling, Speicherverwaltung Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 9 Inhalt der Vorlesung... Verteilte Systeme [6] verteilte Systeme, Cluster, Grid Prozeß-Management, Codemigration Kommunikation Synchronisation, verteilter Zustand Replikation und Konsistenz verteilte Dateisysteme verteilter gemeinsamer Speicher [x]: ungefährer Umfang in Doppelstunden Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 10

10 Lernziele der Vorlesung Vertiefte Kenntnis von Funktionsweise und Aufbau von BSen und systemnaher Software Spezielle Anforderungen / Funktionen von BSen für unterschiedliche Einsatzgebiete: (eingebettete) Realzeitsysteme Multiprozessor-Systeme verteilte Systeme Eignung von Konzepten und BSen für gegebene Anwendungen, Systemanforderungen und Rechnerarchitekturen einschätzen können Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 11 Literatur Allgemein / Multiprozessoren Andrew S. Tanenbaum. Moderne Betriebssysteme, 2. Auflage. Pearson Studium, William Stallings. Betriebssysteme, 4. Auflage. Pearson Studium, Echtzeit-Systeme Heinz Wörn, Uwe Brinkschulte. Echtzeitsysteme. Springer Verlag, Peter Scholz. Softwareentwicklung eingebetteter Systeme. Springer Verlag, Dieter Zöbel, Wolfgang Albrecht. Echtzeitsysteme, Grundlagen und Techniken. International Thomson Publishing, Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 12

11 Literatur... Verteilte Systeme Andrew S. Tanenbaum, Marten van Steen. Verteilte Systeme, Grundlagen und Paradigmen. Pearson Studium, George Coulouris, Jean Dollimore, Tim Kindberg. Verteilte Systeme, Konzepte und Design, 3. Auflage. Pearson Studium, Weitere / genauere Literaturangaben im Verlauf der Vorlesung Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 13 Betriebssysteme II SS Betriebssysteme für Echtzeit-Systeme und eingebettete Systeme Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 14

12 1 Betriebssysteme für Echtzeit-Systeme... Inhalt Einführung Echtzeit-Systeme Echtzeit-Programmierung Besonderheiten von Echtzeit-BSen Echtzeit-Scheduling Synchronisation Beispiele: VxWorks, QNX Wörn/Brinkschulte: 1.1, 5, 6 Scholz: 1, 3 Stallings: 10.2 Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Einführung Eingebettete Systeme Eingebettetes System: Computersystem, das in ein umgebendes technisches System eingebettet ist und mit diesem in Wechselwirkung steht Komplexe Aufgaben in der Steuerung, Regelung und Überwachung des technischen Systems Mehr als 90% aller elektronischen Bauelemente in eing. Sys. integriert Mehr Prozessoren in eing. Systemen als in PCs Oberklasse-PKW: Steuergeräte! Telekommunikation Smartphone FAX Haushalt Fernseher Waschmaschine Medizintechnik Automobil ABS Navi Einspritzung Luft und Raumfahrt Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 16

13 1.1 Einführung... Klassen von Computersystemen Transformationelle Systeme: berechnen Ausgaben aus vorliegenden Eingaben keine Interaktion während der Berechnung Interaktive Systeme: interagieren (proaktiv) mit der Umgebung System fordert Umgebung (Benutzer) zur Interaktion auf Computer entscheidet, wann Interaktion stattfindet Benutzer reagiert auf Interaktions-Aufforderung Reaktive Systeme: Systemumgebung bestimmt die Interaktion Computer reagiert auf Stimuli der Umgebung Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Einführung... Reaktive Systeme Eigenschaften / Anforderungen: häufig nebenläufig (Reaktion auf mehrere Stimuli) deterministisches Verhalten Reaktion ist eindeutig durch Eingabesignale und ggf. deren zeitliche Reihenfolge bestimmt hohe Zuverlässigkeit häufig Einhaltung von Zeitschranken Reaktion muß rechtzeitig erfolgen dann: Echtzeitsysteme Meist in eine Umgebung eingebettet d.h. eingebettete Systeme Eingebettete Systeme Reaktive Systeme Echtzeitsysteme Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 18

14 1.1 Einführung... Echtzeitsysteme (Realtime System, RTS) Echtzeitsystem: Rechnersystem, bei dem neben logischer Korrektheit auch der Zeitpunkt der Ausgaben von Bedeutung ist Übliche Anforderungen: Rechtzeitigkeit Ergebnisse müssen innerhalb einer vorgegebenen Zeitspanne verfügbar sein Gleichzeitigkeit viele Aufgaben, mit eigenen Zeitanforderungen, sind parallel zu bearbeiten Spontane Reaktion auf Ereignisse / Verfügbarkeit System muß auf zufällig auftretende (interne / externe) Ereignisse innerhalb einer definierten Zeit reagieren Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Einführung... Echtzeitsysteme (Realtime System, RTS)... Nichteinhaltung der Zeitanforderungen führt zu Leistungseinbuße oder Fehlfunktion, selbst wenn Ergebnis an sich korrekt ist Unterteilung je nach Auswirkungen bei Nichteinhaltung: Harte Echtzeitsysteme es entsteht ein (größerer) Schaden z.b.: Anhalten eines autonomen Fahrzeugs vor Hindernis Feste Echtzeitsysteme Ergebnisse werden nutzlos, es entsteht aber kein Schaden z.b.: Positionsmessungen bewegter Objekte Weiche Echtzeitsysteme Zeitbedingungen sind Richtlinien, die gelegentlich bzw. leicht überschritten werden dürfen (z.b. bei Mulitmedia) Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 20

15 1.1 Einführung... Wertfunktionen für Zeitbedingungen Wert Wert Wert Zeitschranke Zeit Zeitschranke Zeit Zeitschranke Zeit weiche Echtzeit feste Echtzeit harte Echtzeit Teilweise auch obere und untere Zeitschranken: Wert min max Zeit Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Einführung... Referenzarchitektur für eingebettete Systeme Benutzer Benutzer schnittstelle Kontroll einheit Aktoren Prozeß / Strecke Sensoren Umgebung Keine klare Trennung zwischen Benutzer und Umgebung Das eingebettete HW/SW System Das gesteuerte physikalische System Komplexe Wechselwirkung mit Umgebung Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 22

16 1.1 Einführung... (Animierte Folie) Wirkungskette: System und Umgebung (Prozeß) Kontrolleinheit Steuer gemessene signale Größen Steuerung Aktoren Sensoren Über wachung Eingriff Messung Prozeß (mit Umgebung) Steuerung (diskret) / Regelung (kontinuierlich) Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Einführung... Steuerung Sollwert (Führungsgröße) w(t) Steuersignal Stellgröße Steuergröße u(t) y(t) x(t) Stellglied Steuerglied (Aktor) Prozeß/Strecke Die Führungsgröße ist die Vorgabe des Benutzers Offene Wirkungskette: keine Rückkopplung von x(t) Das Steuersignal u(t) wird ohne Kenntnis von x(t) bestimmt benötigt ein Modell der Strecke: Zusammenhang zwischen x(t) und y(t) Eine Steuerung kann nicht auf Störungen im Prozeß reagieren Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 24

17 1.1 Einführung... Regelung Sollwert (Führungsgröße) w(t) + x (t) r Regel abweichung e(t) Regler Störungen Reglersignal Stellgröße Regelgröße u(t) y(t) x(t) Stellglied (Aktor) Prozeß/Strecke Istwert (gemessene Größe) Messglied (Sensor) Geschlossene Wirkungskette: x(t) wird kontinuierlich erfaßt und mit Sollwert verglichen Regler stellt u(t) so ein, daß x(t) = w(t) wird Ein Regler kann auch Störungen des Prosesses ausgleichen Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Einführung... Beispiel: Bewegungssteuerung eines Roboters Vorsteuerungen mit offener Wirkungskette Inverses Robotermodell Vorsteue rung der Geschw. Roboter Inter preter Inter polator Transfor mation Führungsgrößenerzeugung Steuerung mit offener Wirkungskette Kaskadenregelung + Lage + + Dreh + + regler zahl Achse i regler i Roboterregelung Stell glied Motor i Regelungen für Lage und Geschwindigkeit Mess glied Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 26

18 Anmerkungen zu Folie 26: Interpreter: interpretiert Befehle des Roboterprogramms, z.b.: fahre geradlinig zu Punkt (x,y,z) Interpolator erzeugt Zwischenpunkte der Bahn Transformation: berechnet Führungsgrößen der Roboterachsen mit Hilfe eines inversen Robotermodells Vorsteuerung der Geschwindigkeit: berechnet theoretischen Führungsgrößenverlauf der Drehzahl mit einfachem Modell Inverses Robotermodell: berechnet über Bewegungsgleichungen mit Massen und Trägheitsmomenten die theoretisch in den Gelenken auftretenden Momente Siehe Wörn/Brinkschulte, Kap. 1, S Echtzeitprogrammierung Problemstellung und Anforderungen Echtzeitsysteme erfordern logische und zeitliche Korrektheit Beispiel: Anhalten eines autonomen Fahrzeugs logisch korrekt, zeitlich inkorrekt logisch und zeitlich korrekt Anforderungen an Echtzeitsysteme: Rechtzeitigkeit, Gleichzeitigkeit, Verfügbarkeit Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 27

19 1.2.1 Problemstellung und Anforderungen... Rechtzeitigkeit Echtzeitsystem muß Daten rechtzeitig abholen und liefern d.h. Zeitbedingungen für Eingabe und Ausgabe Varianten zur Angabe von Zeitbedingungen: Angabe eines genauen Zeitpunkts Angabe eines spätesten Zeitpunkts (Zeitschranke, Deadline) Angabe eines frühesten Zeitpunkts Angabe eines Zeitintervalls t min t t t max min t max Zeit Zeit Zeit Zeit Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Problemstellung und Anforderungen... Rechtzeitigkeit... Periodische Zeitbedingungen Zeitbedingung wiederholt sich periodisch t t+p t+2p t+3p z.b. regelmäßiges Auslesen von Sensoren (zeitlich äquidistante Werte wichtig für numerische Modelle!) Zeit Aperiodische Zeitbedingungen t 1 t 2 t 3 t 4 ausgelöst durch das Auftreten von Ereignissen Zeit Absolute Zeitbedingungen: absolute Uhrzeit Relative Zeitbedingungen: relativ zu vorherigem Ereignis Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 29

20 1.2.1 Problemstellung und Anforderungen... Rechtzeitigkeit... Um Zeitbedingungen einhalten zu können, muß Echtzeitsystem zwei Eigenschaften besitzen: hinreichende Verarbeitungsgeschwindigkeit genügend schnelle CPUs, effiziente Programmierung zeitliche Vorhersagbarkeit Zeitbedingungen müssen in jedem Fall garantiert werden wesentliche Anforderung an BSe und Laufzeitsysteme! Hohe Geschwindigkeit ohne Vorhersagbarkeit bedeutungslos z.b. sind cache-basierte Systeme problematisch im Mittel sehr schnell, bei Cachefehlern jedoch deutlich höhere Verarbeitungszeit Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Problemstellung und Anforderungen... Gleichzeitigkeit RTSs müssen i.a. mehrere Signale / Ereignisse gleichzeitig behandeln, wobei jeweils die Rechtzeitigkeit gewährleistet sein muß z.b.: Lage und Geschwindigkeit bei Robotersteuerung Mehrere Möglichkeiten: echte Parallelverarbeitung in Mehrprozessorsystem eine Aufgabe pro CPU; einfach Quasi-Parallelverarbeitung in Einprozessorsystem benötigt Echtzeit-Scheduler: teilt die CPU den Aufgaben so zu, daß Zeitbedingungen eingehalten werden können Quasi-Parallelverarbeitung in Mehrprozessorsystem Echtzeit-Scheduler, feste oder variable Zuteilung der CPUs Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 31

21 1.2.1 Problemstellung und Anforderungen... Verfügbarkeit RTSs müssen unterbrechungsfrei betriebsbereit sein sonst Verletzung der Zeitbedingungen Verbietet u.a. Reorganisationsphasen z.b. Index- und Speicher-Reorganisation bei Datenbanksystemen, Garbage Collection in Java,... Abhilfe: reorganisations-freie Algorithmen oder Reorganisation in kleinen Schritten (z.b. Echtzeit-Implementierungen von Java) Reorg. im Block Reorg. in kleinen Schritten Reorganisation Betrieb verpaßt! Ereignisse Ereignisse Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) Echtzeitprogrammierung Verfahren Es gibt zwei grundlegende Verfahren zur Realisierung von RTSs: synchrone Programmierung für zeitgesteuerte Systeme zeitliches Verhalten periodischer Aktionen wird vor der Ausführung geplant Sensoren werden vom Programm abgefragt (Polling) asynchrone Programmierung für ereignisgesteuerte Systeme Programm wird durch externe Ereignisse gesteuert, Ablauf der Aktionen wird erst zur Laufzeit geplant meist mit Hilfe eines Echtzeit-Betriebssystems Sensoren erzeugen Unterbrechungen (= Ereignisse) Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 33

22 1.2.2 Verfahren... Synchrone Programmierung Die periodisch auszuführenden Aktionen werden auf ein festes Zeitraster T synchronisiert Aktionen starten nur zu Zeiten k T, k IN Zeitgeber erzeugt im Zeitabstand T Unterbrechungen Unterbrechungen starten ggf. Teilprogramme für Aktionen Reihenfolge der Teilprogramme wird fest vorgegeben Programme einfach durch zeitgesteuerte Ablaufsteuerung realisierbar: Zeit A? nein Zeit B? nein ja ja Aktion A Aktion B Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13) 34 Betriebssysteme II SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404 Stand: 23. April 2014 Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) i

23 1.2.2 Verfahren... Synchrone Programmierung: Beispiel Autonomes Fahrzeug mit Kamera und Motor Kameradatenvererbeitung mit Periode T Motorsteuerung mit Periode 2T Zeitlicher Ablauf: Motorsteuerung T Kameradaten verarbeitung Ruhe (idle) T 2T 2T 3T 4T 5T 6T Periodenzeiten exakt eingehalten, falls: 1. Summe der Ausführungszeiten T Periodische im Ab Unterbrechung stand T 2. jede Periodenzeit ist ganzz. Vielfaches der nächst kürzeren Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 35 t++ Kameradaten verarbeitung aufrufen nein t == 2? ja Motorsteuerung aufrufen t = 0 Ende Unterbrechung Verfahren... (Animierte Folie) Synchrone Programmierung: Beispiel... Bei Verletzung von Bedingung 1: Zeitbedingungen i.d.r. nicht mehr einzuhalten Motor Kamera idle T T+ta 2T+tb 2T 3T 4T 5T 6T Bei Verletzung von Bedingung 2: Abweichung der Periodendauer ist maximal T meist tolerierbar Motor Kamera idle 3T+tk 2T 2T 3T 4T 5T 6T 7T Kameradaten: Periode 2T Motorsteuerung: Periode 3T Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 36

24 1.2.2 Verfahren... Synchrone Programmierung: Diskussion Vorteile: festes, vorhersagbares und garantierbares Zeitverhalten gut geeignet bei sicherheitsrelevanten Aufgaben Analyse und Test des Systems sind einfach besonders geeignet bei zyklischen Abläufen Nachteile: geringe Flexibilität bei Änderungen der Aufgabenstellung Ablaufplan ist fest im Programm codiert asynchrone / aperiodische Ereignisse passen nicht ins Modell Behandlung nur durch Polling möglich bei Polling mit Periode k T : Reaktionszeit schwankt zwischen 0 und k T Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Verfahren... Asynchrone Programmierung Erlaubt bessere Behandlung asynchroner Ereignisse Ablauf der Aktionen zur Laufzeit durch Organisationsprogramm (i.a. Echtzeit-BS) geplant Aufgaben des Organisationsprogramms: Überwachung von (periodischen / aperiodischen) Ereignissen Beachtung von Informationen über Zeitbedingungen Zeitschranken, Prioritäten für Ereignisse / Aktionen Ermittlung einer Ablaufreihenfolge für auszuführende Aktionen so, daß alle Zeitbedingungen eingehalten werden Aktivierung der Teilprogramme für die Aktionen, gemäß der berechneten Reihenfolge Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 38

25 1.2.2 Verfahren... Asynchrone Programmierung... Realisierung der Programme mit unterbrechungsgesteuerter Ablaufsteuerung: Ruhezustand Unterbrechung Aktion A Aktion B Aktion C Ende Unterbrechung Asynchrone Programmierung: Beispiel Autonomes Fahrzeug mit zwei Sensoren für asynchr. Ereignisse: Aufgabe Ereignis Periode Priorität Laserscanner-Datenverarb. Kollision - 1 (höchste) Transponder-Datenverarb. Landmarke - 2 Kamera-Datenverarb. Zeitgeber T 3 Motorsteuerung Zeitgeber 2T 4 (niedrigste) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Verfahren... (Animierte Folie) Asynchrone Programmierung: Beispiel... Zeitlicher Ablauf, falls präemtives HPF zum Scheduling der Aktionen benutzt wird: Laserscanner datenverarb. Transponder datenverarb. Kameradaten verarbeitung Motorsteuerung T >T >2T <2T Ruhe (idle) T 2T 3T 6T 4T 5T 6T 7T 8T 7T Landmarke Kollision Kollision Landmarke Kollision Zykluszeiten können um die Sollzeit schwanken (Jitter) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 40

26 1.2.2 Verfahren... Asynchrone Programmierung: Diskussion Vorteile flexibler Programmablauf, flexible Programmstruktur Reaktion auf periodische u. aperiodische Ereignisse möglich Nachteile Rechtzeitigkeit nicht in jedem Fall im Voraus garantierbar je niedriger die Priorität, destor größer die Schwankungen Systemanalyse und Test schwieriger bei geeignetem Scheduling ist Einhaltung der Rechtzeitigkeit aber im Voraus beweisbar (Feasibility Analysis) Asynchrone Programmierung wg. hoher Flexibilität verstärkt eingesetzt, synchrone Programmierung für kritische Anwendungen Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Besonderheiten von Echtzeit-BSen Anforderungen an Echtzeit-BSe (Realtime OS, RTOS) RTOSs haben prinzipiell dieselben Aufgabe wie normale BSe, aber mit speziellen Anforderungen: Deterministisches zeitliches Verhalten insbes. bei zyklischer Einplanung von Aufgaben (Tasks) unabhängig von der Last des Systems Bearbeitung vieler externer Ereignisse (Unterbrechungen) definierte, kurze Antwortzeiten auf Unterbrechungen Geringer Ressourcenverbrauch (eingebettetes System!) Geringer Overhead beim Zugriff auf Hardware bzw. technischen Prozeß beim Taskwechsel, etc. Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 42

27 1.3 Besonderheiten von Echtzeit-BSen... Anforderungen an Echtzeit-BSe (Realtime OS, RTOS)... Zuverlässigkeit Robustheit gegenüber HW- und SW-Fehlern ggf. Notbetrieb von Teilsystemen Stabilität: falls nicht alle Fristen eingehalten werden können, müssen zumindest die wichtigsten Tasks ihre Fristen einhalten Multitasking-Fähigkeit mit Prioritäten für Tasks (Prozesse / Threads) Effiziente, schnelle Interprozeßkommunikation Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Besonderheiten von Echtzeit-BSen... Unterschiede zwischen RTOSs und PC-BSen RTOSs gewährleisten die Einhaltung von Zeitbedingungen RTOSs liegen i.a. als Bibliothek vor benötigte Module werden mit Anwendung gebunden und in einem ROM abgelegt RTOSs erlauben detaillierte Kontrolle / Anpassung durch Benutzer bzw. Programmierer, z.b.: Task-Prioritäten unterschiedliche Scheduling-Verfahren Einsatz von Schutzmechanismen Art der Speicherverwaltung Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 44

28 1.3 Besonderheiten von Echtzeit-BSen... Unterschiede zwischen RTOSs und PC-BSen... RTOSs besitzen oft keine Datei-/Plattenverwaltung keine mechanischen Laufwerke vorhanden bzw. erlaubt Datenträgerzugriff hat nichtdeterministisches Zeitverhalten teilweise aber Dateisysteme im Speicher (RAM oder Flash-ROM) Häufig einfachere Speicherverwaltung keine Auslagerung von Seiten Oft nur Threads statt Prozesse ggf. expliziter Speicherschutz zwischen Theads möglich Kein Mehrbenutzerbetrieb Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Besonderheiten von Echtzeit-BSen... Realzeit-Erweiterungen in Universal-BSen Einige Standard-BSe bieten Erweiterungen an, um Echtzeit-Anwendungen zu unterstützen, z.b.: Memory-Locking verhindert Auslagerung einer Seite auf Hintergrundspeicher Deaktivierung von Caches erhöht die Vorhersagbarkeit auf Kosten der Performanz Echtzeit-Scheduling Strategien z.b. LINUX: Schedulingklassen SCHED FIFO / SCHED RR präemptives, prioritätsgesteuertes FIFO / RR-Scheduling höhere Priorität als Nicht-Echtzeit-Threads Klasse ist pro Thread wählbar (nur mit Admin.-Rechten) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 46

29 1.4 Echtzeit-Scheduling Einführung Ziel: Planung des Ablaufs von Echtzeit-Tasks so, daß alle harten/festen Echtzeitanforderungen und möglichst viele weiche Echtzeitanforderungen erfüllt werden Task: Prozeß bzw. Thread (je nach RTOS) Task ist normalerweise blockiert und wartet auf Aktivierung zur Unterscheidung: neuer Zustand ruhend Aktivierung durch Zeitgeber oder externes Ereignis nach Aktivierung: Task führt Aufgabe aus und ruht dann wieder (Literatur: Wörn/Brinkschulte, Kap. 6.3) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Einführung... (Animierte Folie) Zeitparameter Das Zeitverhalten einer Task wird durch mehrere Parameter beschrieben: Task i blockiert Reaktionszeit: Zeit zwischen j i e i l Anforderung und i Start der Ausführung rechnend Spielraum (Laxity): Restzeit zwischen Zeitschranke(Deadline): Beendigung und Zeitschranke Zeit, zu der die Restausführungszeit: noch bereit Spielraum Task spätestens zur Zeit t: abgeschlossen l sein Beendigungszeit: muß verbleibende Ausführungszeit Ausführungszeit: i = d i (t + er Rechenzeit i ) Task hat Aufgabe der Task Ankunftszeit: (ohne Task wird Anforderungszeit: Wartezeiten) Startzeit: erledigt i inund Task Ereignis wird erhält wieder tritt ruhend ruhend Taskliste ein, aufgenommen Task erstmalig wird rechenbereit die CPU zugeteilt Periode: Zeitdifferenz zwischen aufeinanderfolgenden Anforderungen a i r i s i t c i d i p i Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 48

30 Anmerkungen zu Folie 48: Ankunftszeit a i (Arrival Time) Task wird in Taskliste aufgenommen Anforderungszeit r i (Request Time) Ereignis tritt ein, Task wird rechenbereit Startzeit s i (Start Time) Task erhält erstmalig die CPU zugeteilt Beendigungszeit c i (Completion Time) Task hat Aufgabe erledigt und wird wieder ruhend Zeitschranke d i (Deadline) Zeit, zu der die Task spätestens abgeschlossen sein muß Periode p i (Period) Zeitdifferenz zwischen aufeinanderfolgenden Anforderungen Ausführungszeit e i (Execution Time) Rechenzeit der Task (ohne Wartezeiten) Restausführungszeit er i (Remaining Execution Time) noch verbleibende Ausführungszeit Spielraum l i (Laxity) Restzeit zwischen Beendigung und Zeitschranke Spielraum zur Zeit t: l i = d i (t + er i ) Reaktionszeit j i (Reaction Time, Release Jitter) Zeit zwischen Anforderung und Start der Ausführung

31 1.4.1 Einführung... Problemstellungen beim Echtzeit-Scheduling Ist es für eine Menge von Tasks möglich, alle Zeitbedingungen einzuhalten? falls ja, existiert (mindestens) ein Schedule d.h. zeitliche Aufteilung der CPU an die Tasks mathematische Analyse: Scheduling Analysis ggf. unter Berücksichtigung eines Schedulingverfahrens Kann der Schedule in endlicher Zeit berechnet werden? Findet das benutzte Schedulingverfahren diesen Schedule? ein optimales Schedulingverfahren findet den Schedule immer, falls dieser existiert Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Einführung... Scheduling Analysis (Feasibility Analysis) Vorab-Analyse, ob für eine Task-Menge ein Schedule existiert Zentrale Größe: Prozessorauslastung H = Benötigte Prozessorzeit Verfügbare Prozessorzeit = n i=1 e i p i Notwendige Bedingung für Existenz eines Schedule: H 1 auch hinreichend, falls: rein periodische Tasks, keine Blockierungen, Zeitschranke = Periode Beispiel: Periode p i Ausf.zeit e i Task 1 200ms 100ms Task 2 100ms 50ms H = n i=1 e i p i = 1 Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 50

32 1.4.1 Einführung... Klassen von Echtzeit-Schedulingverfahren Statisches oder dynamisches Scheduling statisch: Schedule wird bereits vor der Ausführung berechnet Zuordnungstabelle enthält Startzeit für jede Task CPU-Zuteilung zur Laufzeit durch Dispatcher entspricht Prinzip der synchronen Programmierung dynamisch: Zuordnung Tasks CPU zur Laufzeit berechnet entspricht asynchroner Programmierung Statische oder dynamische Prioritäten es gibt aber auch Verfahren ganz ohne Prioritäten Präemptives oder nicht-präemptives Scheduling präemptives Scheduling meist vorteilhafter (Reaktionszeit!) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Echtzeit-Scheduling FIFO-Scheduling Dynamisch, nicht-präemptiv, ohne Prioritäten Einfach, aber keine Berücksichtigung der Zeitbedingungen Beispiel: Periode p i Ausf.zeit e i Task 1 150ms 15ms Task 2 10ms 1ms H = 20% Task 1 Task 2 Idle Zeitschranke für 1. Ausf. von Task 2 verpaßt 1. Ausf. von Task 2 fertig ms Ereignis f. Task 1 Ereignis f. Task 2 Ereignis f. Task 2 Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 52

33 1.4 Echtzeit-Scheduling Fixed-Priority-Scheduling Dynamisches Scheduling mit statischen Prioritäten (= HPF) Präemptive Variante kann unter Umständen die Einhaltung von Zeitbedingungen garantieren Regel für rein periodische Anwendungen: PR i 1/p i Priorität PR i ist umgekehrt proportional zu Periodendauer p i Rate-Monotonic-Scheduling (RMS) Einhaltung der Zeitschranken bei RMS vorab überprüfbar, falls: Scheduling ist präemptiv Periodendauer p i konstant und Zeitschranke d i = p i Ausführungszeit e i konstant und bekannt Tasks sind voneinander unabhängig (keine Synchronisation) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Fixed-Priority-Scheduling... (Animierte Folie) RMS: Beispiel von Folie 52 Periode p i Ausführungszeit e i Priorität Task 1 150ms 15ms 1 (niedrig) Task 2 10ms 1ms 0 (hoch) Worst Case: Ereignisse treten gleichzeitig auf Task 1 Task 2 Idle Präemption Präemption ms Ereignis für Task für Task 1 und 12 Ereignis für Task 2 Ereignis für Task 2 Ereignis für Task 2 Ereignis für Task 2 Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 54

34 1.4.3 Fixed-Priority-Scheduling... RMS: (beweisbare) Eigenschaften Tritt bei periodischen Tasks keine Zeitverletzung auf, bis CPU zum ersten Mal idle wird, tritt auch später keine mehr auf führt zu Busy Period Analysis: Zeitverhalten muß nur für begrenzte Zeit analysiert werden Rate-Monotonic-Scheduling liefert für feste Prioritäten und Präemption für periodische Tasks mit d i = p i eine optimale Prioritätenzuordnung RMS ist kein optimales Scheduling-Verfahren aber: RMS findet immer einen ausführbaren Schedule, falls die Prozessorauslastung H max ist, mit H max = n(2 1/n 1), n = Anzahl der Tasks (Weiterführende Literatur: siehe WWW-Seite) Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 55 Anmerkungen zu Folie 55: H max ist 100% für einen Task und nähert sich für eine höhere Task-Anzahl relativ schnell an ca. 69% an.

35 1.4.3 Fixed-Priority-Scheduling... Beispiel Transportsystem (Wörn/Brinkschulte, S. 366 ff) Task Aufgabe p i d i e i 1 Kameradatenverarbeitung 10ms 10ms 1ms 2 Motorsteuerung 10ms 10ms 5ms 3 Transpondererkennung 15.4ms 5.5ms Zur Berechnung von Prozessorauslastung / Prioritäten: aperiodische Task 3 wird mit d 3 periodisiert damit: H = e 1 /p 1 + e 2 /p 2 +e 3 /p 3 = 95.71% Da p 1 = p 2 : zwei mögliche Prioritätenverteilungen (0 = höchste) Task Priorität oder Task Priorität Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Fixed-Priority-Scheduling... (Animierte Folie) Beispiel: Transportsystem... Ablauf mit Prioritäten T 2 > T 1 > T 3 : Kameradaten 1ms verarb. (T1) Motorsteue rung (T2) Transponder erk. (T3) Idle 5ms 5ms 1ms Präemption 4ms Zeitschranke T1 und T2 1ms 5ms 5ms Zeitschranke T3 1ms 1.5ms um 2.1 ms verpaßt ms Ereignis für T1, T2, T3 Ereignis für T1, T2 Im Beispiel gibt es keinen Schedule mit festen Prioritäten Vergleich: H max = 3(2 1/3 1) = 0,78, damit H > H max Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 57

36 1.4 Echtzeit-Scheduling Earliest-Deadline-First-Scheduling (EDF) Teile die CPU der Task zu, deren Deadline am nächsten ist Dynamisches Scheduling mit dynamischen Prioritäten i.d.r. präemptiv Optimales Scheduling-Verfahren findet immer ausführbaren Schedule, wenn H 100% Nachteile: höherer Aufwand Deadlines müssen dem BS bekannt sein nicht optimal, wenn Datenraten (Startzeiten) einzuhalten sind Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) Earliest-Deadline-First-Scheduling (EDF)... (Animierte Folie) Beispiel: Transportsystem Kameradaten 1ms verarb. (T1) Motorsteue rung (T2) Transponder erk. (T3) Idle Zuweisung Zuweisung der der CPU CPU an an T1 oder T2 (Deadline T2 (Deadline 9ms, in 10 ms, bei T3: bei 14.4 T3: 15.4 ms) ms) 5ms 5.5ms Zeitschranke T1 und T2 1ms T3 behält die CPU (Deadline in 5.4 ms, bei T1,T2: 10 ms) 5ms ms Ereignis für T1, T2, T3 Ereignis für T1, T2 T3 T1, T2 Betriebssysteme / verteilte Systeme Betriebssysteme II (2/13) 59

37 Betriebssysteme II SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404 Stand: 23. April 2014 Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) i 1.4 Echtzeit-Scheduling Least-Laxity-First-Scheduling (LLF) Teile die CPU der Task mit dem geringsten Spielraum (Laxity) zu Deadline und Ausführungszeit müssen bekannt sein Dyn. Scheduling mit dynamischen Prioritäten, i.d.r. präemptiv Optimales Scheduling-Verfahren Gleichmäßigere Abarbeitung der Tasks als bei EDF Vorteil z.b. bei überlastetem System, wenn nicht mehr alle Deadlines einzuhalten sind Vorteil auch bei mehrfädigen CPUs und Multiprozessoren Nachteile: Rechenaufwand, ggf. sehr häufige Taskwechsel Spielraum der rechnenden Tasks bleibt konstant, Spielraum aller anderen Tasks sinkt stetig Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 60

38 1.4.5 Least-Laxity-First-Scheduling (LLF)... (Animierte Folie) Beispiel: Transportsystem Kameradaten verarb. (T1) Motorsteue rung (T2) Transponder erk. (T3) Idle l =9.9 3 l =9 1 l =5 2 Laxity ms 1.8ms 0.3ms T1, T2 fertig 5ms T1, T2 0.8ms T3 fertig 3.6ms ms Ereignis für T1, T2, T3 Ereignis für T1, T2 4ms l= ms 6.1ms 11.1ms l=4.1 l=3.9 l= ms l= ms Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 61 T3 15.5ms l=3.5 2ms T1, T2 fertig 17.5ms l=2.5 T1, T2 T1 T2 T3 1.4 Echtzeit-Scheduling Time-Slice-Scheduling Round-Robin-Scheduling mit individueller Zeitscheibenlänge Dynamisches, präemptives Scheduling ohne Prioritäten Dauer der Zeitscheibe einer Task sollte proportional zu deren Prozessorauslastung sein Vorteile: einfache Realisierung, kein Aushungern von Tasks möglich Einhaltung von Datenraten einfacher Nachteile: Zeitscheiben müssen sehr kurz sein (Overhead!) Periodendauer abhängig von Zahl der rechenbereiten Tasks Reaktionszeit der Tasks kann recht lang werden Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 62

39 1.4.6 Time-Slice-Scheduling... Beispiel: Transportsystem T1: H 1 = e 1 /p 1 = 1/10 = 10%, T2: H 2 = e 2 /p 2 = 5/10 = 50%, T3: H 3 = e 3 /p 3 = 5.5/ %, T 1 = 0.5ms T 2 = 2.5ms T 3 = 1.8ms Kameradaten 0.5ms 0.5ms 0.5ms 0.5ms verarb. (T1) T1 fertig T1 fertig Motorsteue 2.5ms 2.5ms 2.5ms 2.5ms rung (T2) T3 fertig Transponder erk. (T3) Idle T2 fertig 1.8ms 1.8ms T1,T2 0.1ms T ms Ereignis für T1, T2, T3 Ereignis für T1, T2 Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 63 T1, T2 1.4 Echtzeit-Scheduling Guaranteed-Percentage-Scheduling (GP) Jeder Task wird fester Teil der CPU-Leistung zugewiesen sehr feingranulares Time-Slice-Scheduling mit Hardware- Unterstützung (mehrfädige CPUs, z.b. Komodo µcontroller) CPU quasi in unabhängige virtuelle Prozessoren unterteilt Vorteile: Periodendauer unabhängig von Zahl der Tasks Tasks sind zeitlich voneinander isoliert optimales Scheduling-Verfahren Tasks starten sofort und laufen gleichmäßig ab Einhaltung von Datenraten ist einfach Nachteil: nicht ohne Hardware-Unterstützung realisierbar Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 64

40 1.4.7 Guaranteed-Percentage-Scheduling (GP)... Beispiel: Transportsystem Komodo-Mikrocontroller: Zuteilung einzelner Taktzyklen in einem 100-Zyklen-Intervall 100 Taktzyklen CPU... T1, 10 T2, 50 Taktzyklen T3, 36 Taktzyklen... Kameradaten verarb. (T1) Motorsteue rung (T2) Transponder erk. (T3) Idle T1, T2 fertig Deadline T1,T2 T1, T2 fertig ms Ereignis für T1, T2, T3 Ereignis für T1, T2 Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 65 T3 T3 fertig T1, T2 1.5 Unterbrechungen Externe Ereignisse (z.b. von Sensoren) werden i.d.r. durch Unterbrechungen (Interrupts) gemeldet CPU springt automatisch zum zugehörigen Unterbrechungsbehandlungsprogramm (Interrupt Service Routine, ISR) Erinnerung: i.a. mehrere Interrupts mit Prioritäten jeder Interrupt hat seine eigene ISR höherpriorer Interrupt kann laufende ISR unterbrechen Interrupt niedrigerer Priorität wird bis zum Ende einer laufenden ISR zurückgestellt RTOS hat zwei Möglichkeiten zur Unterbrechungsbehandlung: Unterbrechung der taskorientierten Verarbeitung Integration in die taskorientierte Verarbeitung Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 66

41 1.5 Unterbrechungen... Unterbrechung der taskorientierten Verarbeitung Vorgehensweise: Interrupt unterbricht laufende Task Interrupt wird vollständig in der ISR behandelt danach wird unterbrochene Task fortgesetzt Auswirkungen: sehr schnelle Reaktion auf Ereignisse reguläres Taskscheduling wird unterbrochen Interrupts haben Priorität über alle anderen Tasks ggf. aber Unterbrechungssperre möglich Schedulingstrategie für Interrupts ist immer präemptiv mit festen Prioritäten (keine 100%-ige CPU-Auslastung) Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) Unterbrechungen... Integration in die taskorientierte Verarbeitung Vorgehensweise: ISR aktiviert (weckt) nur eine Task und kehrt sofort zurück Task implementiert die eigentliche Behandlung i.a. zyklische Task, die auf Ereignis-Nachricht wartet Task bekommt CPU gemäß gewählter Schedulingstrategie Auswirkungen: Unterbrechungsbehandlung ist in Taskkonzept integriert Behandlungstask kann auch niedrigere Priorität als laufende Task haben keine (bzw. nur sehr kurze) Unterbrechung Reaktionszeit auf Ereignisse wird (etwas) langsamer Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 68

42 1.5 Unterbrechungen... Unterbrechung der taskorientierten Bearbeitung Integration in die taskorientierte Bearbeitung Task A Task A Task B wait() ruhend Interrupt Interrupt ISR bereit ISR Ereignis behand lung wakeup() schedule() Ereignis behand lung Zeit rechnend schedule() wait() Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) Unterbrechungen... Anforderungen in Echtzeit-Systemen Kurze, vorhersagbare Reaktionszeit auf Interrupts ISRs dürfen Echtzeitverhalten nicht beeinträchtigen System muß jederzeit unterbrechbar sein möglichst nur kurze Interruptsperren priorisierte Interrupts (unterbrechbare ISRs) präemptives Scheduling (bei Behandlung durch Tasks) BS-Kern muß unterbrechbar sein mehrere Threads können gleichzeitig im BS-Kern sein (multithreaded Kernel) dazu: Systemaufrufe müssen wiedereintrittsfähig (reentrant) sein Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 70

43 1.5 Unterbrechungen... Wiedereintrittsfähigkeit Ein (Unter-)Programm ist wiedereintrittsfähig (reentrant), wenn es zu einem Zeitpunkt (überlappt oder parallel) in mehreren Inkarnationen aktiv sein kann darf nochmals gestartet werden, obwohl es bereits aktiv ist Erfordert lokale Verwaltung des Zustands für jede Inkarnation keine globalen bzw. statischen Variablen im BS: Variablen können meist task-lokal (im Task- Kontrollblock) gespeichert werden ggf. zumindest Synchronisation erforderlich lokale (dynamische) Variablen im Keller abgelegt Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) Kommunikation und Synchronisation Echtzeit-BSe bieten i.a. dieselben Konstrukte wie normale BSe: zur Synchronisation: Semaphore, Monitore, Mutexe, Bedingungsvariable,... zur Kommunikation: Nachrichten (synchron / asynchron), Ports, Mailboxen, Ströme, RPC,... Erweiterungen zur Berücksichtigung von Prioritäten Prioritäten für Task-Warteschlangen hochpriore Taks bekommen z.b. Semaphor zuerst Prioritäten für Nachrichten hochpriore Nachrichten überholen niederpriore Nachrichten in der Empfänger-Warteschlange Prioritätenvererbung für Semaphore / Mutexe vermeidet Verhungerung durch Prioritätsinversion Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 72

44 1.6 Kommunikation und Synchronisation... Prioritätsinversion (Priority Inversion) Liegt vor, wenn höher priorisierte Task auf niederpriore Task warten muß, z.b. wegen wechselseitigem Ausschluß Beispiel: Task 1 und Task 2 verwenden ein gemeinsames Mutex Task 1 Task 2 Idle Task 1 will Mutex belegen, wird blockiert Ereignis für Task 2 Task 2 belegt Mutex Ereignis für Task 1 Prioritätsinversion Task 2 gibt Mutex frei Task 1 muß (lange) auf niederpriore Task 2 warten! Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 73 Zeit 1.6 Kommunikation und Synchronisation... Verhungerung durch Prioritätsinversion Beispiel: Task 1 und 2 verwenden ein gemeinsames Mutex, Task 3 ist unabhängig. Prioritäten: T1 > T3 > T2 Task 1 Task 2 Task 3 Task 2 belegt Mutex Task 1 will Mutex belegen, wird blockiert Task 1 ist durch Task 3 längerfristig blockiert Idle Ereignis für Task 2 Ereignis für Task 1 Ereignis für Task 3 so passiert z.b bei Mars-Mission Pathfinder/Sojourner Zeit Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 74

45 1.6 Kommunikation und Synchronisation... Prioritätenvererbung (Priority Inheritance) Löst Problem der Verhungerung durch Prioritätsinversion Prinzip: Wenn höherpriore Task durch niederpriore Task blockiert wird, erbt diese für die Dauer der Blockierung die Priorität der blockierten Task Task 1 Task 1 will Mutex belegen, wird blockiert Task 2 gibt Mutex frei Task 1 fertig Task 2 Task 3 Idle Ereignis für Task 2 Task 2 belegt Mutex Ereignis für Task 1 Task 2 erbt Prio. von Task1: keine Unterbre chung durch Task 3 Ereignis für Task 3 Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 75 Zeit 1.6 Kommunikation und Synchronisation... Priority Ceiling Protokolle Verbleibende Probleme bei Prioritätenvererbung: eine Task kann mehrfach blockiert werden (mehrere Mutexe) Möglichkeit von Deadlocks Lösung bei streng prioritätsbasiertem Scheduling: Priority Ceiling Protokolle (PCP), z.b. Immediate Inheritance PCP: Ceiling Priority eines Mutex: max. Priorität aller Tasks, das Mutex benutzen (wird vor der Laufzeit berechnet) eine Task, die ein Mutex sperrt, bekommt bis zur Freigabe dessen Ceiling Priority sie kann damit nicht mehr von anderen Tasks, die dasselbe Mutex nutzen, unterbrochen werden (Weiterführende Literatur: siehe WWW-Seite) Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 76

46 1.7 Speicherverwaltung Erinnerung: Zuteilung von freiem Speicher an Prozesse Hilfsmittel: Abbildung von logischen auf physische Adressen Modelle der Speicherverwaltung: (nach Wörn/Brinkschulte, Kap. 6.4) Speicherzuteilung: statisch vs. dynamisch: erfolgt die Zuteilung fest vor der Laufzeit oder ist sie zur Laufzeit änderbar? nichtverdrängend vs. verdrängend: kann zugeteilter Speicher durch Auslagerung entzogen werden? Adreßbildung und Adressierung: reelle vs. virtuelle Adressierung: ist der logische Adreßraum kleiner bzw. größer als der physische Adreßraum? lineare vs. gestreute Adreßbildung: wird nur ein Offset addiert oder komplexere Abbildung? Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) Speicherverwaltung... Lineare Adreßbildung Einteilung des logischen Adreßraums in Segmente Segmente in physischen Adreßraum abgebildet Statische Zuteilung, reelle Adressierung, keine Verdrängung entspricht festen Partitionen ( BS-I: 6.1.3) Schutz der Tasks durch Hardware realisiert Basis/Limit-Register bzw. segmentierte MMU sehr gut vorhersagbares Laufzeitverhalten Speicher-Zugriffszeit konstant keine Reorganisation notwendig (keine Dynamik) starr, keine Anpassung der Partitionsgröße zur Laufzeit ungeeignet, wenn Zahl der Tasks stark variiert Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 78

47 1.7 Speicherverwaltung... Lineare Adreßbildung... Dynamische Zuteilung, reelle Adressierung, keine Verdrängung gut geeignet für Echtzeitsysteme zusätzliche Zeit für Zuteilung, wenn Task erzeugt wird Probleme: externe Fragmentierung, dyn. Partitionsgrößen prinzipiell lösbar durch Speicherbereinigung, d.h. Verschieben belegter Partitionen + Speicher bereinigung Zuteilung in Echtzeitsystemen aber i.d.r. nicht anwendbar benötigt schnelle, vorhersagbare Verfahren zur Freispeicherverwaltung ( BS-I: 6.2.2) Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) Speicherverwaltung... Lineare Adreßbildung... Dynamische Zuteilung, virtuelle Adressierung mit Verdrängung eine einzige Partition pro Task: Swapping ( BS-I: 6.2) oder logische Unterteilung des Task-Adreßraums: Segmentierung ( BS-I: 6.4) Verdrängung bei Echtzeit-Tasks problematisch daher Möglichkeit der Verriegelung (Task-Lock) verriegelte Segemente werden nicht ausgelagert möglich aber z.b. Verdrängung von Initialisierungs- oder Fehlerbehandlungscode (in eigenem Segment) Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 80

48 1.7 Speicherverwaltung... Streuende Adreßabbildung I.d.R. immer dynamische Zuteilung, mit oder ohne Verdrängung Entspricht Paging ( BS-I: 6.3) Vorteile bei Realzeit-Anwendungen: keine Speicherbereinigung erforderlich Zuweisen von freien Kacheln ist vorhersagbar schnell dyn. Änderung der Taskgröße einfach, zeitlich vorhersagbar feinere Granularität gezielte Verriegelung einzelner Seiten möglich Nachteile: interne Fragmentierung (letzte Seite eines Segments) höherer Verwaltungsaufwand (Seitentabellen + Zugriffe) Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) Beispiele QNX UNIX-ähnliches Echtzeitbetriebssystem für eingebettete Systeme implementiert den POSIX Standard Mikrokern-Architektur (Größe des Kerns bei 4.24: ca. 11KB) unterstützt verschiedene CPU-Familien x86, ARM, PowerPC, MIPS,... auch Mehrprozessor-/Multicore-Systeme gute Netzwerk-Unterstützung (verteilte Echtzeitsysteme) Ergänzt durch eine Reihe von Entwicklungswerkzeugen IDE, Compiler, Debugger,... GUI-Builder, Treiber-Entwicklungs-Kits Betriebssysteme / verteilte Systeme Betriebssysteme II (3/13) 82

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

Rechnernetze II WS 2012/2013. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Rechnernetze II WS 2012/2013 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 5. Mai 2014 Betriebssysteme / verteilte Systeme Rechnernetze

Mehr

Rechnernetze I. Rechnernetze I. 0 Organisation SS 2013. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Rechnernetze I. Rechnernetze I. 0 Organisation SS 2013. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Rechnernetze I SS 2013 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 18. Juli 2013 Betriebssysteme / verteilte Systeme Rechnernetze I (1/13) i Rechnernetze

Mehr

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

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

Mehr

Echtzeitscheduling (1)

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

Mehr

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

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

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

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

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

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

Verteilte Echtzeit-Systeme

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

Mehr

Verteilte 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

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

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

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

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte

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

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

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

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

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 21. Oktober 2014 Betriebssysteme / verteilte

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

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

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

Mehr

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

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

Mehr

Definitionenen und Grundlagen

Definitionenen und Grundlagen Echtzeitbetriebssysteme & verteilte Systeme, Teil 1 Dozent: Dr. rer. nat. Frank Dopatka Voraussetzung: Grundkenntnisse in Betriebssystemen & -Verfahren Ziel: Einführung in industrielle Echtzeitanforderungen,

Mehr

Übung I Echtzeitbetriebssysteme

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

Mehr

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

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

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

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

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

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

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

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

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

(b) Worin besteht der Unterschied zwischen online und offline Scheduling? Universität Paderborn Fachgebiet Rechnernetze SoSe 2013 Konzepte und Methoden der Systemsoftware Präsenzübung 3 2013-05-06 bis 2013-05-10 Aufgabe 1: Scheduling - Grundbegriffe Bekanntlich gibt es für das

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

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

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

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

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

Mehr

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

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

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

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

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

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

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

Roboter- und Automatisierungstechnik

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

Mehr

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

Ü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

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

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

Verteilte Systeme CS5001

Verteilte Systeme CS5001 CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Einführung Administratives Unterlagen Verwendbar: Master of Science (Informatik) Wahlpflichtfach (Theorie-Pool) Unterlagen Folien:

Mehr

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb AN025 Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der Autor: HB AN025.DOC (6 Seiten) 1. Definition Im folgenden wie auch in allen anderen Sorcus Schriften werden folgende Kurzbezeichnungen verwendet:

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

Technische Informatik II. SoSe 2014. Jörg Kaiser IVS EOS

Technische Informatik II. SoSe 2014. Jörg Kaiser IVS EOS Vorlesung SoSe 2014 Jörg Kaiser IVS EOS Otto-von-Guericke-Universität Magdeburg 1 Allgemeine Information Dozent: Sekretariat: Prof. Dr. Jörg Kaiser Institut für Verteilte Systeme (IVS) Arbeitsgruppe Eingebettete

Mehr

OSEK Deadline-Analyse

OSEK Deadline-Analyse OSEK Deadline-Analyse GmbH Erlangen Jürgen Scherg 8. Juni 2001 Ein Programmtest muß unter verschiedenen Gesichtspunkten durchgeführt werden. verschiedene Testmethoden sind notwendig. Blackbox : Es wird

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Automotive Software Engineering

Automotive Software Engineering Jörg Schäuffele Thomas Zurawka Automotive Software Engineering Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen 4., überarbeitete und erweiterte Auflage Mit 276 Abbildungen PRAXIS ATZ/MTZ-Fachbuch

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

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

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

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

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

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

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

Volkswagen AG Business Unit Braunschweig. Einsatz von SymTA/S in der Elektronikentwicklung. WERK Braunschweig

Volkswagen AG Business Unit Braunschweig. Einsatz von SymTA/S in der Elektronikentwicklung. WERK Braunschweig Volkswagen AG Business Unit Braunschweig Einsatz von SymTA/S in der Elektronikentwicklung Agenda 1 Vorstellung der Elektronikentwicklung 2 Architektur der APA-BS 3 Szenarien für den Einsatz von SymTA/S

Mehr

Linux und Echtzeit Jan Altenberg Linutronix GmbH Jan Altenberg Linutronix GmbH

Linux und Echtzeit Jan Altenberg Linutronix GmbH Jan Altenberg Linutronix GmbH Linux und Echtzeit Jan Altenberg Linutronix GmbH Jan Altenberg Linutronix GmbH 1 Überblick 1. Definition von Echtzeit 2. Linux und Echtzeit 3. Ergebnisse: Was kann mit den einzelnen Ansätzen erreicht werden?

Mehr

4.3 Aufbau von Echtzeitbetriebssystemen

4.3 Aufbau von Echtzeitbetriebssystemen 4.3 Aufbau von Echtzeitbetriebssystemen Aufgaben eines Standardbetriebssystems: Taskverwaltung: Steuerung und Organisation der durchzuführenden Verarbeitungsprogramme (Tasks) Zuteilung des Prozessors an

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

Mehr

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

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

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

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

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

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

Dialekte der Klimaforschung

Dialekte der Klimaforschung Dialekte der Klimaforschung Vom Fortran-Programm zum parallelen Programm Thomas Ludwig Inhalt Welche Dialekte werden transformiert? Welche Anforderungen stellen wir? Wozu diese Transformation? Wie ist

Mehr

Inhaltsverzeichnis 1 Einführung und Überblick 2 Grundlagen

Inhaltsverzeichnis 1 Einführung und Überblick 2 Grundlagen IX 1 Einführung und Überblick... 1 1.1 Das System Fahrer-Fahrzeug-Umwelt... 2 1.1.1 Aufbau und Wirkungsweise elektronischer Systeme... 2 1.1.2 Elektronische Systeme des Fahrzeugs und der Umwelt... 5 1.2

Mehr

Verteilte Echtzeit-Systeme

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

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

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

Mehr

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

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

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

Mehr

^ 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

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

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

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

Mehr

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

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

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

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

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

Mehr

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

Java Real-Time Specification

Java Real-Time Specification Ausgewählte Kapitel eingebetteter Systeme Java Real-Time Specification Tobias Distler 05.07.2006 Java und Echtzeit? Problem Nichtdeterministisches Verhalten der Garbage Collection Weitere Nachteile Scheduling

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

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

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

Aspektorientierte Programmierung (aspect-oriented programming, AOP)

Aspektorientierte Programmierung (aspect-oriented programming, AOP) Aspektorientierte Programmierung (aspect-oriented programming, AOP) Abstract Die aspektorientierte Programmierung ist ein neues Programmierparadigma, das die Probleme und Nachteile, die aus der prozeduralen

Mehr

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion 1 Überblick Ausführungszeiten Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme

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

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