Software ubiquitärer Systeme

Größe: px
Ab Seite anzeigen:

Download "Software ubiquitärer Systeme"

Transkript

1 Software ubiquitärer Systeme Eingebettete Betriebssysteme Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund 1

2 Inhalt Vorbetrachtung Vielzweckbetriebssysteme Speicherplatzverschwendung Fallstudie Ursachenforschung Zwischenfazit Eingebettete Betriebssysteme Beispiel OSEK Systemabstraktion und -schnittstelle Unterschiede zu PC-Betriebssystemen Zusammenfassung 03.1 Eingebettete Betriebssysteme 2

3 Inhalt Vorbetrachtung Vielzweckbetriebssysteme Speicherplatzverschwendung Fallstudie Ursachenforschung Zwischenfazit Eingebettete Betriebssysteme Beispiel OSEK Systemabstraktion und -schnittstelle Unterschiede zu PC-Betriebssystemen Zusammenfassung 03.1 Eingebettete Betriebssysteme 3

4 Das Betriebssystemdilemma Clearly, the operating system design must be strongly influenced by the type of use for which the machine is intended. Unfortunately it is often the case with 'general purpose machines' that the type of use cannot be easily identified; a common criticism of many systems is that in attempting to be all things to all men they wind up being totally satisfactory to no-one. A.M. Lister and R.D. Eager Fundamentals of Operating Systems Fourth Edition 03.1 Eingebettete Betriebssysteme 4

5 Die Eier legende Wollmilchsau Systeme wie Windows XP, Linux oder Solaris sind auf alle Eventualitäten vorbereitet, z.b.: fehlerhafte/böswillige Programme präemptives Scheduling, Adressraumtrennung Mehrbenutzerbetrieb Authentifizierung, Schutz von Dateien und Geräten vielfädige Programme, interagierende Prozesse Semaphore, Sockets große/viele Programme virtueller Speicher, Swapping, Working Set Konzept 03.1 Eingebettete Betriebssysteme 5

6 Die Eier legende Wollmilchsau Ein Vielzweckbetriebssystem ist für den wahrscheinlichsten Fall (den Normalfall) optimiert In allen Fällen, die von der künstlich definierten Norm abweichen, fallen Kosten an Auch ungenutzte Funktionen haben einen Preis Laufzeitverbrauch durch unnötige Fallunterscheidungen Speicherplatzbedarf erhöhte Startzeiten Verschlechterung der cache-hit Raten Besonders problematisch sind Eigenschaften, die sich auf viele Systemfunktionen auswirken Linux 2.6 Kern: grep EPERM liefert 1243 Treffer! 03.1 Eingebettete Betriebssysteme 6

7 Inhalt Vorbetrachtung Vielzweckbetriebssysteme Speicherplatzverschwendung Fallstudie Ursachenforschung Zwischenfazit Eingebettete Betriebssysteme Beispiel OSEK Systemabstraktion und -schnittstelle Unterschiede zu PC-Betriebssystemen Zusammenfassung 03.1 Eingebettete Betriebssysteme 7

8 Vielzwecksystem - Vielzweckfunktion Eine Analogie: Das Vielzwecksystem stellt Systemdienste bereit versucht, allen Nutzern gerecht zu werden ist Resultat vieler Kompromisse verbirgt die interne Struktur (black box) Die Vielzweckfunktion stellt Teilfunktionen bereit... sonst wie oben 03.1 Eingebettete Betriebssysteme 8

9 Vielzweckfunktion printf() > uname -snrm Linux ios hsc x86_64 > echo 'main(){printf("hello, world\n");}' > hello.c > gcc -O6 -c hello.c; gcc -static -o hello hello.o >./hello hello, world > ls -l hello* -rwxr-xr-x 1 os staff :26 hello -rw-r--r-- 1 os staff :26 hello.c -rw-r--r-- 1 os staff :26 hello.o > size hello hello.o text data bss dec hex filename a246 hello hello.o 03.1 Eingebettete Betriebssysteme 9

10 Vielzweckfunktion printf() Ist die Größe ein Linux/x86 spezifisches Phänomen? Programm Größe (Bytes) Linux Solaris Windows i686 arm ppc alpha sparc i586 hello hello.o % Uni Erlangen, OSE 2003 Nein, hello ist auf allen Plattformen sehr groß Innerhalb der letzten Jahre hat sich das Problem auch noch verschlimmert: zu Eingebettete Betriebssysteme 10

11 Spezialzweckfunktion puts() Vermutlich kann printf() einfach zu viel Das spezialisierte puts() sollte weniger Speicher verbrauchen... > echo 'main(){puts("hello, world");}' > hello.c > gcc -O6 -c hello.c; gcc -static -o hello hello.o >./hello hello, world > size hello hello.o text data bss dec hex filename a246 hello hello.o zu ! 03.1 Eingebettete Betriebssysteme 11

12 Spezieller geht's nicht: write() der write() system call sollte wirklich wenig kosten... > echo 'main(){write(1,"hello, world\n",13);}' > hello.c > gcc -O6 -c hello.c; gcc -static -o hello hello.o >./hello hello, world > size hello hello.o text data bss dec hex filename ff2 hello hello.o zu :-( 03.1 Eingebettete Betriebssysteme 12

13 Der Einfluss des Startup Code Wieso wird der Speicherplatzverbrauch nicht signifikant kleiner? objdump --reloc -D hello grep printf... liefert 2215 Treffer. Es ist der Startup Code! > echo '_start(){syscall(4, 1,"hello, world\n",13);_exit(0);}' > hello.c > gcc -O6 -c hello.c; gcc -static -nostartfiles -o hello hello.o >./hello hello, world > size hello hello.o text data bss dec hex filename hello hello.o zu 278! 03.1 Eingebettete Betriebssysteme 13

14 Hello, World - Fazit Ein typisches hello, world Programm braucht unter Linux/x86 mindestens 1800 mal mehr Speicher als notwendig! Ursachen? Softwarestruktur Modularisierung und Offenlegung der Struktur Programmiersprache Schnittstellen Werkzeugkette Compiler, Objektmodule, Binder 03.1 Eingebettete Betriebssysteme 14

15 Ursachen - Softwarestruktur printf() unterstützt vieles: alle plain old data types - [signed unsigned] [short long] int, float, double, char, void*, char* verschiedene Darstellungsformen - binär, oktal, dezimal, hexadezimal unterschiedliche Ausrichtungen - rechts/links, benutzerdefinierte Feldbreiten nicht jede Applikation benötigt all diese Features Hello, World : char*, linksbündig trotzdem zahlt jede Applikation dafür! 03.1 Eingebettete Betriebssysteme 15

16 Ursachen - Softwarestruktur printf puts put_int?... putc aber basiert printf() auf puts()? oder vielleicht puts() auf printf()? oder gibt es gar keine Beziehung die Beziehungen zwischen den Funktionen sind nicht Teil der libc Schnittstellendefinition ein Nachteil des black box Prinzips 03.1 Eingebettete Betriebssysteme 16

17 Ursachen - Programmiersprache printf() soll eine einheitliche Schnittstelle für die formatierte Ausgabe bereitstellen. Interpretation der Format-Zeichenkette zur Laufzeit Referenzierung von Ausgabefunktionen für alle unterstützten Datentypen und Formate keine Möglichkeit der Optimierung durch den Übersetzer, da printf() eine Bibliotheksfunktion ist C++ stellt mit den << Operator ebenfalls eine einheitliche Schnittstelle zur formatierten Ausgabe bereit der Übersetzer ermittelt die aufgerufene Ausgabefunktion statisch unbenötigte Funktionen werden nicht referenziert 03.1 Eingebettete Betriebssysteme 17

18 Ursachen - Programmiersprache ist std::cout << hello, world\n ; schlanker? > cat > hello.cc #include <iostream> int main() { std::cout << "hello, world\n"; } > g++ -O6 -c hello.cc; g++ -static -o hello hello.o >./hello hello, world > size hello hello.o text data bss dec hex filename f9fff hello db hello.o zu ! 03.1 Eingebettete Betriebssysteme 18

19 Ursachen - Werkzeugkette die GNU Werkzeugkette (gcc/g++, ar, ld) unterstützt (standardmäßig) kein Binden auf Funktionsebene Objektmodul 1 void main() { f1(); } Objektmodul 2 void f1() {} void f2() { f3();... } Objektmodul 3 void f3() {... } obwohl f2() und f3() nicht referenziert werden, landen sie als unbenutzer Code im gebundenen Programm! 03.1 Eingebettete Betriebssysteme 19

20 Inhalt Vorbetrachtung Vielzweckbetriebssysteme Speicherplatzverschwendung Fallstudie Ursachenforschung Zwischenfazit Eingebettete Betriebssysteme Beispiel OSEK Systemabstraktion und -schnittstelle Unterschiede zu PC-Betriebssystemen Zusammenfassung 03.1 Eingebettete Betriebssysteme 20

21 Ist das Problem wirklich eines? printf() und cout sind keine Ausnahmen Programme werden immer größer, selbst wenn sie funktional nicht reicher werden grundlegende Prinzipien der Softwaretechnik werden vernachlässigt Some users may require only a subset of services or features other users need. These 'less demanding' users may demand that they are not be forced to pay for the resources consumed by the unneeded features. D.L. Parnas, 1979 Designing Software for Ease of Extension and Contraction 03.1 Eingebettete Betriebssysteme 21

22 Ist das Problem wirklich eines? wie Vielzweckbetriebssysteme sind auch die GNU libc und die GNU libstdc++ für den Normalfall optimiert das Betriebssystem wird es schon richten - virtueller Speicher, shared libraries Speicherplatzverbrauch ist im Normalfall kein Problem - sollte man deshalb verschwenderisch damit umgehen? im Betriebssystem sieht es schon problematischer aus virtueller Speicher und shared libraries helfen hier nicht jede Anwendung hat zu leiden unbenutzbar wäre ein nach dem printf() Prinzip gebautes Vielzweckbetriebssystem in Domänen mit speziellen Anforderungen 03.1 Eingebettete Betriebssysteme 22

23 Spezielle BS-Einsatzgebiete Harte und weiche Echtzeitsysteme Sicherheitskritische Systeme in Fahrzeugen, Multimedia Deterministische Laufzeiten Hochleistungsrechensysteme Parallelrechner, Cluster Minimale Laufzeiten Kleine Systeme Eingebettete Systeme in Massenproduktion Minimaler Speicherplatzverbrauch... werden meist mit speziellen Betriebssystemen betrieben 03.1 Eingebettete Betriebssysteme 23

24 Eingebettete Betriebssysteme? Wie sieht ein Betriebssystem aus, das speziellen Anwendungen auf spezieller Hardware möglichst optimale Unterstützung bieten kann? Der Markt hat vielfältige Angebote..., C{51, 166, 251}, CiAO, CMX RTOS, C-Smart/Raven, ecos, ertos, Embos, Ercos, Euros Plus, Hi Ross, Hynet-OS, LynxOS, MicroX/OS-II, Nucleus, OS-9, OSE, OSEK {Flex, Turbo, Plus}, OSEKtime, Precise/MQX, Precise/RTCS, proosek, psos, PURE, PXROS, QNX, Realos, RTMOSxx, Real Time Architect, RTA, RTX{51, 166, 251}, RTXC, Softune, SSXS RTOS, ThreadX, TinyOS, VRTX, VxWorks,... Über 50% des Marktes werden von proprietären Systemen abgedeckt 03.1 Eingebettete Betriebssysteme 24

25 Inhalt Vorbetrachtung Vielzweckbetriebssysteme Speicherplatzverschwendung Fallstudie Ursachenforschung Zwischenfazit Eingebettete Betriebssysteme Beispiel OSEK Systemabstraktion und -schnittstelle Unterschiede zu PC-Betriebssystemen Zusammenfassung 03.1 Eingebettete Betriebssysteme 25

26 OSEK/VDX-OS Offene Systeme und deren Schnittstelle für die Elektronik in Kraftfahrzeugen / Vehicle Distributed Executive Spezifikation für automotive Betriebssysteme [1] Initiale Partner: BMW, Daimler, Volkswagen, Opel, Bosch, Siemens, Renault, Peugeot, Citroën, Uni Karlsruhe,... und ca. 50 weitere Inzwischen ISO Standard umfasst OSEK-OS sowie OSEK-NM, -COM und -OIL Ziele Einsparung von Entwicklungszeit und damit Kosten durch Wiederverwendung Bessere Qualität der ECU-Software durch erprobtes Betriebssystem Schaffung eines Betriebssystem-Marktes und damit Konkurrenz - Niederige Preise - Wettlauf um beste Implementierung 03.1 Eingebettete Betriebssysteme 26

27 OSEK-OS: Entwurfsgesichtspunkte Unterstützung für ereignisgesteuerte Echtzeitsysteme Basis für die Integration von Software-Modulen unterschiedlicher Hersteller Flexibel bzgl. unterstützter ECU-Architekturen Skalierbarkeit bzgl.... der Leistungsfähigkeit der Hardware und der Anwendungsanforderungen Minimaler Ressourcenverbrauch 03.1 Eingebettete Betriebssysteme 27

28 OSEK-OS: Funktionsumfang Task-Management Interrupt Processing Synchronization Event Mechanism Resource Management Alarms Intra-Processor Message Handling Error Treatment 03.1 Eingebettete Betriebssysteme 28

29 OSEK-OS: Task Management (1) Prozessorzuteilungsschema (scheduling) Statische Prioritäten Durch die Einfachheit des Verfahrens können Worst-Case Latenzen und Jitter vorhergesagt werden Eingebettete Betriebssysteme 29

30 OSEK-OS: Task Management (2) Es gibt zwei Arten von Tasks: Basic Tasks Extended Tasks Geben die CPU nur ab, wenn sie terminieren, unterbrochen werden oder von einem höher prioren Prozess verdrängt werden. Können sich schlafen legen und auf Ereignisse ( events ) warten. Alle Basic Tasks können sich einen Stapelspeicher teilen. Das spart Speicher! 03.1 Eingebettete Betriebssysteme 30

31 OSEK-OS: Task Management (3) Die Task-Verdrängung erfolgt nach zwei Strategien: Full-Preemptive Ein Task kann jederzeit von höher priorem Task verdrängt werden. Non-Preemptive Task-Wechsel finden nur statt, wenn der laufende Task terminiert oder die CPU explizit abgibt Eingebettete Betriebssysteme 31

32 OSEK-OS: Task Management (3) Die Task-Verdrängung erfolgt nach zwei Strategien: Full-Preemptive Ein Task kann jederzeit von höher priorem Task verdrängt werden. Nicht-präemptive Systeme benötigen weniger Speicher und Rechenzeit, da an weniger Stellen im System der Scheduler aufgerufen werden muss. Non-Preemptive Task-Wechsel Voll-Präemptive finden Systeme nur statt, können wenn schneller der laufende externe Task terminiert oder Ereignisse die CPU explizit reagieren abgibt. (Latenz) Eingebettete Betriebssysteme 32

33 OSEK-OS: Interrupt Processing Unterbrechungen verdrängen OSEK-Tasks Behandlungsroutinen laufen auf der Prioritätsebene der Hardware 03.1 Eingebettete Betriebssysteme 33

34 OSEK-OS: Interrupt Processing Unterbrechungen verdrängen OSEK-Tasks Behandlungsroutinen laufen auf der Prioritätsebene der Hardware ISR Kategorie 1 Wird durch die Hardware sofort aktiviert. Keine Unterbrechungssynchronisation erforderlich (weniger Code und Laufzeit!) ISR Kategorie 2 Kann (insbesondere) Tasks aktivieren oder wecken! Ausführung wird evtl. verzögert, falls gerade ein OSEK-Systemdienst ausgeführt wird. Systemdienste sind etwas aufwändiger ( Unterbrechungssynchronisation ) Scheduler-Aktivierung bei Rückkehr zur Task-Ebene nötig 03.1 Eingebettete Betriebssysteme 34

35 OSEK-OS: Event Mechanismus Einfache Synchronisation von Extended Tasks Event Objekte werden jeweils Tasks zugeordnet Erlaubt flexibles Warten auf externe Ereignisse (ISR 2) oder Synchronisationsnachrichten von anderen Tasks SetEvent, ClearEvent, WaitEvent und GetEvent heißen die entsprechenden OSEK-Systemaufrufe Eingebettete Betriebssysteme 35

36 OSEK-OS: Ressource Management (1) Synchronisation beim Zugriff auf gemeinsam benutzte Ressourcen, z.b. globale Variablen, E/A-Geräte,... Vermeidet bekannte Probleme von Semaphoren: Prioritätsumkehr Da T4 den Semaphor hält, verzögern T2 und T3, die nichts mit dem Semaphor zu tun haben, indirekt den höher prioren T1, da T4 den Semaphor hält, aber noch nicht weiterlaufen kann. Semaphor Task R A B C S D T E F U V W G Verklemmung Es tritt ein Zyklus im Betriebsmittelbelegunsgraphen auf. Kein beteiligter Task läuft mehr Eingebettete Betriebssysteme 36

37 OSEK-OS: Ressource Management (2) Das OSEK Priority Ceiling Protocol [2] Jede Resource erhält statisch eine Ceiling Priority: Maximum der Prioritäten der Tasks, die auf die Resource zugreifen Wenn ein Task eine Resource anfordert, wird sein Priorität auf die Ceiling Priority gehoben. Zu einer Blockierung kann es dabei nicht kommen. Nach Freigabe der Resource wird die ursprüngliche Priorität wieder hergestellt. 'GetResource' ist nicht blockierend. Damit kann es nicht zur Verklemmung kommen. Solange T4 die Resource hält, kann er nicht von T2 oder T3 verdrängt werden. So wird Priority Inversion vermieden Eingebettete Betriebssysteme 37

38 OSEK-OS: Sonstige Funktionen Alarms Counter zählen externe Ereignisse (z.b. Clock Ticks) Alarme werden an Counter gebunden und können... - einen Task aktivieren - ein Event setzen - eine Behandlungsroutine ausführen Intra-Processor Message Handling Teil der OSEK-COM-Spezifikation Einfacher Nachrichtenaustausch Error Treatment Hook Routinen für diverse Situationen 03.1 Eingebettete Betriebssysteme 38

39 OSEK-OS: Conformance Classes Klassen von OSEK-Betriebssystemen Gestatten extrem leichtgewichtige Systeme Definieren Mindestanforderungen 03.1 Eingebettete Betriebssysteme 39

40 OSEK-OS: Generierungsprozess Quelle [2] Das System wird anwendungsabhängig generiert OSEK wird wie eine Bibliothek zur Anwendung gebunden 03.1 Eingebettete Betriebssysteme 40

41 OSEK-OS: OIL Die OSEK Implementation Language [2] Beschreibt die Anwendung (Instanzen von OSEK-Systemobjekten wie Tasks, Events, Alarms,...) TASK TaskA { PRIORITY = 2; SCHEDULE = NON; ACTIVATION = 1; AUTOSTART = TRUE { APPMODE = AppMode1; APPMODE = AppMode2; }; RESOURCE = resource1; RESOURCE = resource2; RESOURCE = resource3; EVENT = event1; EVENT = event2; MESSAGE = anymesssage1; }; OSEK-OIL Beschreibung eines Tasks mit all seinen Attributen 03.1 Eingebettete Betriebssysteme 41

42 OSEK-OS: Was nicht dazu gehört... Massenspeicherunterstützung / Dateisystem Gerätetreiber Speicherschutz Virtueller Speicher Boot-Vorgang Benutzerschnittstelle Mehrbenutzerfähigkeit Power Management 03.1 Eingebettete Betriebssysteme 42

43 Inhalt Vorbetrachtung Vielzweckbetriebssysteme Speicherplatzverschwendung Fallstudie Ursachenforschung Zwischenfazit Eingebettete Betriebssysteme Beispiel OSEK Systemabstraktion und -schnittstelle Unterschiede zu PC-Betriebssystemen Zusammenfassung 03.1 Eingebettete Betriebssysteme 43

44 Zusammenfassung Vielzwecksoftware versus Spezialzwecksoftware Ressourcenverbrauch von Vielzwecksoftware ist deutlich höher - In Einfällen sogar ein Faktor von 1800 :-) Für kleine eingebettete Systeme sind Spezialzweckbetriebssysteme angebracht Maßschneiderung für genau eine Anwendung OSEK ist ein entsprechendes Beispiel aus dem Automobilbereich Anwendungsabhängiger Systemgenerierungsprozess Einfach und überschaubar Minimaler Speicherplatzverbrauch (typisch 3-10KB) Nicht vergleichbar mit Desktop-Betriebssystemen 03.1 Eingebettete Betriebssysteme 44

45 Literatur [1] OSEK/VDX Operating System Specification 2.2.3, Februar 2005, [2] OSEK/VDX OIL: OSEK Implementation Language Specification, Version 2.5, Juli 2004, [3] L. Sha, R. Rajkumar, and J. P. Lehoczky, Priority Inheritance Protocols: An Approach to Real-Time Synchronization, IEEE Transactions on Computers, Vol. 39, No. 9, pp , Eingebettete Betriebssysteme 45

Software ubiquitärer Systeme (SuS)

Software ubiquitärer Systeme (SuS) Software ubiquitärer Systeme (SuS) Eingebettete Betriebssysteme 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

Mehr

Betriebssystemtechnik

Betriebssystemtechnik (Aktuelle Forschungsfragen der eingebetteten Systemsoftware) Betriebssystemtechnik Einleitung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de

Mehr

Betriebssystemtechnik. Operating System Engineering (OSE) Einleitung

Betriebssystemtechnik. Operating System Engineering (OSE) Einleitung Betriebssystemtechnik Operating System Engineering (OSE) Einleitung 1 Das Betriebssystemdilemma Clearly, the operating system design must be strongly influenced by the type of use for which the machine

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

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

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

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

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

CiAO (CiAO is Aspect-Oriented)

CiAO (CiAO is Aspect-Oriented) 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

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

Hello World! Eine Einführung in das Programmieren Das erste Programm

Hello World! Eine Einführung in das Programmieren Das erste Programm Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2018/19 Teil C: Echtzeit-Betriebssysteme Abschnitt 18: Standards für Echtzeit-Betriebssysteme CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem ein präemptives Echtzeit-Multitasking-Betriebssystem 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.9 2011-10-12 Management

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

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

Unicode Support Atomic Operations Thread Support Type-Generic Makros Sicherheit Ease-of-Use C11. Thomas Duckardt

Unicode Support Atomic Operations Thread Support Type-Generic Makros Sicherheit Ease-of-Use C11. Thomas Duckardt C11 Thomas Duckardt Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 22.05.2014 1 / 22 Gliederung (Agenda)

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

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

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

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

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

Zusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks

Zusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks Zusammenfassung für CS-Prüfung 3 Seite 1 CS-Zusammenfassung für Prüfung 3 vom 24. 6. 2002 Deadlock Im Beispiel gibt es 3 Deadlocks Unterschied zwischen Blockieren, Verklemmen und Verhungenrn= -> Band 1

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

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

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale

Mehr

die Integration und den Produktionstest von Embedded Software für Automobilanwendungen

die Integration und den Produktionstest von Embedded Software für Automobilanwendungen DER INDUSTRIESTANDARD FÜR EINGEBETTETE SYSTEME IN AUTOMOBILANWENDUNGEN WIRD ERWEITERT UND VERBESSERT OSEK auf der Überholspur Die OSEK/VDX OS-Arbeitsgruppe veröffentlichte kürzlich den Entwurf zur Version

Mehr

e) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?

e) Welche Aussage zu Speicherzuteilungsverfahren ist falsch? Aufgabe 1: (1) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

D Einführung Betriebssysteme

D Einführung Betriebssysteme 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

Mehr

D Einführung Betriebssysteme

D Einführung Betriebssysteme 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

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

DAP2-Programmierpraktikum Einführung in C++ (Teil 2)

DAP2-Programmierpraktikum Einführung in C++ (Teil 2) DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Datenhaltungs-Forschung 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: 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

Fakultät für Informatik der Technischen Universität München. Kapitel 5. Echtzeitbetriebssysteme

Fakultät für Informatik der Technischen Universität München. Kapitel 5. Echtzeitbetriebssysteme Kapitel 5 Echtzeitbetriebssysteme 378 Inhalt Grundlagen Betrachtung diverser Betriebssysteme: Domänenspezifische Betriebssysteme: OSEK TinyOS Klassische Echtzeitbetriebssysteme QNX VxWorks PikeOS Linux-

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration

Mehr

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

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

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Lokale und globale Variablen Namensräume Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund

Mehr

1 Netzbetrieb. 2 Integrationsbetrieb. 3 Zusammenfassung. Stümpfe (engl. stubs) virtualisieren Aufgerufenen/Aufrufer a

1 Netzbetrieb. 2 Integrationsbetrieb. 3 Zusammenfassung. Stümpfe (engl. stubs) virtualisieren Aufgerufenen/Aufrufer a Gliederung Systemprogrammierung Betriebsarten: Postskriptum Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 Offene Systeme Verteiltes System Rechnernetze Eingebettete Systeme Drahtlose Sensornetze

Mehr

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Einführung Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-22 Michael Kuhn

Mehr

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester Seminar: Multicore Programmierung Sommersemester 2009 16.07.2009 Inhaltsverzeichnis 1 Speichermodell 2 3 Implementierungsvielfalt Prioritätsinversion 4 Threads Speichermodell Was sind Threads innerhalb

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

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

Systemprogrammierung

Systemprogrammierung Systemprogrammierung Betriebsarten: Postskriptum Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 c wosch (Lehrstuhl Informatik 4) Systemprogrammierung WS2010/11 1 / 24 B VII Postskriptum Gliederung

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode

Mehr

Klausur Betriebssysteme I

Klausur Betriebssysteme I Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme I 9.3.2000 Bitte bearbeiten Sie die Aufgaben soweit wie möglich auf den Aufgabenblättern. Nachname: Matrikelnummer: Vorname: Semester: Bitte beantworten

Mehr

Bibliotheks-basierte Virtualisierung

Bibliotheks-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Bibliotheks-basierte Virtualisierung (WS15/16)

Mehr

Hydroinformatik I: Hello World

Hydroinformatik I: Hello World Hydroinformatik I: Hello World Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 28. Oktober 2016 1/15

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen assemblerähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

1 Prozesse und Scheduling (12 Punkte)

1 Prozesse und Scheduling (12 Punkte) 1 Prozesse und Scheduling (12 Punkte) a) UNIX Shell-Operatoren (insgesamt 4 Punkte) 1. Operator (1,5 Punkte) Beschreiben Sie die Funktionsweise des Operators. 2. Operator Beispiel (1 Punkt) Geben Sie für

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2017/18 Teil C: Echtzeit-Betriebssysteme Abschnitt 12: Problem Prioritätsumkehr CSI Technische Universität Ilmenau www.tu-ilmenau.de -

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

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

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11 C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen

Mehr

OSEK / COM. Florian Hohnsbehn. PG AutoLab Seminarwochenende Oktober AutoLab

OSEK / COM. Florian Hohnsbehn. PG AutoLab Seminarwochenende Oktober AutoLab OSEK / COM Florian Hohnsbehn florian.hohnsbehn@cs.uni-dortmund.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einführung Was ist OSEK COM? Einordnung in das Schichtenmodell von OSEK Nachrichten

Mehr

Echtzeitanwendungen mit Java Real Time Specification for Java

Echtzeitanwendungen mit Java Real Time Specification for Java Fakultät Informatik» Institut für Angewandte Informatik» Lehrstuhl für Technische Informationssysteme Echtzeitanwendungen mit Java Real Time Specification for Java Vortrag im Rahmen des Hauptseminars Technische

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

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

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

Systemprogrammierung

Systemprogrammierung Systemprogrammierung Betriebsarten: Postskriptum Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 Ergänzende Materialien c wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 1 / 24 B

Mehr

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println(Hello World! Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using

Mehr