Parallelisierung von Echtzeitanwendungen

Größe: px
Ab Seite anzeigen:

Download "Parallelisierung von Echtzeitanwendungen"

Transkript

1 Parallelisierung von Echtzeitanwendungen Lukas Lehnert

2 Inhaltszusammenfassung Grundlagen sequentiell vs. parallel Chancen & Grenzen der Parallelisierung Verzögerungen Sprachkonstrukte vs. BS-Schnittstelle Analysierbarkeit Synchronisation Ablaufplanung Parallelisierung von Echtzeitanwendungen (SS15) 2

3 Grundlagen

4 Terminologie KvBK-Seminar Abbildung 1: Aufgabe und Arbeitsauftrag Abbildung 2: Faden und Arbeitsauftrag Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen 3

5 Terminologie KvBK-Seminar Abbildung 1: Aufgabe und Arbeitsauftrag Abbildung 2: Faden und Arbeitsauftrag Task Ada-Task = Faden Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen 3

6 Anwendung eines Echtzeitsystems Abbildung 3: Bsp. für eine Echtzeitanwendung Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen sequentiell vs. parallel 4

7 Umsetzung der Arbeitsaufträge Abbildung 4: Aufgabe und Arbeitsauftrag praktisch Druck r e g u l i e r e n : Hole Eingabe des ADC d e r Druckmessung Berechne neue E i n s t e l l u n g des E n t l a s s u n g s v e n t i l s S e t z t e mit dem DAC d i e b e r e c h n e t e E i n s t e l l u n g Z e i g e Druck am D i s p l a y an. Temperatur r e g u l i e r e n : Hole Eingabe des ADC d e r Temperaturmessung Berechne neue E i n s t e l l u n g des G a s v e n t i l s S e t z e mit dem DAC d i e b e r e c h n e t e E i n s t e l l u n g Z e i g e Temperatur Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen sequentiell vs. parallel 5

8 paralleler Algorithmus D r u c k r e g u l i e r u n g s f a d e n : l o o p Druck r e g u l i e r e n warte b i s 3 Sekunden s e i t d e r l e t z t e n Druckmessung end l o o p ; T e m p e r a t u r r e g u l i e r u n g s f a d e n : l o o p Temperatur r e g u l i e r e n warte b i s 5 Sekunden s e i t d e r l e t z t e n Temperaturmessung end l o o p ; Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen sequentiell vs. parallel 6

9 sequentieller Algorithmus Dampfkochersteuerungsfaden : l o o p Temperatur r e g u l i e r e n Druck r e g u l i e r e n warte b i s t + 3 s ; t = t + 3 s ; Druck r e g u l i e r e n warte b i s t + 2 s ; t = t + 2 s ; Temperatur r e g u l i e r e n warte b i s t + 1 s ; t = t + 1 s ; Druck r e g u l i e r e n warte b i s t + 3 s ; t = t + 3 s ; Druck r e g u l i e r e n warte b i s t + 1 s ; t = t + 1 s ; Temperatur r e g u l i e r e n warte b i s t + 2 s ; t = t + 2 s ; Druck r e g u l i e r e n warte b i s t + 3 s ; t = t + 3 s ; end loop ; Druck 0s 3s 6s 9s 12s Temperatur 0s 5s 10s Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen sequentiell vs. parallel 7

10 Regel von Pollack k Rechenleistung = k Komplexität bei Verdoppelung der Komplexität wäre das 2 1, 41 -fache der Rechenleistung Parallelisierung von Echtzeitanwendungen (SS15) 8 Grundlagen Chancen & Grenzen der Parallelisierung

11 Grenzen der Parallelisierung s = 1 (1 P) + P N s: speedup P: parallelisierbarer Codeanteil N: Anzahl an Prozessoren Parallelisierung von Echtzeitanwendungen (SS15) 9 Grundlagen Chancen & Grenzen der Parallelisierung

12 Grenzen der Parallelisierung s = 1 (1 P) + P N s: speedup P: parallelisierbarer Codeanteil N: Anzahl an Prozessoren Beispiel: P = 0.7 N = 2 s 1.54 Parallelisierung von Echtzeitanwendungen (SS15) 9 Grundlagen Chancen & Grenzen der Parallelisierung

13 Verzögerungen relative Verzögerung ab jetzigem Zeitpunkt absolute Verzögerung ab Startzeitpunkt Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen Verzögerungen 10

14 Fehler bei Verzögerungungen 1 + δ δ δ δ a) Phasenverschiebung bei relativer Verzögerung δ 1 δ 2 δ 3 δ b) Phasenverschiebung bei absoluter Verzögerung Abbildung 5: Fehler bei relativer/absoluter Verzögerung Parallelisierung von Echtzeitanwendungen (SS15) Grundlagen Verzögerungen 11

15 Sprachkonstrukte vs. Betriebssystemschnittstelle

16 absolute und relative Verzögerung Ada delay delay until ecos cyg thread delay Real Time Java RelativeTime / AbsoluteTime sleep Parallelisierung von Echtzeitanwendungen (SS15) Sprachkonstrukte vs. BS-Schnittstelle 12

17 Fäden Ada Ada-Tasks in Sprache integriert ecos cyg thread create erfordert Anlegung von Verwaltungsdaten Real Time Java mit RealTimeThread Java-typischer Klassenaufbau Speicher explizit expliziter Start Real-Time Java x ecos x x Ada Tabelle 1: Aufwand bei der Erstellung von Fäden Parallelisierung von Echtzeitanwendungen (SS15) Sprachkonstrukte vs. BS-Schnittstelle 13

18 Beispiel: absolute Verzögerung in Ada 1 t a s k Faden ; 2 t a s k body Faden is 3 Next : Ada. Real_Time. Time := Clock ; 4 Period : const Time_ Span := Seconds ( 3); 5 begin 6 loop Next := Next + Period ; 9 d e l a y u n t i l Next ; 10 end loop ; 11 end Faden ; Parallelisierung von Echtzeitanwendungen (SS15) Sprachkonstrukte vs. BS-Schnittstelle 14

19 Ressource Speicherplatz in Ada statische Allokation Stack pragma Storage_ Size ( 1000) Heap pragma type Integer_ Ptr is access Integer ; N : Integer_ Ptr ; N := new Integer ; Parallelisierung von Echtzeitanwendungen (SS15) Sprachkonstrukte vs. BS-Schnittstelle 15

20 Zwischenresumée Ada Ada-Tasks und delay-anweisungen werden nativ in der Sprache unterstützt ecos Verwendung externer Bibliotheken Ressourcen müssen explizit angelegt werden Real Time Java Vewendung externer Bibliothek Klassenmodell Parallelisierung von Echtzeitanwendungen (SS15) Sprachkonstrukte vs. BS-Schnittstelle 16

21 Analysierbarkeit

22 Ravenscar-Profil- Vorhersagbarkeit vs. Flexibilität in Ada 2005 Sprachstandard integriert Einschränkung der Sprachkonstrukte sequentielle Programmierung wird kaum eingeschränkt bessere Analysierbarkeit pragma profile ( Ravenscar ) No_ Relati ve_del ay No_Implicit_Heap_Allocations Parallelisierung von Echtzeitanwendungen (SS15) Analysierbarkeit 17

23 Ada 2005 vs. POSIX weite POSIX-Unterstützung in Betriebssystemen POSIX sprachunabhängiger Standard schlechtere Portabilität von Ada-POSIX Anwendungen Parallelisierung von Echtzeitanwendungen (SS15) Analysierbarkeit 18

24 WCET From its beginnings, Ada was designed to allow such analysis in as easy a way as possible Building Parallel, Embeded, and Real-Time Appllications with Ada Ansätze Messungen statische Analyse Parallelisierung von Echtzeitanwendungen (SS15) Analysierbarkeit 19

25 WCET From its beginnings, Ada was designed to allow such analysis in as easy a way as possible Building Parallel, Embeded, and Real-Time Appllications with Ada Ansätze Messungen statische Analyse Parallelisierung von Echtzeitanwendungen (SS15) Analysierbarkeit 19

26 Synchronisation

27 Synchronisation nicht blockierende Synchronisation transaktionaler Speicher Volatile/Volatile Components atomares Lesen/Schreiben Atomic/Atomic Componentents transaktionales Programm CAS LL/SC blockierende Synchronisation Semaphor Monitor Ada: protected Java: synchronized Parallelisierung von Echtzeitanwendungen (SS15) Synchronisation 20

28 Monitor Monitor Bedingungsvariable Prozedur Warteschlangen Abbildung 6: Monitorkonzept Hansen: alle aus Bedingungswartschlange bereit ; blockiert Hoare: einer aus Bedingungswarteschlange bereit ; blockiert Mesa: einer oder alle aus Bedingungswartschlange bereit Parallelisierung von Echtzeitanwendungen (SS15) Synchronisation 21

29 Ablaufplanung

30 Prozesszustände Abbildung 7: Prozesszustände Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 22

31 Übersicht Ablaufplanung zur Laufzeit dynamische Priorität (dynamic priority scheduling) vor Laufzeit festgelegte Priorität (fixed priority scheduling) Dringlichkeit (urgency) in Abh. von Periode (Rate Monotonic) kürzeste Deadline (Deadline Monotonic) Relevanz (criticality) geteilte Ressourcen (shared ressources) Vorrang (precedence) Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 23

32 Übersicht Ablaufplanung zur Laufzeit dynamische Priorität (dynamic priority scheduling) vor Laufzeit festgelegte Priorität (fixed priority scheduling) Dringlichkeit (urgency) in Abh. von Periode (Rate Monotonic) kürzeste Deadline (Deadline Monotonic) Relevanz (criticality) geteilte Ressourcen (shared ressources) Vorrang (precedence) dynamisch zur Laufzeit bestimmte Ablaufplanung (on-line scheduler) vor Laufzeit festgelegte Ablaufplanung (off-line scheduler) Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 23

33 Übersicht Ablaufplanung zur Laufzeit dynamische Priorität (dynamic priority scheduling) vor Laufzeit festgelegte Priorität (fixed priority scheduling) Dringlichkeit (urgency) in Abh. von Periode (Rate Monotonic) kürzeste Deadline (Deadline Monotonic) Relevanz (criticality) geteilte Ressourcen (shared ressources) Vorrang (precedence) dynamisch zur Laufzeit bestimmte Ablaufplanung (on-line scheduler) vor Laufzeit festgelegte Ablaufplanung (off-line scheduler) verdrängende Ablaufplanung (preemtive scheduler) nicht verdrängende Ablaufplanung (non-preemptive scheduler) Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 23

34 EDF vs. fixed priority scheduling Fixed Priority scheduling EDF Effizienz 69 % (Rate Monotonic) 100% Vorhersagbarkeit hoch niedrig Systemüberlastung deterministischer nicht deterministisch Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 24

35 Prioritätsinversion F3 (hoch) Aktivierungszeitpunkt P(mutex) F2 (mittel) F1 (niedrig) P(mutex) Verdrängung Abbildung 8: Prioritätsinversion Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 25

36 Ablaufplanung in Ada Abbildung 9: Ablaufplanung in Ada pragma Priortiy_Specific_Dispatching ( FIFO_ Within_ Priorities, 3, 31); pragma Task_Dispatching_Policiy ( FIFO_Within_Priorities ); pragma Locking_Policy ( Ceiling_Locking ); Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 26

37 sequentieller Algorithmus Dampfkochersteuerungsfaden : l o o p Temperatur r e g u l i e r e n Druck r e g u l i e r e n warte b i s t + 3 s ; t = t + 3 s ; Druck r e g u l i e r e n warte b i s t + 2 s ; t = t + 2 s ; Temperatur r e g u l i e r e n warte b i s t + 1 s ; t = t + 1 s ; Druck r e g u l i e r e n warte b i s t + 3 s ; t = t + 3 s ; Druck r e g u l i e r e n warte b i s t + 1 s ; t = t + 1 s ; Temperatur r e g u l i e r e n warte b i s t + 2 s ; t = t + 2 s ; Druck r e g u l i e r e n warte b i s t + 3 s ; t = t + 3 s ; end loop ; Druck Temperatur 0s 0s 3s 5s 6s 9s 10s 12s ab 15s Hyperperiodenende Hyperperiode: kleinstes gemeinsames Vielfaches aller Zykluszeiten. Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 27

38 Zusammenfassung Motivation seq. vs. parallele Algorithmen Regel von Pollack speedup Verzögerungen absolut relativ Sprachunterstützung vs. externe Bibliotheken gute Analysierbarkeit von Ada blockierende vs. nicht blockierende Synchronisation Ablaufplanung dynamisch/festgelete Prioritäten Prioritäten & unteilbare Betriebsmittel Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 28

39 Quellen 1 G. Bollella, B. Brosgol, P. Dibble, S. Furr, J. Gosling, D. Hardin, and M. Turnbull. The Real-Time Specifcation for Java. Addison-Wesley, 2000 B. Brandenburg, J. Calandrino, A. Block, H. Leontyev, and J. Anderson. Synchronization on real-time multiprocessors: To block or not to block, to suspend or spin? In Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium, pages , A. Burns and A. Wellings. Concurrent and Real-Time Programming in Ada. Cambridge University Press, Cambridge, A. Burns and A. Wellings. Locking Policies for Multiprocessor Ada. ACM Ada Letters, 33(2):59-65, Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 29

40 Quellen 2 E. G. Coffman, Jr., M. J. Elphick, A. Shoshani. System deadlocks. ACM Computing Surveys (CSUR), 3(2):67-78, Free Software Foundation, Inc. ecos Reference Manual, pdf J. W. McCormick, F. Singhoff, and J. Hugues. Building Parallel, Embedded, and Real-Time Applications with Ada. Cambridge University Press, Cambridge, Oracle Corporation. Deterministic garbage collection: Unleash the power of java with oracle jrockit real time, B. Venu. Multi-core processors - an overview. CoRR, abs/ , Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 30

41 Abbildungsverzeichnis John W. McCormick, Frank Singhoff and Jérôme Hugues: Building Parallel, Emebedded, and Real-Time Applications with Ada, Cambridge University Press, Cambridge, 2011 Abbildung 3: S. 16 Abbildung 5: S. 301 Abbildung 7: S. 112 Abbildung 8: S. 279 Abbildung 9: S.312 Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 31

42 Fragen? 42 Parallelisierung von Echtzeitanwendungen (SS15) Ablaufplanung 32

Cilk Sprache für Parallelprogrammierung. IPD Snelting, Lehrstuhl für Programmierparadigmen

Cilk Sprache für Parallelprogrammierung. IPD Snelting, Lehrstuhl für Programmierparadigmen Cilk Sprache für Parallelprogrammierung IPD Snelting, Lehrstuhl für Programmierparadigmen David Soria Parra Geschichte Geschichte Entwickelt 1994 am MIT Laboratory for Computer Science Cilk 1: Continuations

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

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 OpenMP-Programmierung Teil III Multikern-Praktikum Wintersemester 06-07 Inhalt Was ist OpenMP? Parallele Regionen Konstrukte zur Arbeitsteilung

Mehr

I Grundlagen der parallelen Programmierung 1

I Grundlagen der parallelen Programmierung 1 vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1

Mehr

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

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

Mehr

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

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

Mehr

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

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

Mehr

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg 08.06.2005 Übersicht Problemdefinition Scheduling-Strategien

Mehr

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

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

Mehr

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

Threads and Scheduling

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

Mehr

Echtzeitsysteme. Mehrkern-Echtzeitsysteme. Peter Ulbrich

Echtzeitsysteme. Mehrkern-Echtzeitsysteme. Peter Ulbrich Echtzeitsysteme Mehrkern-Echtzeitsysteme Peter Ulbrich Lehrstuhl für Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg https://www4.cs.fau.de 27. Januar 2016 Echtzeitsysteme

Mehr

Musterlösung Prüfung WS 01/02

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

Mehr

Multicore in Echtzeitsystemen (1)

Multicore in Echtzeitsystemen (1) Multicore in Echtzeitsystemen (1) Liyuan Zhang Hauptseminar AKSS im SS 2009 Ausgewählte Kapitel der Systemsoftware: Multicore- und Manycore-Systeme Überblick Einleitung Uniprozessor in Echtzeitsystemen

Mehr

Echtzeitprogrammierung in Java. Franziska Häger Seminar: Prozesssteuerung und Robotik

Echtzeitprogrammierung in Java. Franziska Häger Seminar: Prozesssteuerung und Robotik Echtzeitprogrammierung in Java Franziska Häger Seminar: Prozesssteuerung und Robotik Agenda Einführung Warum Java? Java Real Time Probleme Real Time Specification for JAVA (RTSJ) Programmierung Threads

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

Aktuelle RTOS-Entwicklungen aus der Forschung

Aktuelle RTOS-Entwicklungen aus der Forschung Aktuelle RTOS-Entwicklungen aus der Forschung Lennart Downar Seminar Fehlertoleranz und Echtzeit 16. Februar 2016 Aktuelle RTOS-Entwicklungen aus der Forschung Lennart Downar 1/28 Übersicht 1 Einführung

Mehr

Sicherheitskritische Echtzeitsysteme mit Java

Sicherheitskritische Echtzeitsysteme mit Java Java für sicherheitskritische Anwendungen Seite 1 Sicherheitskritische Echtzeitsysteme mit Java Andy Walter, COO 22.06.2010 Java für sicherheitskritische Anwendungen Seite 2 Trends bei kritischer Software

Mehr

Verbessertes Konzept: Monitore

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

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.713 Prüfung Echtzeitsysteme 27. März 2015 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(25) 3.)(15) 4.)(25) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Grundlagen

Mehr

Evaluierung der QoS-Unterstützung in TAO/ACE. Großer Beleg - Zwischenstand. Ansgar Konermann 16. Juli 2002

Evaluierung der QoS-Unterstützung in TAO/ACE. Großer Beleg - Zwischenstand. Ansgar Konermann 16. Juli 2002 Evaluierung der QoS-Unterstützung in TAO/ACE Großer Beleg - Zwischenstand Ansgar Konermann 16. Juli 2002 Gliederung Aufgabenstellung Echtzeitfähigkeit Probleme herkömmlicher ORBs Entwicklungsrichtlinien

Mehr

Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013

Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013 Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013 Manuel Strobel 1 Hochschule Furtwangen University Fakultät CEE 2 Embedded Office GmbH & Co. KG 21.

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

ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath

ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS Sascha Kath Dresden, Gliederung 1. Motivation & Zielstellung 2. Systembeschreibung 3. Implementierung und Messungen

Mehr

Von der Theorie zur Praxis: Echtzeitplanung in der Informatikausbildung

Von der Theorie zur Praxis: Echtzeitplanung in der Informatikausbildung Von der Theorie zur Praxis: Echtzeitplanung in der Informatikausbildung Fachtagung des GI/GMA/ITG-Fachausschuss Echtzeitsysteme 2016 Institut für Softwaretechnik, Arbeitsgruppe Echtzeitsysteme astahlhofen@uni-koblenz.de

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

Literatur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2

Literatur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2 Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade, Jürgen: Embedded Linux lernen mit dem Raspberry Pi. dpunkt, 2014 [13-3] Eißenlöffel, Thomas:

Mehr

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Aufbau eines modernen Betriebssystems (Windows NT 5.0) Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung

Mehr

Einführung SS April 2009 Frank Bellosa, Gerd Liefländer, Andreas Merkel Universität Karlsruhe (TH), System Architecture Group

Einführung SS April 2009 Frank Bellosa, Gerd Liefländer, Andreas Merkel Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung SS 2009 23. April 2009 Frank Bellosa, Gerd Liefländer, Andreas Merkel 2009 Universität Karlsruhe (TH), System Architecture Group 1 Übersicht Organisation

Mehr

The Real-Time Specification for Java

The Real-Time Specification for Java Echtzeitprogrammierung in Java The Real-Time Specification for Java Andrzej Kononowicz Clausthal 2003 Real-Time Java Specification 1 Eignung von Java für Echtzeitsysteme Java wurde nicht zur Programmierung

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

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

Multi- und Many-Core

Multi- und Many-Core Multi- und Many-Core Benjamin Warnke Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2016-12-15 Benjamin

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

Ada. Projektseminar: Verteilte Echtzeitsysteme. Tobias Flach,

Ada. Projektseminar: Verteilte Echtzeitsysteme. Tobias Flach, Ada Projektseminar: Verteilte Echtzeitsysteme Tobias Flach, 26.05.2010 Agenda Historische Entwicklung Eigenschaften von Ada Tasks und Protected Objects Prioritäten Scheduling Weitere Echtzeitkonzepte Historische

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

EMB² = Parallel + Heterogen

EMB² = Parallel + Heterogen EMB² = Parallel + Heterogen Parallele Programmierung von Systems-on-a-Chip Tobias Schüle, Siemens AG Die Embedded Multi Building Blocks (EMB²) sind eine als Open Source Software zur Verfügung stehende

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

Parallele Rechenmodelle

Parallele Rechenmodelle Organisatorisches und Themenvorstellung, 21. Oktober 2016 Henning Meyerhenke, Moritz von Looz, Roland Glantz 1 Meyerhenke, Looz, Glantz: Institute for Theoretical Computer www.kit.edu Science Termine Bis

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

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

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

Mehr

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

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

Mehr

Betriebssysteme (BS)

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

Mehr

Beispiele von Branch Delay Slot Schedules

Beispiele von Branch Delay Slot Schedules Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger

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

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

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

Mehr

Datenbanken Implementierungstechniken SS2015

Datenbanken Implementierungstechniken SS2015 Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences Parallele DBMS Datenbanken Implementierungstechniken SS2015 Alexander Müller Fakultät Informatik, Mathematik

Mehr

Quantitative Methoden

Quantitative Methoden Quantitative Methoden Betriebssysteme Claude-J. Hamann TU Dresden Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend

Mehr

Der Scheduler von Windows 2000 Konzepte und Strategien

Der Scheduler von Windows 2000 Konzepte und Strategien Der Scheduler von Windows 2000 Konzepte und Strategien Daniel Lohmann lohmann@informatik.uni-erlangen.de Gliederung 1. Grundbegriffe 2. Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell

Mehr

8 Zugriffstypen ( Zeiger )

8 Zugriffstypen ( Zeiger ) 8 Zugriffstypen ( Zeiger ) 1. Zugriffstypen, die auf Daten in einem Storage Pool zeigen Heap. 2. Allgemeine Zugriffstypen, die auf (mehr oder weniger) beliebige Daten zeigen. 3. Zugriffsparameter für Unterprogramme

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

HW/SW CODESIGN. Echtzeitverhalten. Mehmet Ozgan 0526530. 17. November 2015

HW/SW CODESIGN. Echtzeitverhalten. Mehmet Ozgan 0526530. 17. November 2015 HW/SW CODESIGN Echtzeitverhalten 17. November 2015 Mehmet Ozgan 0526530 ÜBERBLICK 1. Echtzeitsysteme 2. Hardware im Zeitbereich 3. Software im Zeitbereich 2 ECHTZEITSYSTEME REAL-TIME SYSTEM Ein Echtzeitsystem

Mehr

Betriebssysteme R. Thomas (Stand : SS 2010)

Betriebssysteme R. Thomas (Stand : SS 2010) FG TECHNISCHE INFORMATIK I BS 000 00 TH 09 R. Thomas (Stand : SS 2010) FG TECHNISCHE INFORMATIK I BS 001 00 TH 10 Kapitel-Überblick Teil 1 : Allgemeines 1. Einführung I-BS-100 2. Grundlegende Aufgaben

Mehr

Reflex The Real-Time Event Flow EXecutive

Reflex The Real-Time Event Flow EXecutive Einführung The Real-Time Event Flow EXecutive Karsten Walther, und Jörg Nolte Brandenburgische Technische Universität Cottbus 1. Statusseminar des InnoProfile Projekt TANDEM 2007 Gliederung Einführung

Mehr

Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen. Embedded Testing 2017 Thomas Maierhofer Consulting

Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen. Embedded Testing 2017 Thomas Maierhofer Consulting Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen Embedded Testing 2017 Thomas Maierhofer Consulting www.maierhofer.de Agenda Der Begriff Echtzeit Echtzeit und Linux Echtzeitkenngrößen festlegen

Mehr

Java Garbage Collector: Funktionsweise und Optimierung. Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, )

Java Garbage Collector: Funktionsweise und Optimierung. Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, ) Java Garbage Collector: Funktionsweise und Optimierung Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, 20.11.2012) 1 Agenda Algorithmen Tuning Performance-Messungen Zusammenfassung 2 Mathias Dolag / Prof.

Mehr

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Vorüberlegungen Wann ist paralleles Rechnen sinnvoll? Wenn die Performance/Geschwindigkeit steigt. Wenn sich größere Probleme

Mehr

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung CUDA und Python Christian Wilms Integriertes Seminar Projekt Bildverarbeitung Universität Hamburg WiSe 2013/14 12. Dezember 2013 Christian CUDA und Python 1 Gliederung 1 Motivation 2 (GP)GPU 3 CUDA 4 Zusammenfassung

Mehr

Nebenläufige Programmierung

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

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

Mehr

Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java

Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java Thread-Konzept in objektorientierten Programmiersprachen 1 Threads ein Thread ist ein eigenständiges Programmfragment, das parallel zu anderen Teilen eines Programmes ablaufen kann alle Threads eines Programmes

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

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

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

Mehr

Java Concurrency Utilities

Java Concurrency Utilities Java Concurrency Utilities Java unterstützt seit Java 1.0 Multithreading Java unterstützt das Monitorkonzept mittels der Schlüsselworte synchronized und volatile sowie den java.lang.object Methoden wait(),

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

Multicore Architektur vs. Amdahl`s Gesetz

Multicore Architektur vs. Amdahl`s Gesetz Fakultätsname Informatik, Professur Technische Informatik Multicore Architektur vs. Amdahl`s Gesetz Dresden, 21.Juli.2010 Motivation Veröffentlichung von IEEE Computer 2008 von Mark D. Hill (University

Mehr

Ü B U N G E N Z U E C H T Z E I T S Y S T E M E

Ü B U N G E N Z U E C H T Z E I T S Y S T E M E AU F G A B E 3 : S I M P L E S C O P E In den vorangegangenen Übungsaufgaben haben Sie bereits periodische Aufgaben kennengelernt. Bislang erfolgte ihre Implementierung durch relative Verzögerung der Fäden.

Mehr

Scheduling for Time-Triggered Network Communication

Scheduling for Time-Triggered Network Communication Scheduling for Time-Triggered Network Communication Jan Kamieth jan.kamieth@informatik.haw-hamburg.de Hochschule für Angewandte Wissenschaften Hamburg 14. Juni 2012 Agenda (1)Rückblick (2)Verwandte Arbeiten

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

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

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

Analyse von Synchronisation

Analyse von Synchronisation Analyse von Synchronisation auf heutigen Prozessoren Michael Panzlaff Friedrich-Alexander Universität Erlangen-Nürnberg (FAU) KVBK CS 4 - FAU Amdahls Gesetz Amdahlsche Gesetz 20.00 18.00 16.00 14.00 12.00

Mehr

Konzepte von Betriebssystem-Komponenten

Konzepte von Betriebssystem-Komponenten Konzepte von Betriebssystem-Komponenten Thema: Research OS - JX Michael Schmidt (swmeschm@cip.informatik.uni-erlangen.de) Inhalt Was ist JX, warum wurde es entwickelt? Systemaufbau Performance-Vergleich

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

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

Mehr

Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation

Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers 1. Was ist paralleles Programmieren 2. Bitoner Sortieralgorithmus 3. Quicksort a) sequenzielles Quicksort b) paralleles Quicksort

Mehr

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

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

Mehr

Real Time Java: Ein Überblick

Real Time Java: Ein Überblick Real Time Java: Ein Überblick Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr

Statische Ablaufplanung

Statische Ablaufplanung Ausgewählte Kapitel eingebetteter Systeme Statische Ablaufplanung Hauptseminar SS 2006 Matthias Bott 12.07.2006 Inhaltsverzeichnis 1 Einleitung 2 Statische vs. dynamische Ablaufplanung 2.1 Abgrenzung 2.2

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

Java Threads. von Gerhart Mende und Awad Fuad. Fuad Awad & Gerhart Mende ProSeminar parallele Programmierung 1

Java Threads. von Gerhart Mende und Awad Fuad. Fuad Awad & Gerhart Mende ProSeminar parallele Programmierung 1 Java Threads von Gerhart Mende und Awad Fuad Fuad Awad & Gerhart Mende ProSeminar parallele Programmierung 1 Einleitung Erzeugung und Start von Threads Synchronisation von Java Threads Signalmechanismus

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

Echtzeitsysteme. Fragestellungen. Kriterien der Prioritätsvergabe. Gliederung. Ereignisgesteuerte Ablaufplanung periodischer Echtzeitsysteme

Echtzeitsysteme. Fragestellungen. Kriterien der Prioritätsvergabe. Gliederung. Ereignisgesteuerte Ablaufplanung periodischer Echtzeitsysteme Echtzeitsysteme Ereignisgesteuerte Ablaufplanung periodischer Echtzeitsysteme Peter Ulbrich Lehrstuhl für Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg https://www4.cs.fau.de

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

Sven Osterwald Concurrent Objects. Proseminar Parallele Programmierung in Java

Sven Osterwald Concurrent Objects. Proseminar Parallele Programmierung in Java Sven Osterwald 12.05.2010 Concurrent Objects Proseminar Parallele Programmierung in Java Überblick 1. Einführung 2. Beispiel FIFO-Queue mit und ohne Lock 3. Korrektheit bei sequentiellen Objekten 4. Korrektheit

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

Betriebssysteme. Teil 13: Scheduling

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

Mehr

Peg-Solitaire. Florian Ehmke. 29. März / 28

Peg-Solitaire. Florian Ehmke. 29. März / 28 Peg-Solitaire Florian Ehmke 29. März 2011 1 / 28 Gliederung Einleitung Aufgabenstellung Design und Implementierung Ergebnisse Probleme / Todo 2 / 28 Einleitung Das Spiel - Fakten Peg-33 33 Löcher, 32 Steine

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

Nebenläufige Programmierung in Java

Nebenläufige Programmierung in Java Informatik IV 37-004 SS 2002 Thomas Gross Diese Slides kommen ohne Gewähr. 9-1 Thomas Gross 1997-2000 Nebenläufige Programmierung in Java Threads und deren Zustände Speichermodell Einfache Synchronisation

Mehr

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam RealTime Linux Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam Übersicht 2 Standard-Kernel Dual-Kernel RTAI/LXRT In-Kernel

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

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

High Performance Embedded Processors

High Performance Embedded Processors High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de

Mehr

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine Michael Schmeißer michael@skamandros.de 25. September 2012 25.09.2012 Michael Schmeißer, Auswahl eines Garbage

Mehr

Konzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.

Konzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt. Proseminar KVBK Programmstart dynamische Bibliotheken Konzepte von Betriebssystem-Komponenten Programmstart & dynamische Bibliotheken SS 05 Wladislaw Eckhardt Wladi23@gmx.net 1 1 Einleitung 1.1 Problematik

Mehr

1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme

1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme 1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme Warum ein Betriebssystem verwenden? Nutzung eines Betriebssystem hat großen Einfluß auf die Softwarezuverlässigkeit, Produktivität Pflege

Mehr

Grundkurs Betriebssysteme

Grundkurs Betriebssysteme Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation 2., uberarbeitete und aktualisierte Auflage Mit 164 Abbildungen und 6 Tabellen STUDIUM

Mehr

Objektorientierte Programmierung OO mit Ada 2005

Objektorientierte Programmierung OO mit Ada 2005 Objektorientierte Programmierung mit Ada 2005 Markus Knauß 8. Januar 2010 1/33 Motivation Erstellen Sie ein Programm, mit dem Sie Literaturverweise verwalten können. Die Literaturverweise sollen in einer

Mehr

CUDA 3SAT-Solver Boolean Satisfiability VS. nvidia CUDA

CUDA 3SAT-Solver Boolean Satisfiability VS. nvidia CUDA CUDA 3SAT-Solver Boolean Satisfiability VS. nvidia CUDA Multicore Architectures and Programming 27. 6. 2008 Blaß Thorsten, Schönfeld Fabian Das Problem SAT: Boolean Satisfiability (Dt.: Erfüllbarkeitsproblem)

Mehr

Basispraktikum: Systemarchitektur 1

Basispraktikum: Systemarchitektur 1 Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd Liefländer, Philipp Kupferschmied 2008 Universität Karlsruhe (TH), System Architecture Group 1 Übersicht Organisation

Mehr