Echtzeitsysteme. Inhaltsverzeichnis. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik

Größe: px
Ab Seite anzeigen:

Download "Echtzeitsysteme. Inhaltsverzeichnis. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik"

Transkript

1 Dieter Zöbel Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik Inhaltsverzeichnis 1 Einführung Eingrenzung Grundmodell eines Echtzeitsystems Prozesse Zeiten Beispiele Zeiten und Uhren Echtzeit und physikalische Zeit UhrenundWecker Ausführungzeiten von Anweisungen Ableitung von Zeitbedingungen Modellbildung Logiken Algebren Zustandsautomaten Petri-Netze Echtzeitplanung Grundlagen der Echtzeitplanung Planen durch Suchen Planen nach Fristen Planen nach monotonen Raten Planen nach monotonen Fristen Synchronisierung 66 6 Rechnerarchitekturen und Prozessoren 67 7 Betriebssysteme Merkmale von Echtzeitbetriebssystemen Aufbauprinzipien Speicherverwaltung Dateiverwaltung Treiber Unterbrechungen i

2 7.7 Beispiele für Echtzeitbetriebssysteme Solaris QNX POSIX µitron OSEK/VDX Programmiersprachen 80 9 Softwaretechnik Rechnernetze Nachlese 83 ii Kapitel 7 Betriebssysteme Merkmale von Echtzeitbetriebssystemen Aufbauprinzipien Speicherverwaltung Dateiverwaltung Treiber Unterbrechungsbehandlung Beispiele für Echtzeitbetriebssysteme 68

3 7.1. MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN 7.1 Merkmale von Echtzeitbetriebssystemen Allgemeine Zielsetzung: Nutzbarmachung des Rechners ergonomische Benutzeschnittstelle Ausnutzung der Fähigkeiten, insbesondere der Leistungsfähigkeit Anpassung an wechselnde Aufgabenstellungen Betriebssystem + Vorhersagbarkeit + Skalierbarkeit + Zeitverwaltung + :::: Echtzeitbetriebssystem Dieter Zöbel MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN Kategorisierung von Echtzeitbetriebssystemen Echtzeitbetriebssysteme z.b. QNX, psos,... Laufzeitsysteme z.b. RTKernel, Ada runtime system Standardschnittstellen z.b. POSIX, ITRON Dieter Zöbel

4 Merkmale von Echtzeitbetriebssystemen 7.1. MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN Durchreichen von Unterbrechungsanforderungen (prioritätsabhängig) an die Anwendungsprogramme Mehrprogrammbetrieb mit der Möglichkeit der anwendungsspezifischen Zuordnung von Prioritäten Bereitstellung einer effizienten Zeitund Weckverwaltung einstellbare Zeitauflösung (Bezugszeitspanne t G ) Überwachung der Einhaltung von Echtzeitbedingungen Unterbrechbarkeit des Kerns (bzw. von Systemaufrufen) asynchrone E/A-Operationen Verhersagbarkeit der Zugriffsdauer auf Plattendateien durch entsprechende Organisation (z.b. zusammenhängende Folgen von Dateiblöcken) Möglichkeit zur Abschaltung der virtuellen Speicherverwaltung (z.b. zur Vermeidung unvorgesehener Seitenaustausche) Dieter Zöbel Genealogie der Echtzeitbetriebssysteme Kategorisierungsschemata 7.1. MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN Grad der Offenlegung: proprietär (z.b. irmx) offen 1 (z.b. REAL/IX) Herkunft: Eigenentwickeltes Echtzeitbetriebssystem (z.b. QNX) Integration von Echtzeitmerkmalen (z.b. AIX) Weiterentwicklung eines Betriebssystems zu einem Echtzeitbetriebssystem (z.b. LynxOS) Plattformabhängigkeit: aus Betriebssystem-Sicht: Microsoft basiert (z.b. RTXDOS, EUROS) UNIXbasiert (z.b. psos) aus Hardware-Sicht: Bindung an Prozessoren oder an Boards: PC-basiert (z.b. RMOS, QNX) oder Intel-basiert (z.b. irmx) Ausbaustufe: Ausführungssystem für parallele Prozesse (engl.: executive) (z. B. RTKernel) vollständig ausgebautes Betriebssystem (z.b. Solaris) 1 offen in dem Sinne, dass es herstellerunabhängige Standards wie POSIX.4 erfüllt Dieter Zöbel

5 7.1. MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN Entwicklungslinien von Echtzeitbetriebssytemen eigenständige Entwicklung angelehnt an UNIX angelehnt an Microsoft integriert in ein universelles Betriebssystem angelehnt an den PC Standard proprietär offen vorwiegend proprietär offen, proprietär eher proprietär Beispiele iirmx OS/9 QNX, REAL/IX EUROS, WindowsCE Solaris, Ada QNX, irmx, WindowsCE Dieter Zöbel MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN Vor und Nachteile einer Anlehnung an ein vorhandenes Betriebssystem Vorteile: größere Akzeptanz bei den Entwicklern Verfügbarkeit von komfortablen Werkzeugen und Schnittstellen (z.b. make, awk oder graphische Benutzeroberflächen) Nachteile: Probleme mit der Größe und der Skalierbarkeit Probleme mit der Rechtzeitigkeit Dieter Zöbel

6 Wie wird UNIX ein Echtzeitbetriebssystem? 7.1. MERKMALE VON ECHTZEITBETRIEBSSYSTEMEN unterbrechbarer, skalierbarer Kern (ist für ein Echtzeitbetriebssystem neu zu entwickeln) Bereitstellung einer hohen Zeitauflösung prioritätsbasierte Prozessausführung Ergänzung um leichtgewichtige Prozesse Verhinderung des Seitenaustausches kalkulierbare Zugriffszeiten auf Plattendateien Erfüllung von Standards, z.b. POSIX und POSIX Dieter Zöbel AUFBAUPRINZIPIEN 7.2 Aufbauprinzipien Begriffseingrenzung: Der Kern ist der Teil des Betriebssystems, der unverzichtbar für dessen Funktionalität ist. Kategorisierung: Makrokern: Wesentliche Funktionalitäten des Betriebssystems sind im Kern zu finden (typischerweise monolithischer Aufbau, z.b. UNIX) Mikrokern: nur die notwendigste Funktionalität zum Betreiben von Betriebssystemkomponenten gehört in den Kern (alle Dienstleistungen, die Dateiverwaltung, Speicherverwaltung und Geräteverwaltung liegen außerhalb des Kerns, z.b. QNX) Umsetzung der Echtzeitanforderung der Unterbrechbarkeit des Kerns (bzw. der Systemaufrufe): bei Makrokernen: durch Sollbruchstellen bei Mikrokernen: durch minimalisierte Dienste des Kerns Dieter Zöbel

7 7.2. AUFBAUPRINZIPIEN Vor- und Nachteile der Mikrokern-Architektur Vorteile: Sichere Kapselung der Komponenten (Prozesse) eines Betriebssystems (durch die Speicherverwaltung) definierte Schnittstelle zum Kern (API), insbesondere zum Zwecke des Interprozesskommunikation (IPC 2 ) klare Trennung von Funktionalitäten zwischen Kern und den Prozessen, bzw. unter den Prozessen (Dienst- wie Anwenderprozesse) Skalierbarkeit, Anpassungsfähigkeit, Erweiterbarkeit und Dynamik (z.b. Nachladen von Betriebssystemprozessen zur Laufzeit) Einfache Anpassung an neue Rechnerplattformen (durch den Austausch von Treibern und ggf. des Kerns) Nachteil: (Noch) hoher Aufwand (vgl. [Lie96]) 2 (engl.: inter-process communication) Dieter Zöbel AUFBAUPRINZIPIEN Interprozesskommunikation (IPC) Paradigma: Ein Betriebssystem und die umgebenden Anwenderprozesse kommuniziern mittels Nachrichten (transparent realisiert durch den Kern) miteinander. Zentrale Aufgabe des Kerns: Abwicklung der Nachrichtenübertragung Vorteile: homogener Systemaufbau: Es gibt nur Prozesse. klare Objektstruktur: Dientleistung und damit Datenmanipulation nur durch Methodenaufrufe an das Dienstleistungsobjekt. Anwenderprozess Dienstprozess Mikrokern Dieter Zöbel

8 7.2. AUFBAUPRINZIPIEN Beispiel: Mikrokernarchitektur von QNX Prozess Prozess Prozess Netzanbindung Scheduler Interprozesskommunikation Interrupt Redirector Netzwerkschnittstelle Minimaler Umfang des Kerns für einbettete Anwendungen: 130KByte (nach Angaben von QNX: 64KByte [Qnx97]). Zusätzlich: IDE-Treiber 40KByte, Plattentreiber (fdisk) 130KByte Dieter Zöbel SPEICHERVERWALTUNG 7.3 Speicherverwaltung Adressierungsformen: direkte Adressierung virtuelle Adressierung Lauffähigkeit großer Programme Schutz der Prozesse untereinander Segment- und/oder Seiteverwaltung basierend auf einer MMU (memory management unit) Seitenaustauchverfahren (Dauer Zugriffe auf den Hauptspeicher) Probleme bzgl. Vorhersagbarkeit beim Anlaufen des Programms werden die Daten nach Bedarf nachgeladen beim laufenden Betrieb kommt es zu unverhofften Seitenaustauschen Dieter Zöbel

9 7.3. SPEICHERVERWALTUNG Speicherverwaltung mit vorhersagbaren Ausführungszeiten Vorkehrungen: Laden aller Programmseiten vor dem Programmstart Vorbelegen von Hauptspeicher für die Stapel und Haufen Vermeidung von dynamischen Speicherplatzanforderungen Verbieten von Seitenaustauschen Vermeiden des Kopierens von großen Datenmengen zwischen Prozessen Bsp.: Entsprechende Befehle unter dem Echtzeitbetriebssystem REAL/IX: stkexp() für das Vorbelegen von Speicher für den Stapel plock() für das Verbieten von Seitenaustauschen Dieter Zöbel DATEIVERWALTUNG 7.4 Dateiverwaltung hier: Vorhersagbarkeit beim Zugriff auf die Festplatte: Zeitschranken für einzelne Lese- und Schreibzugriffe Priorisierung von Zugriffsanforderungen periodische oder permanente Anforderungen von großen Datenmengen (hauptsächlich bei Multimedia- Anwendungen) Ursachen mangelnder Vorhersagbarkeit: Form der Auftragsabarbeitung durch den Treiber Suchzeit für die Spur Wartezeit auf den Sektor Fragmentierung der Blöcke einer Datei weniger: Übertragung der Daten zum Controller Abwicklung der Systemaufrufe Dieter Zöbel

10 7.4. DATEIVERWALTUNG Vorhersagbare Zugriffszeiten Klassische Verfahren ohne Vorhersagbarkeit: FCFS (first come, first served) hoher Grad an paralleler Auftragsabwicklung SSTF (shortest seek time first) SCAN (seq. Suchen nach der nächsten Spur) Ziele unter Echtzeitgesichtspunkten: Einhalten der Fristen Vermeiden von Übertragungslücken Beachte: hoher Durchsatz und die Sicherung von Zeitbedingungen sind konträre Ziele Eigenfunktionalität des Plattencontrollers und Topologie der Platte ist (oftmals) für den Treiber nicht offengelegt. Dieter Zöbel DATEIVERWALTUNG Strategie für vorhersagbare Plattenzugriffe SCAN-EDF (z.b. unter AIX) Zuordnung einer Frist für jeden Auftrag Anwendung von EDF bzgl. der Frist der Aufträge Einhaltung der Frist Anwendung des SCAN-Algorithmus für Aufträge mit gleicher Frist hoher Durchsatz Bsp.: SCAN-EDF angewendet auf Aufträge der Form (Frist,Spur): (10, 201) (10, 214) (10, 235) (10, 194) (10, 176) (11, 109) (11, 180) (11, 204) (11, 214) (11, 239) (13, 297) (13, 212) Dieter Zöbel

11 7.5. TREIBER 7.5 Treiber Abstrakte Schnittstelle zu einem Gerät: Aus Anwendersicht ist der Treiber ein Teil der Hardware, wie aus Treibersicht der Unterbrechungprozess ein Teil der Hardware ist. Zuordnung der Treiber bei Mikrokernen: als ein Prozess (oder mehrere), mit einer speziellen Priorität und einer standardisierten Schnittstelle, kann dynamisch zum Betriebssystem hinzugefügt werden Treiberschnittstelle bei Makrokernen: Teil des Kerns Treiber Zugriff auf das Gerät Ein-/Ausgabegerät Anstöße Unterbrechungsbehandlung Betriebssystem Hardware Dieter Zöbel TREIBER Anstoßen des Treibers Man unterscheidet (vgl. [RL93]) Initiator: nimmt den Auftrag an das ihm zugeordnete Gerät an, prüft die Auftragsparameter und reiht den Auftrag in die Warteschlage ein. Kontinuator: arbeitet den nächsten Auftrag aus der Warteschlange ab, sobald das Gerät über eine Unterbrechungsanforderung die Fertigmeldung für den letzten Auftrag gegeben hat. Programmschema für einen Treiber, der über Nachrichten von Seiten der Anwendung beauftragt und von Seiten des Gerätes Fertigmeldungen erhält: DO OD wait for(msg,sender) // verarbeite msg von sender Dieter Zöbel

12 Auswirkungen der Mikrokern-Architektur 7.5. TREIBER Entwicklungstendenzen Die Unterbrechungsbehandlung so kurz wie möglich (somit Verkürzung der Zeitdauer, die nicht vom Kern aus, d.h. der Prozessverwaltung aus, steuerbar ist. Einheitliche Anstoßmechanismen für Treiber wie für andere Prozesse, insbesondere was die Unterbrechungsanforderungen angeht. xx_open xx_close xx_read xx_write gemeinsamer Speicherbereich xx_intr Die Prozesse, die bei Solaris einen Treiber aufbauen Dieter Zöbel Übertragung von Nutzdaten vom Hauptspeicher zum Gerät 7.5. TREIBER I/O-mapped Getrennter Adressraum für Geräte und Zugriff über eigene Befehle (z.b. IN und OUT). Synchrone Auftragsabwicklung und Fertigmeldung des Gerätes via Interrupt memory mapped Der Speicher des Gerätes ist Teil des physikalischen Adressraumes, ggf. direkter Zugriff des Prozessors des peripheren Gerätes in den Hauptspeicher (z.b. geschützt durch spin locks) DMA (direct memory access) Ein DMA-Controller ist über einen eigenen Bus mit dem Hauptspeicher verbunden. Autonome Abwicklung des Auftrags und Fertigmeldung durch Interrupt. Dieter Zöbel

13 7.6. UNTERBRECHUNGEN 7.6 Unterbrechungen Grundsätzliche Zielsetzung: Unterbrechung des normalen Ablaufs durch eine vorrangige Verarbeitung. Klassen von Unterbrechungen Nachricht Asynchron (interrupts) z.b.: Timerinterrupt Meldung eines Spannungsausfalls Abschluss des Plattenzugriffs Abschluss des Sendens einer Synchron (traps) z.b.: arithmetische Fehler Seitenfehler Verletzung des Speicherschutzes Systemaufrufe Dieter Zöbel Schritte bei der Unterbrechungsbehandlung Ablauf 1. Der Prozessor beendet die Ausführung des letzten Befehls (Unterbrechung 3 des aktuellen Prozesses). 4. Durch einen speziellen Befehl wird die Rückkehr vom Unterbrechungsprozess zum aktuellen Prozess durchgeführt UNTERBRECHUNGEN 2. Die Ausführung des Prozessors wird auf den Unterbrechungsprozess umgeschaltet. Treiber ISR Betriebssystem 3. Der Unterbrechungsprozess (ISR 4 ) wird ausgeführt. Ein-/Ausgabegerät Hardware Der Unterbrechungsprozess kann aus programmiertechnischer Sicht als eine Komponente der Hardware aufgefasst werden 3 Man unterscheidet asynchrone Unterbrechungen (engl.: interrupt) von synchronen Unterbrechungen (engl.: traps) 4 (engl.: interrupt service routine) Dieter Zöbel

14 7.6. UNTERBRECHUNGEN Latenzen bei der Unterbrechungsbehandlung Die Unterbrechungslatenz (engl.: interrupt latency) umfasst alle Zeitspannen vom Zeitpunkt der Auslösung der Unterbrechung bis zum Beginn der Ausführung des Unterbrechungsprozesses (Schritte 1. und 2.) Bsp.: unter LynxOS auf einem 33MHz Intel 386: 75µs Bsp.: unter QNX auf einem 33MHz Intel 386: 15µs Bsp.: unter QNX auf einem 133MHz Intel Pentium: 4.3µs Strategie: Abarbeitung der ISR als Prozess des Echtzeitbetriebssystems Verzögerung für einen höher priorisierten Prozess: die Unterbrechungslatenz Dieter Zöbel Beispiele für Echtzeitbetriebssysteme Hier wird exemplarisch auf bedeutende Echtzeitbetriebssysteme und Betriebssystem- Schnittstellen Bezug genommen: Solaris µitron QNX POSIX OSEK/VDX Dieter Zöbel

15 7.7.1 Solaris Merkmale: Universalbetriebssystem unterbrechbarer Kern Threadkonzept klassenspezifische Prioritäten Mehrprozessorfähigkeit Synchronisierungsobjekte: mutex, r/w-lock, counting semaphor, condition variable Prioritätsvererbung Interrupt Threads Realtime Threads System Threads Timescliced Threads fixed priorities dynamic priorities Prozessklassen von Solaris Dieter Zöbel QNX Merkmale: Mikrokern-Betriebssystem Skalierbarkeit extern: Dateiverwaltung, Netzwerkverwaltung, graphische Oberfläche Interprozesskommunikation mittels synchroner Nachrichtenübertragung (send(), receive(), reply()) Netzwerktransparenz (TCP/IP-basiert: WAN, LAN, CAN, serielle Schnittstelle) prioritätsbasierte Prozessausführung Prioritätsvererbung einstellbare Zeitauflösung PC-Plattform Dieter Zöbel

16 synchrone Nachrichtenübertragung Prinzip der synchronen Nachrichtenübertragung: Das Senden und Empfangen von Nachrichten ist eine gemeinsame Operation von Sender und Empänger, d.h. keiner kann dem anderen vorauslaufen. Logdaten Laserdaten Laserscanner Synchrone Nachrichtenübertragung heißt auch: beide Prozesse müssen gleichzeitig zur Nachrichtenübertragung bereit sein. Das ist unmöglich, wenn Prozesse ereignisgesteuert sind oder unterschiedlich Perioden besitzen (hohe Wartezeiten, Gefahr von Deadlock). Eingreifdaten Funkmodem Steuerung Fahrdaten Antrieb, Lenkung Funktionale Zerlegung von EZauto Dieter Zöbel Entwurf mit Briefkästen Zur Vermeidung von Deadlocks dienen Breifkästen (engl.: mailbox), die eine asynchrone Nachrichtenübertragung zwichen Prozessen realisieren. Log daten Fahrdaten Laserdaten Timer Funkmodem Steuerung Laserscanner Eingreifdaten Timer Timer Timer Antrieb, Lenkung Entwurf von EZauto mit den 4 ursprünglichen Prozessen, 4 Briefkästen und 4 Timern Dieter Zöbel

17 7.7.3 POSIX Ziel: Schaffung von Kompatibilitäten, was die Portabilität von Code Programmen Daten (im Rahmen von Kommunikation) angeht. Wichtigster Standard für : POSIX 5 Zielsetzung der IEEE: Definition einer anwendungsspezifischen Programmierschnittstelle (API 6 ) zum Betriebssystem (nicht notwendigerweise UNIX) 5 (engl.: portable operating system interface for computer environments) 6 (engl.: application programmers interface) Dieter Zöbel Wichtige POSIX-Standards Working Groups Charter POSIX.0 Open-system architecture POSIX.1 Posix application interface POSIX.2 Shell and command utilities POSIX.3 Testing and verification methods POSIX.4 Real-time extensions to POSIX POSIX.5 Ada binding to POSIX POSIX.13 Realtime application environment profiles POSIX.14 Multiprocessing application environment profiles POSIX.20 Ada binding to POSIX.4 POSIX.21 Distributed real-time Dieter Zöbel

18 POSIX.4 Merkmale Thread 7 -Konzept prioritätsbasierte Prozessausführung Semaphore hauptspeicherresidente Prozesse gemeinsamer Hauptspeicher für Prozesse Echtzeituhren asynchrone Ein/Ausgabe 7 dt. Faden Dieter Zöbel Vergleich von Prozessen mit Threads Prozess (oft auch Task genannt) kann mehrere Threads enthalten eigener Adressraum besitzt Betriebsmittel z.b. offene Dateien Kommunikation mit anderen Prozessen über Pipes oder Nachrichten Thread ist einem Prozess zugeordnet gemeinsamer Adressraum teilt Betriebsmittel mit den anderen Threads des Prozesses Kommunikation mit anderen Threads über den gemeinsam Speicher Dieter Zöbel

19 7.7.4 µitron Ansatz: Offener Standard für die Entwicklung kleiner und kleinster engebetteter Systeme (Japan seit 1984, z.zt. Version 3.0 [Sak98]) TRON 8 -Philosophie: Intelligent Objekte werden uns bald umgeben und unsere alltäglichen Helfer sein. Anwendungsbereiche (nach eigenen Angaben nur zivile Nutzung): Audio/Video-Elektronik: Fernseher, Videokameras, Digitalkameras Telekommunikation: Anrufbeantworter, Handies, ATM-Switches Datenverarbeitung: Infrarot-Druckerschnittstelle, Scanner Automotive: Navigationssysteme, Einspritzung, Komfortfunktionen Weiße Ware: Mikrowelle, Waschmaschine, Reis-Kocher Spielzeug: Tamagoshi, sprechende Puppen, funkgesteuertes Spielzeug 8 Acronym aus: The Real-time Operating system Nucleus Dieter Zöbel TRON-Prinzipien: vorrangig Vorrangige Ziele: höchstmögliche Leistung des zugrundeliegenden Mikroprozessor- oder Mikrocomputersystems Anpassungsfähikeit an spezielle (integrierte) Peripherie hohe Software-Produktivität durch ein spezielles (Lern- und) Beschreibungskonzept der Systemaufrufe Kostenminimierung im Hardware- Bereich (Größenordnung: wenige Euros) Amortisierung der Entwicklungskosten durch hohe Stückzahlen Dieter Zöbel

20 TRON-Prinzipien: nachrangig Nachrangiges Ziel: Portabilität von Software Typische Rechnerplattformen 9 : Mikrocontroller MCU (micro controller units): Prozessor, RAM, ROM, A/D-Wandler, weitere Peripherie auf dem Chip (z.b. 32KByte ROM und 1KByte RAM) Mikroprozessoren MPU (micro processor units) Unterstützte Bitbreiten: 4, 8, 16, 32 9 Beobachtung: Die Anzahl der verbauten MCUs ist etwa 10-mal so hoch wie die Zahl der verbauten MPUs (letztere z.b. in PCs) Dieter Zöbel TRON Standards Bereiche: Scheduling, Synchonisierung, Fehler-Codes, Terminologie Bsp.: Aufrufe nach dem Schema xxx yyy cre tsk Erzeugen eines Prozesses wup tsk Wecken eines Prozesses Mailboxen Semaphore Anpassung an den Prozessor Semaphore dyn. Speicherverwaltung dis int Sperren von Interrupts set tim Setzen eines Weckers wai sem P-Operation auf ein Semaphor Prozessverwaltung Prozessverwaltung Prozessverwaltung Reduktion auf die Erfordernisse der Anwendung Semaphore dyn. Speicherverwaltung Ereignissignalisierung Ereignissignalisierung Ereignissignalisierung Anpassung der µitron-spezifikation an den Prozessor und die Anwendung Dieter Zöbel

21 7.7.5 OSEK/VDX Ziele von OSEK 10 /VDX: Portabilität und Wiederverwendbarkeit (gezielt für Software-Anwendungen in Kraftfahrzeugen) Spezifikation abstrakter Schnittstellen bzgl. Echtzeitanforderungen, Kommunikation und Netzwerkmanagement Spezifikation abstrakter Schnittstellen zur Hardware Skalierbarkeit der Implementierung auf das von der Anwendung aus Notwendige Verifikation der Funktionalität Partner (u.a.): Autoindustrie: BMW, Opel, Mercedes, Volkswagen, Renault, Fiat, Volvo Elektroindustrie und Zulieferer: Siemens, Philips, SGS Thomson, Hella, Lucas, Bosch EDV: Windriver Systems, Integrated Systems Wissenschaft: Universität Karlsruhe 10 Akronym für ooffene Syteme und deren Schnittstelle zur Elektronik im Kraftfahrzeug Dieter Zöbel automotive Merkmale vollkommene Statik des Betriebssystems (z.b. alle Betriebsmittel und Synchronisierungsobjekte vorab bekannt) statische Prioritätsvergabe und Prioritätsobergrenzen (PIP) präzises Modell für die Prozessausführung und Unterbrechungsbehandlung (3 Kategorien von Unterbrechungsroutinen) generative Erzeugung der Laufzeitumgebung Reduzierbarkeit auf RAM/ROM- Anwendungen Anpassbarkeit an kleinste Prozessoren ( 8 Bit) hoch feste Prioritaet niedrig Untrebrechungsbehandlung Systemfunktionen Bereich der Anwendungsprozesse Prozessmodell unter OSEK/VDX Dieter Zöbel

22 Literaturverzeichnis [ABRW91] N. C. Audsley, A. Burns, M. F. Richardson, and A. J. Wellings. Hard realtime scheduling: The deadline monotonic approach. In Proc. 8th IEEE Workshop on Real-Time Operating Systems and Software, Atlanta, May [Ber02] [But97] [Der74] Arnold Berger. Embedded Systems Design. CMP Books, Lawrence, Kansas 66046, G. C. Buttazzo. Hard Real-Time Computing Systems: Predictable Scheduling, Algorithms and Applications. Kluwer Academic Publishers, Michael L. Dertouzos. Control robotics: The procedural control of physical processes. IFIP Congress, pages , LITERATURVERZEICHNIS [DIfN85] Deutsches Institut für Normung. Informationsverarbeitung Begriffe, DIN Beuth-Verlag, Berlin, Köln, [FGG + 91] Borko Furht, Dan Grostick, David Gluch, Guy Rabbat, John Parker, and Meg McRoberts. Real-Time UNIX Systems: Design and Application Guide. Kluwer Academic Publishers, Boston, [GJ79] Michael R. Garey and David S. Johnson. Computers and Intractability. A Guide to the Theory of NP-Completeness. W. H. Freeman and Company, New York, San Francisco, [Her91] R. G. Herrtwich. Betriebsmittelvergabe unter Echtzeitgesichtspunkten. Informatik-Spektrum, 14(2): , [Hor74] W. A. Horn. Some simple scheduling algorithms. Naval Research Logistics Quaterly, 21: , Dieter Zöbel

23 LITERATURVERZEICHNIS [Jac55] [Kop97] J. R. Jackson. Scheduling a production line to minimize maximum tardiness. Technical report, Mgt. Sci. Res. Project, Resch. Rept. 43, UCLA, January Hermann Kopetz. Real-Time Systems - Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, Boston, [Lap93] Phil Laplante. Real-Time Systems Design and Analysis: An Engineer s Handbook. IEEE Press, New York, [Lie96] [LL73] Jochen Liedtke. Toward real microkernels. Communications of the ACM, 39(9):70 77, September C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1):46 61, January 73. [LSD89] J. P. Lehoczky, L. Sha, and Y. Ding. The rate monotonic scheduling algorithm: Exact characterization and average case behavior exact charac- Dieter Zöbel LITERATURVERZEICHNIS terization and average case behavior. In Proceedings of thetenth IEEE Symposium on Real-Time Systems, pages , December [Qnx97] QNX Operating System. QNX Software Systems Ltd., Kanata, Ontario, Canada, [RL93] Ulrich Rembold and Paul Levi. Realzeitsysteme zur Prozeßautomatisierung. Hanser Verlag, München, [Sak98] [Var98] Ken Sakamura. muitron 3.0 An open and portable real-time operation system for embedded systems. Los Alamitos, California, USA, ieee computer society press edition, Victor Varshavsky. Time, timing and clock in massively parallel computing systems. In Third International Conference on Massively Parallel Computing Systems (PCS98), Colorado Springs, Colorado, April Dieter Zöbel

24 LITERATURVERZEICHNIS [ZA95] [ZH88] Dieter Zöbel and Wolfgang Albrecht. - Grundlagen und Techniken. Lehrbuch. International Thomson Publishing Company, Bonn, Albany, Dieter Zöbel and Horst Hogenkamp. Konzepte der parallelen Programmierung. Teubner-Verlag, Stuttgart, Dieter Zöbel

5.7 Echtzeitbetriebssysteme

5.7 Echtzeitbetriebssysteme 5.7 Echtzeitbetriebssysteme Prof. Dr. Dieter Zöbel, Institut für Softwaretechnik Rheinau 1 D-56075 Koblenz zoebel@uni-koblenz.de http://www.uni-koblenz.de/ zoebel 26. November 2001 I Merkmale von Echtzeitbetriebssystemen

Mehr

Echtzeitsysteme. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik

Echtzeitsysteme. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik Dieter Zöbel Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik Inhaltsverzeichnis 1 Einführung 1 1.1 Merkmale von Echtzeitsystemen........ 2 1.1.1 Harte und weiche Echtzeitbedingungen

Mehr

Echtzeitsysteme. Inhaltsverzeichnis. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik

Echtzeitsysteme. Inhaltsverzeichnis. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik Dieter Zöbel Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik 3 Modellbildung 20 3.1 Petri-Netze.................... 21 Inhaltsverzeichnis 1 Einführung 2 1.1 Eingrenzung...

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

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

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

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

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

Mehr

Verteilte Echtzeit-Systeme

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

Mehr

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

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

Ü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

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung Konzepte von Betriebssystem-Komponenten I/O: von der Platte zur Anwendung SS 05 Igor Engel Igor.Engel@informatik.stud.uni-erlangen.de 1 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

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

Mehr

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

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

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

Echtzeitsysteme. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik

Echtzeitsysteme. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik Echtzeitsysteme Dieter Zöbel Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik Inhaltsverzeichnis 1 Einführung 1 1.1 Merkmale von Echtzeitsystemen........ 2 1.1.1 Harte und

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

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. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1 Betriebssysteme FU Berlin WS 2006/07 Klaus-Peter Löhr bs-1.1 1 1 Einführung Betriebsmittelverwaltung Entwicklungsgeschichte Architektur Zur Erinnerung: Informatische Fachbegriffe in Deutsch und Englisch

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

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

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

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

Mehr

Inhaltsverzeichnis Übersicht Prozesse

Inhaltsverzeichnis Übersicht Prozesse 1 Übersicht... 1 1.1 Einleitung: Was ist ein Betriebssystem?... 1 1.2 Betriebssystemschichten... 2 1.3 Schnittstellen und virtuelle Maschinen... 3 1.4 Betriebssystemaufbau... 5 1.4.1 Systemaufrufe... 6

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

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

Rechnernutzung in der Physik. Betriebssysteme

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

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

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

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

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Foliensatz Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli

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

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem

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

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

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS Automotive Safety & Security 2008 Stuttgart, 19. 20.11.2008

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

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Abstrakte Schnittstelle

Abstrakte Schnittstelle Abstrakte Schnittstelle Das Betriebssystem stellt dem Programmierer eine abstrakte Programmierschnittstelle zur Verfügung Das Betriebssystem bietet einen Satz von Kommandos (Systemaufrufe), über die z.b.

Mehr

Sebastian Witte 06.03.2013

Sebastian Witte 06.03.2013 06.03.2013 Inhalt kleine, leistungsfähige Systeme verfügbar (Smartphones) Resourcenverschwendung übermäßige Resourcenreservierung kleinste Systeme noch zu schnell zu restriktives Scheduling Vermischung

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

Rüdiger Brause. Betriebssysteme. Grundlagen und Konzepte. Dritte, überarbeitete Auflage Mit 170 Abbildungen. Springer

Rüdiger Brause. Betriebssysteme. Grundlagen und Konzepte. Dritte, überarbeitete Auflage Mit 170 Abbildungen. Springer Rüdiger Brause Betriebssysteme Grundlagen und Konzepte Dritte, überarbeitete Auflage Mit 170 Abbildungen Springer In hal tsverzei c h n is 1 Übersicht...... 1 1.1 Einleitung: Was ist ein Betriebssystem?...

Mehr

White Paper. Embedded Treiberframework. Einführung

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

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

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

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010 Symmetric Multiprocessing mit einer FPGA basierten MPSoC Plattform Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010 Inhalt Motivation Vorarbeiten Ziele für die Masterarbeit Vorgehensweise

Mehr

Grundkurs Betriebssysteme

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

Mehr

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

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

Mehr

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0)

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0) Konzepte von Betriebssystem Komponenten Aufbau eines rnen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung

Mehr

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

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

Mehr

Inhaltsverzeichnis XII

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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Christian Wawersich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

Protected User-Level DMA in SCI Shared Memory Umgebungen Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen

Mehr

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

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

Mehr

Linux-Kernel- Programmierung

Linux-Kernel- Programmierung Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 1.0 ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Klausur. Betriebssysteme SS 2007

Klausur. Betriebssysteme SS 2007 Matrikelnummer: 9999999 Klausur FB Informatik und Mathematik Prof. R. Brause Betriebssysteme SS 2007 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

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

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

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

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 NetX - Einführung 2008 Jiri Spale, Programmierung in eingebetteten Systemen 2 NetX is... a highly integrated network controller with a new system

Mehr

G Einführung in Betriebssysteme

G Einführung in Betriebssysteme Einführung in Betriebssysteme 1997-2003, Franz J. Hauck, Verteilte Systeme, Univ. Ulm [2003s-TI1--OS.fm, 2003-06-23 16.28] 1 1 Einordnung Ebene 6 Problemorientierte Sprache Ebene 5 Assemblersprache Ebene

Mehr

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem? 1 Einleitung 1.1 Aufgaben und Grobstruktur Was ist ein Betriebssystem? Betriebssystem (Definition nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Betriebssysteme Kap A: Grundlagen

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

Mehr

Integrated Modular Avionics & ARINC 653

Integrated Modular Avionics & ARINC 653 Integrated Modular Avionics & ARINC 653 Martin Wißmiller Gliederung IMA - Traditioneller Ansatz - IMA-Ansatz - IMA-Generationen ARINC653 - Speicherpartitionierung - Zeitpartitionierung - Kommunikation

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

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

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

Mehr

Innovative Architekturansätze

Innovative Architekturansätze Innovative Architekturansätze Peter Sturm AG Systemsoftware Betriebssysteme im Umbruch Allgemeine Probleme Steigende Komplexität Mangelnde Zuverlässigkeit Neue Herausforderungen ManyCore- Architekturen

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

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme R. Merker, Technische Universität Dresden, Fakultät ET und IT J. Kelber, Fachhochschule Schmalkalden, ET Gliederung

Mehr

Sensorsimulation in Hardware in the Loop-Anwendungen

Sensorsimulation in Hardware in the Loop-Anwendungen Sensorsimulation in Hardware in the Loop-Anwendungen Kristian Trenkel, Florian Spiteller Echtzeit 2014 20.11.2014 Gliederung I. Einführung II. Problemstellung III. Anforderungen an eine Sensorsimulation

Mehr

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Embedded- und RT-Betriebssysteme Dipl.-Inf. J. Richling Wintersemester 2003/2004 Überblick Fünfeinhalb Vorlesungen: Embedded- und RT-Betriebssysteme (heute) Beispiel: Windows CE (22.1.04) Beispiel: Windows

Mehr

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011 Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme Eine Einführung Klaus Kusche, Okt. 2011 Ziele des Vortrags Überblick über das Thema Praktisches Verständnis von Anforderungen Problembereichen

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05 Betriebssysteme WS 2004/05 Organisation der Vorlesung, Einführung in Betriebssysteme Christoph Lindemann Organisation der Übungen (1) Übungsgruppenorganisation Anmeldung 8 Übungsgruppen (8-20 Personen

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Echtzeitbetriebssysteme TinyOS 349 Einsatzgebiet: AdHoc-Sensornetzwerke Begriff Smart-Dust: Viele kleine Sensoren überwachen die Umgebung Ziele: robuste und flächendeckende Überwachung Probleme: eingeschränkte

Mehr

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

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

Mehr

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

Das ISO / OSI -7 Schichten Modell

Das ISO / OSI -7 Schichten Modell Begriffe ISO = Das ISO / OSI -7 Schichten Modell International Standardisation Organisation Dachorganisation der Normungsverbände OSI Model = Open Systems Interconnection Model Modell für die Architektur

Mehr

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 17. Dezember 2015 Betriebssysteme / verteilte Systeme

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

EMES: Eigenschaften mobiler und eingebetteter Systeme AUTOSAR. Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011

EMES: Eigenschaften mobiler und eingebetteter Systeme AUTOSAR. Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011 EMES: Eigenschaften mobiler und eingebetteter Systeme 00101111010010011101001010101 AUTOSAR Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011 00101111010010011101001010101 AUTOSAR AUTomotive

Mehr

BLIT2008-Board. Uwe Berger

BLIT2008-Board. Uwe Berger 11/2008 (BLIT) 2 Inhalt Was sind Mikrocontroller AVR-Mikrocontroller Werkzeugkasten Prinzipielles zur Programmierung BLIT2008-Board 11/2008 (BLIT) 3 Was sind Mikrocontroller AVR-Mikrocontroller Werkzeugkasten

Mehr

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen 0. November 0 Sergio Vergata, Andreas Knirsch, Joachim Wietzke Echtzeit 0 Agenda Motivation

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

Betriebssysteme. Literaturverzeichnis

Betriebssysteme. Literaturverzeichnis v Literaturverzeichnis 1) Autenrieth, K; et al.: Technik verteilter Betriebssysteme. Hüthig Verlag, Heidelberg, 1990. 2) Beck, M.; et al.: Linux-Kernel-Programmierung: Algorithmen und Strukturen der Version

Mehr

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner Konzepte von Betriebssystemkomponenten Gerätetreiber Mario Körner 26.01.2004 Übersicht Einordnung in die Betriebssystemarchitektur Schnittstelle zur Hardware Schnittstelle zum Betriebssystem am Beispiel

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

Mehr