CiAO (CiAO is Aspect-Oriented)

Größe: px
Ab Seite anzeigen:

Download "CiAO (CiAO is Aspect-Oriented)"

Transkript

1 CiAO (CiAO is Aspect-Oriented) Eine aspektorientiert entworfene Betriebssystemfamilie Daniel Lohmann Olaf Spinczyk Wolfgang Schröder-Preikschat Lehrstuhl für Informatik IV Verteilte Systeme und Betriebssysteme Friedrich-Alexander Universität Erlangen-Nürnberg 1

2 Agenda Das CiAO-Projekt: Überblick Problemfeld und Hintergrund Ansatz Beispiel Zusammenfassung 2004 Daniel Lohmann, Olaf Spinczyk 2

3 Das CiAO Projekt: Überblick DFG-gefördertes BS-Forschungsprojekt (SCHR 603/4) Eine WM-Stelle, zwei Studenten, seit Oktober 2004 Projektziele Entwicklung einer hochgradig anwendungsgewahren Betriebssystem-Produktlinie für tief eingebettete Systeme - Gute Anpassbarkeit an die Anforderungen der Anwendung - Geringer Ressourcenbedarf Entwicklung eines wandlungsfähigen Betriebssystems - Komponentenimplementierung (Treiber, Scheduler, ) unabhängig von der Architektur (monolithisch, Mikrokern, Bibliothek, ) - Konfigurierbare nicht-funktionale Architektureigenschaften durch gezielte Verwendung von AOP 2004 Daniel Lohmann, Olaf Spinczyk 3

4 Das CiAO Projekt: Überblick Wissenschaftliche Fragestellung Sind Aspekttechniken zielführend bei der Produktlinienentwicklung? Lässt sich durch AOP ein (deutlich) höheres Maß an Konfigurierbarkeit erreichen? Lassen sich damit insbesondere auch nicht-funktionale Eigenschaften / Architektureigenschaften konfigurierbar gestalten? Wie sehen architekturtransparente BS-Komponenten aus? 2004 Daniel Lohmann, Olaf Spinczyk 4

5 Problemfeld: Anwendungsanpassbarkeit Zwei Dimensionen der Anwendungsanpassbarkeit Granularität (Funktionale Auswählbarkeit) Ich muss nichts einbinden, was ich nicht brauche Resultierende Systeme müssen klein sein! Geringstmögliche Anforderungen an die Hardware Variabilität (Funktionale Anpassbarkeit) Verschiedenste Plattformen (8-64 Bit, mit/ohne MMU) Alle Eigenschaften lassen sich konfigurieren / anpassen 2004 Daniel Lohmann, Olaf Spinczyk 5

6 Historie: Der PURE Nucleus , Uni Potsdam/Magdeburg feinere Granularität geht wohl kaum ;-) preemptive 4062 preemption non-preemptive 1699 cooperative 1648 scheduling dispatching coordinative 2306 propagation interruptive 1268 exclusive 434 objectification synchronization interruption 2004 Daniel Lohmann, Olaf Spinczyk 6

7 Historie: Der PURE Nucleus , Uni Potsdam/Magdeburg feinere Granularität geht wohl kaum ;-) preemptive 4062 preemption non-preemptive 1699 cooperative 1648 scheduling dispatching Was ist mit der Variabilität? coordinative 2306 propagation interruptive 1268 exclusive 434 objectification synchronization interruption 2004 Daniel Lohmann, Olaf Spinczyk 7

8 Granularität und Variabilität [Granularität] Individualsystem + tief eingebettete Systeme eingebettete Systeme Linux + + OSEK Server / + Linux PC-Systeme [A n w e n d u n g s a n p a s s b a r k e i t] + Windows [Variabilität] 2004 Daniel Lohmann, Olaf Spinczyk 8

9 Granularität und Variabilität [Granularität] Individualsystem + tief eingebettete Systeme + PURE ECOS + eingebettete Systeme + OSEK embedded Linux + + OSEK Server / + Linux PC-Systeme + Windows + Windows [A n w e n d u n g s a n p a s s b a r k e i t] + klassisches UNIX [Variabilität] 2004 Daniel Lohmann, Olaf Spinczyk 9

10 Granularität und Variabilität [Granularität] Individualsystem + tief eingebettete Systeme ECOS + eingebettete Systeme + OSEK embedded Linux + + OSEK Server / + Linux PC-Systeme + Windows + Windows + PURE [A n w e n d u n g s a n p a s s b a r k e i t] + CiAO? + klassisches UNIX [Variabilität] 2004 Daniel Lohmann, Olaf Spinczyk 10

11 Im Fokus von CiAO: Variabilität Konfigurierung nicht-funktionaler Eigenschaften Kernsynchronisation - grobgranular, feingranular, ohne Unterbrechungsbehandlung - Verteilung (Hardware, Scheduler) - Bearbeitung (Handlerfunktion, Prolog-/Epilog, Kernelthread, Prozess) Speicherschutzkonzept - ohne, Segmentierung, Addressräume Platzierung der BS-Komponenten - gemeinsam, Segmente, Addressräume, Prozesse Interaktion zwischen BS-Komponenten - Prozeduraufruf, Nachricht, IPC Optimierungen - Caching, Aufrufpfade 2004 Daniel Lohmann, Olaf Spinczyk 11

12 Im Fokus von CiAO: Variabilität Konfigurierung nicht-funktionaler Eigenschaften Kernsynchronisation - grobgranular, feingranular, ohne Unterbrechungsbehandlung - Verteilung (Hardware, Scheduler) - Bearbeitung (Handlerfunktion, Prolog-/Epilog, Kernelthread, Prozess) Speicherschutzkonzept - ohne, Segmentierung, Addressräume Platzierung der BS-Komponenten - gemeinsam, Segmente, Addressräume, Prozesse Interaktion zwischen BS-Komponenten - Prozeduraufruf, Nachricht, IPC Optimierungen - Caching, Aufrufpfade Konfigurierbare Architektur 2004 Daniel Lohmann, Olaf Spinczyk 12

13 Ansatz: Verwendung von AOP zur Implementierung querschneidender Belange Strategien (Synchronisation, Ressourcenmanagement) Plattformspezifische Optimierungen (Caching, Bypassing) zur Bindung/Interaktion der Komponenten Je nach Zielarchitektur (Prozedur, Moduswechsel, IPC) Variabilität und Granularität durch lose Kopplung zur Platzierung der Komponenten Je nach Zielarchitektur (Addressraum, Thread, Prozess) 2004 Daniel Lohmann, Olaf Spinczyk 13

14 Ansatz: Verwendung von AOP zur Implementierung querschneidender Belange Strategien (Synchronisation, Ressourcenmanagement) Plattformspezifische Optimierungen (Caching, Bypassing) zur Bindung/Interaktion der Komponenten Je nach Zielarchitektur (Prozedur, Moduswechsel, IPC) Variabilität Komponenten und Granularität müssen durch aspektgewahr lose Kopplung entworfen sein zur Platzierung der Komponenten Je nach Zielarchitektur (Addressraum, Thread, Prozess) 2004 Daniel Lohmann, Olaf Spinczyk 14

15 RS232-Treiber, direkter Zugriff class RS232 { public: void read(char*, int) { ; int main() { RS232 com; com.read(buf, 16); 2004 Daniel Lohmann, Olaf Spinczyk 15

16 RS232-Treiber, konfiguriert als ProtectedComponent class RS232 { public: void read(char*, int) { ; class Mutex { void lock(); void unlock() ; aspect ProtectedComponent { pointcut virtual classes() = 0; pointcut virtual funcs() = 0; advice classes() : Mutex _m; advice execution(funcs()) : before { tjp->that()->_m.lock(); int main() { RS232 com; com.read(buf, 16); ; advice execution(funcs()) : after { tjp->that()->_m.unlock(); 2004 Daniel Lohmann, Olaf Spinczyk 16

17 RS232-Treiber, konfiguriert als ProtectedComponent class RS232 { public: void read(char*, int) { ; aspect RS232Config : public ProtectedComponent { pointcut classes() = RS232 ; pointcut funcs() = % RS232::%(); ; int main() { RS232 com; com.read(buf, 16); class Mutex { void lock(); void unlock() ; aspect ProtectedComponent { pointcut virtual classes() = 0; pointcut virtual funcs() = 0; ; advice classes() : Mutex _m; advice execution(funcs()) : before { tjp->that()->_m.lock(); advice execution(funcs()) : after { tjp->that()->_m.unlock(); 2004 Daniel Lohmann, Olaf Spinczyk 17

18 RS232-Treiber, konfiguriert als ProtectedComponent class RS232 { Mutex _m; public: void read(char*, int) { before_1(); after_1(); ; aspect RS232Config : public ProtectedComponent { pointcut classes() = RS232 ; pointcut funcs() = % RS232::%(); ; int main() { RS232 com; com.read(buf, 16); class Mutex { void lock(); void unlock() ; aspect ProtectedComponent { pointcut virtual classes() = 0; pointcut virtual funcs() = 0; ; advice classes() : Mutex _m; advice execution(funcs()) : before { tjp->that()->_m.lock(); advice execution(funcs()) : after { tjp->that()->_m.unlock(); 2004 Daniel Lohmann, Olaf Spinczyk 18

19 RS232-Treiber, konfiguriert als MiniServer class RS232 { public: void read(char*, int) { ; class MiniServer : public Thread { void run() { AC::Action* act; while(true){ Thread& s=receive(any, act); act->trigger(); send(s); ; aspect MiniServerComponent { pointcut virtual classes() = 0; pointcut virtual funcs() = 0; advice classes() : MiniServer _s; int main() { RS232 com; com.read(buf, 16); advice call(funcs()) &&!within(classes()) : around(){ send(tjp->target()->_s, &tjp->action()); receive(tjp->target()->_s); ; 2004 Daniel Lohmann, Olaf Spinczyk 19

20 RS232-Treiber, konfiguriert als MiniServer class RS232 { MiniServer _s; public: void read(char*, int) { ; aspect RS232Config : public MiniServerComponent { pointcut classes() = RS232 ; pointcut funcs() = % RS232::%(); ; int main() { RS232 com; around_1( <com.read(buf, 16)> ); class MiniServer : public Thread { void run() { AC::Action* act; while(true){ Thread& s=receive(any, act); act->trigger(); send(s); ; aspect MiniServerComponent { pointcut virtual classes() = 0; pointcut virtual funcs() = 0; advice classes() : MiniServer _s; advice call(funcs()) &&!within(classes()) : around(){ send(tjp->target()->_s, &tjp->action()); receive(tjp->target()->_s); ; 2004 Daniel Lohmann, Olaf Spinczyk 20

21 Zusammenfassung: Das CiAO-Projekt Evaluierung von AOP im Betriebssystembau AspectC++ Konfigurierung von Betriebssystem-Produktlinien Insbesondere nicht-funktionale Eigenschaften Wandlungsfähiges Betriebssystem Architekturtransparente Komponenten Durch Aspekte an konkrete Architektur angepasst Ziel: Hohe Variabilität Grenzen der Konfigurierbarkeit Kosten (Größe/Laufzeitoverhead) der Konfigurierbarkeit 2004 Daniel Lohmann, Olaf Spinczyk 21

Übung zu Betriebssystembau (Ü BS)

Übung zu Betriebssystembau (Ü BS) Übung zu Betriebssystembau (Ü BS) Zusammefassung und Ausblick Daniel Lohmann Lehrstuhl für Informatik IV WS 05-06 OO-Stubs Was haben wir erreicht Ein (fast) vollständiges Betriebssystem für x86 PCs Geräte

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Aspektorientierte Betriebssysteme Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Architekturmodell: der Weg zur Klassen-Hierarchie

Architekturmodell: der Weg zur Klassen-Hierarchie Betriebssystemtechnik Operating System Engineering (OSE) Architekturmodell: der Weg zur Klassen-Hierarchie 1 Domänenentwurf Feedback/Anpassungen Reverse Architecting teuer Domänenmodell Domänenentwurf

Mehr

Zusammenfassung und Ausblick

Zusammenfassung und Ausblick Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick 1 Überblick Zusammenfassung: Software-Produktlinien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft

Mehr

Automotive Betriebssysteme

Automotive Betriebssysteme Automotive Betriebssysteme Wolfgang Schröder-Preikschat Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.informatik.uni-erlangen.de

Mehr

Betriebssystemtechnik

Betriebssystemtechnik (Aktuelle Forschungsfragen der eingebetteten Systemsoftware) Betriebssystemtechnik Zusammenfassung und Ausblick Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 3: Aspekte in Betriebssystemen und AspectC++-Tutorial Michael Engel und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund

Mehr

Zusammenfassung und Ausblick

Zusammenfassung und Ausblick Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick Überblick Zusammenfassung: Software-Produktlinien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft Automatische

Mehr

Betriebssystemtechnik

Betriebssystemtechnik (Aktuelle Forschungsfragen der eingebetteten Systemsoftware) Betriebssystemtechnik Domänenentwurf und Modulstruktur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU

Mehr

Architekturmodell: der Weg zur Klassen-Hierarchie

Architekturmodell: der Weg zur Klassen-Hierarchie Betriebssystemtechnik Operating System Engineering (OSE) Domänenentwurf Domänenmodell Domänenentwurf Feedback/Anpassungen Reverse Architecting teuer Referenzarchitektur Architekturmodell: der Weg zur Klassen-Hierarchie

Mehr

Rekonfiguration durch dynamische aspektorientierte Programmierung

Rekonfiguration durch dynamische aspektorientierte Programmierung Rekonfiguration durch dynamische aspektorientierte Programmierung Martin Gumbrecht 13. Juni 2014 Motivation Dynamische Rekonfiguration von Softwaresystemen Fehlerbehebung, Sicherheitsaktualisierungen,

Mehr

Software ubiquitärer Systeme (SuS) Aspektorientierte Programmierung

Software ubiquitärer Systeme (SuS) Aspektorientierte Programmierung Software ubiquitärer Systeme (SuS) Aspektorientierte Programmierung https://ess.cs.tu-dortmund.de/de/teaching/ss2016/sus/ Horst Schirmeier, Olaf Spinczyk horst.schirmeier@tu-dortmund.de https://ess.cs.tu-dortmund.de/~hsc

Mehr

Zusammenfassung und Ausblick

Zusammenfassung und Ausblick Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick Überblick Zusammenfassung: Software- linien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft Automatische

Mehr

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk.

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk. Betriebssysteme (BS) Zusammenfassung und Ausblick http://ess.cs.tu-dortmund.de/de/teaching/ss2018/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

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

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Betriebssystem-Produktlinien (und deren statische Konfigurierung) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de

Mehr

Übung zu Betriebssysteme

Übung zu Betriebssysteme Übung zu Betriebssysteme Interruptsynchronisation 22. & 24. November 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme 3. Übung Constantin Timm Arbeitsgruppe Entwurfsautomatisierung für Eingebettete Systeme Lehrstuhl für Informatik 12 TU Dortmund constantin.timm@cs.tu-dortmund.de http://ls12-www.cs.tu-dortmund.de/staff/timm/

Mehr

Aspektorientierte Programmierung mit.net

Aspektorientierte Programmierung mit.net Aspektorientierte Programmierung mit.net David Hahn & Viktor Steinwand 1 1. 2. 3. 4. 5. Vorgehen beim AOP 6. 7. durch AOP 8. 9. 10. 2 1. AOP ist ein mächtiges Werkzeug für den Entwickler-Werkzeugkoffer

Mehr

Forschungsgruppe Neue Betriebssystemkonzepte

Forschungsgruppe Neue Betriebssystemkonzepte Forschungsgruppe Neue Betriebssystemkonzepte NOSCO Group HTTP: http://www.cs.hs-rm.de/~kaiser EMail: robert.kaiser@hs-rm.de 16.10.2014 1.1 NOSCO Vorstellung Die Forschungsgruppe Personen Dipl. Inf. (FH)

Mehr

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs Diplomarbeit Abschlussvortrag Stephan Vogt stephan.vogt@cs.uni-dortmund.de 1 Inhalt Einleitung Wiederverwendung von BS Arbeiten an CiAO Kommunikation

Mehr

Betriebssystembau (BSB):

Betriebssystembau (BSB): Agenda Betriebssystembau (BSB): Zusammenfassung und Ausblick Zusammenfassung Ausblick Mitwirkung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik Technische Universität

Mehr

Echtzeitsysteme. Übungen zur Vorlesung. Fabian Scheler, Peter Ulbrich, Niko Böhm

Echtzeitsysteme. Übungen zur Vorlesung. Fabian Scheler, Peter Ulbrich, Niko Böhm Echtzeitsysteme Übungen zur Vorlesung Fabian Scheler, Peter Ulbrich, Niko Böhm Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

Mehr

D Einführung Betriebssysteme

D Einführung Betriebssysteme 1 Was sind Betriebssysteme? DIN 44300...die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems

Mehr

D Einführung Betriebssysteme

D Einführung Betriebssysteme 1 Was sind Betriebssysteme? DIN 44300...die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Ausblick Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss29/sus/

Mehr

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk.

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk. Betriebssysteme (BS) Zusammenfassung und Ausblick http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Zusammenfassung und Ausblick http://ess.cs.tu-dortmund.de/de/teaching/ws2012/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

Betriebssysteme (BS) VL 1 Einführung. Vorwort. Voraussetzungen. Lernziele

Betriebssysteme (BS) VL 1 Einführung. Vorwort. Voraussetzungen. Lernziele Betriebssysteme (BS) Vorwort VL 1 Einführung Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Die Lehrveranstaltung ist grundsätzlich für alle Studiengänge offen. Sie verlangt

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

Ein Laufzeitsystem für hochgradig parallele Simulationen

Ein Laufzeitsystem für hochgradig parallele Simulationen Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten

Mehr

DA Abschlussvortrag. Grundlagen einer industrietauglichen AOP Lösung für C. Andreas Timm

DA Abschlussvortrag. Grundlagen einer industrietauglichen AOP Lösung für C. Andreas Timm DA Abschlussvortrag Grundlagen einer industrietauglichen AOP Lösung für C Andreas Timm Übersicht Motivation Herausforderungen Lösungsansätze Umsetzung Demonstration Performanz Resultat und Aussicht 2 Übersicht

Mehr

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation WS 2007 Überblick 1 2 3 CPU- 4 nebenläufiger Prozesse 5 Hauptspeicherverwaltung 6 Dateisystem 7 Ein-/Ausgabe Literatur Eduard Glatz:. Grundlagen, Konzepte, Systemprogrammierung dpunkt.verlag, 2006, ISBN

Mehr

Aspektorientierte Entwicklung einer konfigurierbaren x86-variante

Aspektorientierte Entwicklung einer konfigurierbaren x86-variante Aspektorientierte Entwicklung einer konfigurierbaren x86-variante der Betriebssystemfamilie CiAO Abschlussvortrag Björn Bosselmann Bjoern.Bosselmann@cs.uni-dortmund.de 30. August 2010 1 Inhalt Einleitung

Mehr

Fazit. Software ubiquitärer Systeme (SuS) Olaf Spinczyk.

Fazit. Software ubiquitärer Systeme (SuS) Olaf Spinczyk. Software ubiquitärer Systeme (SuS) Fazit https://ess.cs.tu-dortmund.de/de/teaching/ss2017/sus/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de https://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Zusammenfassung und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Wiederholung: Übernahmeprüfung bei terminbasierter Einplanung

Wiederholung: Übernahmeprüfung bei terminbasierter Einplanung Echtzeitsysteme Übungen zur Vorlesung Evaluation Evaluation der Veranstaltung Eure Meinung (Lob/Kritik) ist uns wichtig! Eure Rückmeldung hat Konsequenzen A Bitte evaluiert Vorlesung und Übungen Betriebsmittelprotokolle

Mehr

Software ubiquitärer Systeme (SuS)

Software ubiquitärer Systeme (SuS) Software ubiquitärer Systeme (SuS) Betriebssystem-Produktlinien (und deren statische Konfigurierung) https://ess.cs.tu-dortmund.de/de/teaching/ss2016/sus/ Horst Schirmeier, Olaf Spinczyk horst.schirmeier@tu-dortmund.de

Mehr

Betriebssysteme (BS) VL 1 Einführung. Vorwort. Voraussetzungen. Lernziele

Betriebssysteme (BS) VL 1 Einführung. Vorwort. Voraussetzungen. Lernziele Betriebssysteme (BS) Vorwort VL 1 Einführung Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Die Lehrveranstaltung ist grundsätzlich für alle Studiengänge offen. Sie verlangt

Mehr

Betriebssystembau (BSB) Einführung

Betriebssystembau (BSB) Einführung Betriebssystembau (BSB) Einführung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os http://ess.cs.tu-dortmund.de/de/teaching/ws2009/bsb/

Mehr

Orientierungsvorlesung

Orientierungsvorlesung Orientierungsvorlesung Verteilte Systeme und Betriebssysteme Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 23. November 2011 c wosch (Lehrstuhl Informatik 4) Orientierungsvorlesung VSBS # WS 2011/12

Mehr

Instrumentation von Android Anwendungen mit ExplorViz

Instrumentation von Android Anwendungen mit ExplorViz Instrumentation von Android Anwendungen mit ExplorViz Jan Witzany 28. September 2016 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September 2016 1 / 19 Gliederung 1. Motivation

Mehr

Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS 1)

Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS 1) Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS 1) Zusammenfassung und Ausblick Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de

Mehr

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Betriebssysteme. Tutorium 2. Philipp Kirchhofer Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp

Mehr

PURE/OSEK Eine aspektorientierte Betriebssystemfamilie für Kraftfahrzeuge

PURE/OSEK Eine aspektorientierte Betriebssystemfamilie für Kraftfahrzeuge PURE/OSEK Eine aspektorientierte Betriebssystemfamilie für Kraftfahrzeuge Olaf Spinczyk 1, Wolfgang Schröder-Preikschat 1, Danilo Beuche 2 und Holger Papajewski 2 1 Universität Erlangen-Nürnberg, Informatik

Mehr

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk.

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk. Betriebssysteme (BS) Zusammenfassung und Ausblick http://ess.cs.tu-dortmund.de/de/teaching/ss2015/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

Betriebsmittelprotokolle

Betriebsmittelprotokolle Betriebsmittelprotokolle Florian Franzmann, Martin Hoffmann, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 3: CiAO/IP Christoph Borchert Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/ http://ess.cs.tu-dortmund.de/de/teaching/ss2013/sus/

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Zusammenfassung und Ausblick Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Zusammenfassung und Ausblick Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

.Net Interoperabilität

.Net Interoperabilität .Net Interoperabilität Objektorientiertes Programmieren mit.net und C# Thomas Hörmann Institut für Informatik Software & Systems Engineering Agenda Einleitung P/Invoke Marshalling Component Object Model

Mehr

Betriebssystembau (BSB) Einführung

Betriebssystembau (BSB) Einführung Betriebssystembau (BSB) Einführung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os http://ess.cs.tu-dortmund.de/de/teaching/ws2008/bsb/

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Zusammenfassung und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

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

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

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Zusammenfassung und Ausblick https://ess.cs.tu-dortmund.de/de/teaching/ws2016/bsb/ Horst Schirmeier, Olaf Spinczyk horst.schirmeier@tu-dortmund.de https://ess.cs.tu-dortmund.de/~hsc

Mehr

Die PURE-OSEK API Die Spezialisierung einer objektorientierten Betriebssystem-Familie

Die PURE-OSEK API Die Spezialisierung einer objektorientierten Betriebssystem-Familie Die PURE-OSEK API Die Spezialisierung einer objektorientierten Betriebssystem-Familie Holger Papajewski, Wolfgang Schröder-Preikschat, Olaf Spinczyk, Ute Spinczyk 30. November 2000 Zusammenfassung In diesem

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Zusammenfassung und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

spectj AOP mit Java, Konzepte und Beispiele

spectj AOP mit Java, Konzepte und Beispiele A spectj AOP mit Java, Konzepte und Beispiele AspectJ Ist eine Erweiterung von Java Ist eine aspektorientierte Sprache (wie Java eine objektorientierte Sprache ist) Ist frei verfügbar der Compiler ist

Mehr

Dynamische Skalierbarkeit

Dynamische Skalierbarkeit Alexander Eichhorn Verteilte Systeme und Betriebssysteme Technische Universität Ilmenau Frühjahrstreffen der GI Fachgruppe Betriebssysteme 30. Juni 2005 Koblenz Vortragsüberblick Teil 1 Teil 2 Teil 3 Begriffsbestimmungen

Mehr

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure 2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie

Mehr

ASPECT-ORIENTED DESIGN PATTERNS

ASPECT-ORIENTED DESIGN PATTERNS ASPECT-ORIENTED DESIGN PATTERNS 1 Gliederung I. Entwurfsmuster Aufbau und Beschreibung II. Probleme objektorientierter Entwurfsmuster III. Entwicklung eines aspektorientierten Musters 2 Abschnitt I: Entwurfsmuster

Mehr

Konzepte von Betriebssystem-Komponenten: Effiziente Manycore-Systeme

Konzepte von Betriebssystem-Komponenten: Effiziente Manycore-Systeme Konzepte von Betriebssystem-Komponenten: Effiziente Manycore-Systeme Florian Schmaus, Stefan Reif Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Mehr

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk.

Betriebssysteme (BS) Zusammenfassung und Ausblick. Olaf Spinczyk. Betriebssysteme (BS) Zusammenfassung und Ausblick http://ess.cs.tu-dortmund.de/de/teaching/ss2017/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 5. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2015/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik

Mehr

C++ Templates - eine kleine Einführung

C++ Templates - eine kleine Einführung C++ Templates - eine kleine Einführung Peter Ulbrich, Martin Hoffmann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

Mehr

Das a-kernel Projekt

Das a-kernel Projekt Das a-kernel Projekt Übersicht 1. Vorstellung a-kernel Projekt 1. Ziele 2. AspectC 2. Beispiel 1: Prefetching in FreeBSD v3.3 1. Zugriffsart normal 2. Zugriffsart sequential 3. Beispiel 2: NFS 1. Erweiterung

Mehr

Betriebssysteme. Probeklausur. Olaf Spinczyk.

Betriebssysteme. Probeklausur. Olaf Spinczyk. Betriebssysteme https://ess.cs.tu-dortmund.de/de/teaching/ss/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de https://ess.cs.tu-dortmund.de/~os G Eingebettete Systemsoftware Informatik, TU Dortmund blauf

Mehr

Behutsame Modernisierung

Behutsame Modernisierung Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka

Mehr

Flux OSKit. Vortrag im Seminar Konzepte von Betriebssystemkomponenten. Kai Selgrad

Flux OSKit. Vortrag im Seminar Konzepte von Betriebssystemkomponenten. Kai Selgrad Flux OSKit Vortrag im Seminar Konzepte von Betriebssystemkomponenten Kai Selgrad kai.selgrad@informatik.stud.uni-erlangen.de Friedrich Alexander Universität Erlangen-Nürnberg 10. Juli 2006 Kai Selgrad

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) VL 14 Zusammenfassung und Ausblick Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg WS 13 5. Februar

Mehr

ASPEKTORIENTIERTE PROGRAMMIERUNG MIT ASPECTC++ FÜR INGENIEURANWENDUNGEN

ASPEKTORIENTIERTE PROGRAMMIERUNG MIT ASPECTC++ FÜR INGENIEURANWENDUNGEN ASPEKTORIENTIERTE PROGRAMMIERUNG MIT ASPECTC++ FÜR INGENIEURANWENDUNGEN Sebastian Geller 1, Olaf Spinczyk 2 1 Institut für Computeranwendungen im Bauingenieurwesen, TU Braunschweig, geller@cab.bau.tu-bs.de

Mehr

Computergestützte Ansteuerung digitaler Eisenbahnanlagen

Computergestützte Ansteuerung digitaler Eisenbahnanlagen Computergestützte Ansteuerung digitaler Eisenbahnanlagen Märklin Digital Paul Römer Agenda 2 Märklin & Märklin Digital Wissenswertes Bedienelemente Ansteuerung Steuercomputer Interface und Digitalstrom

Mehr

CyPhyControl. Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme

CyPhyControl. Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme CyPhyControl Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme Olaf Spinczyk Markus Buschhoff Boguslaw Jablkowski AG Eingebettete Systemsoftware Informatik

Mehr

Extended Scope. Events und Mailboxen. Florian Franzmann Tobias Klaus Florian Korschin Florian Schmaus Peter Wägemann

Extended Scope. Events und Mailboxen. Florian Franzmann Tobias Klaus Florian Korschin Florian Schmaus Peter Wägemann Extended Scope Events und Mailboxen Florian Franzmann Tobias Klaus Florian Korschin Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme

Mehr

Aspektorientierung und Programmfamilien im Betriebssystembau

Aspektorientierung und Programmfamilien im Betriebssystembau Aspektorientierung und Programmfamilien im Betriebssystembau Olaf Spinczyk os@aspectc.org Abstract: In der hier zusammengefassten Dissertation geht es um die Analyse, den Entwurf und die Implementierung

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 07: Nebenläufigkeit Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in die Nebenläufigkeit und Java Thread Konzept: Motivation

Mehr

Aufgabenblatt 7 Musterlösung

Aufgabenblatt 7 Musterlösung Prof. Dr. rer. nat. Roland Wismüller Aufgabenblatt 7 Musterlösung Vorlesung Betriebssysteme I Wintersemester 2017/18 Aufgabe 1: Steuerung eines Warenautomaten (Bearbeitung zu Hause) Anleitung wie man solche

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen 1 Datenstrukturen und Algorithmen Übung 13 FS 2018 Programm von heute 2 1 Feedback letzte Übung 2 Wiederholung Theorie 3 Nächste Übung 1. Feedback letzte Übung 3 Aufgabe 12.3: Summe eines Vektors void

Mehr

Anpassbare Betriebssysteme in der Forschung

Anpassbare Betriebssysteme in der Forschung Betriebssystemtechnik Operating System Engineering (OSE) Anpassbare Betriebssysteme in der Forschung 1 Motivation Bisher betrachtete Konzepte stammen aus der Welt der Softwaretechnik... Produktlinienentwicklungsprozess

Mehr

Grundlagen der Systemnahen Programmierung in C (GSPiC)

Grundlagen der Systemnahen Programmierung in C (GSPiC) Grundlagen der Systemnahen Programmierung in C (GSPiC) Teil C Systemnahe Softwareentwicklung Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität

Mehr

Betriebssystemtechnik. Operating System Engineering (OSE) Stand der Kunst

Betriebssystemtechnik. Operating System Engineering (OSE) Stand der Kunst Betriebssystemtechnik Operating System Engineering (OSE) Stand der Kunst 1 ecos eine Betriebssystemfamilie... dient hier als Beispiel für den Stand der Kunst Zieldomäne: eingebettete Systeme Ansatz: Ressourcen

Mehr

Entwicklung einer FPGA-basierten asymmetrischen MPSoC Architektur

Entwicklung einer FPGA-basierten asymmetrischen MPSoC Architektur Entwicklung einer FPGA-basierten asymmetrischen Architektur INF-M1 Seminar Vortrag 25. November 2010 Betreuer: Prof. Dr.-Ing. Bernd Schwarz Übersicht 1. Motivation 2. Zielsetzung & Vorarbeiten 3. Arbeitsschwerpunkte

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

librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation

librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation Josef Raschen Diplomarbeit: Hardwareunabhängige Interprozesskommunikation für Echtzeitanwendungen Lehrstuhl für Betriebssysteme RWTH Aachen

Mehr

Eingebettete Systeme

Eingebettete Systeme Institut für Informatik Lehrstuhl für Eingebettete Systeme Prof. Dr. Uwe Brinkschulte Michael Bauer Eingebettete Systeme 5. Übungsblatt Lösungsvorschlag 1. Aufgabe (Prozessverwaltung) a) Vergeben Sie für

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

Verifikation und AO Florian Wagner

Verifikation und AO Florian Wagner Verifikation und Aspektorientierung Inhalt Klassifikation und Analyse von Adivces AOP-Fehlermodell und Testkriterien Verifikation Model-Checking State-Based Incremental Testing 2 KLASSIFIKATION UND ANALYSE

Mehr

Betriebssysteme: Pure

Betriebssysteme: Pure EMES: Eigenschaften mobiler und eingebetteter Systeme Betriebssysteme: Pure Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011 PURE PURE Forschungsprojekt der Universität Magdeburg Konfigurierbares,

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

Übung zu Betriebssysteme

Übung zu Betriebssysteme Übung zu Betriebssysteme Threadumschaltung 6. & 8. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme

Mehr

Advanced Software Engineering WS0910 Kapitel4. Dr. Dominik Haneberg

Advanced Software Engineering WS0910 Kapitel4. Dr. Dominik Haneberg Advanced Software Engineering WS0910 Kapitel4 Dr. Dominik Haneberg ASPEKT-ORIENTIERTE ENTWICKLUNG 08.02.2010 Advanced Software Engineering 2 Einführung Aspektorientierte Programmierung (AOP) ist ein Programmierparadigma,

Mehr