Otto-von-Guericke-Universität Magdeburg

Größe: px
Ab Seite anzeigen:

Download "Otto-von-Guericke-Universität Magdeburg"

Transkript

1 Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Verteilte Systeme Arbeitsgruppe Echtzeitsysteme und Kommunikation Diplomarbeit Thema: Scheduling- und Kommunikationskonzept für ein verteiltes, DSP-basiertes Steuerungssystem eines Rasterkraftmikroskops März 2004 vorgelegt von: Christoph Walter German-Titow-Str Aschersleben

2 II

3 III Kurzfassung Mit Hilfe der Rastersondenmikroskopie ist es möglich, einen kleinen Ausschnitt der Oberfläche von zu untersuchenden Proben mit hoher lateraler Auflösung abzutasten. Es können im Idealfall Abbildungen erzeugt werden, in denen einzelne Atome zu unterscheiden sind. Im Rahmen einer Weiterentwicklung eines bestehenden Rasterkraftmikroskops soll ein Konzept für Teilaspekte der Steuerungssoftware dieses Gerätes erarbeitet werden. Die Steuerungssoftware setzt hardwareseitig auf zwei unabhängige DSP-Boards auf, die beide über eine Kommunikationsverbindung mit einem PC verbunden sind. Auf diesem erfolgt die Parametrisierung von Scan- Vorgängen sowie die Darstellung und Auswertung der Resultate mit Hilfe eines speziellen Anwendungsprogramms. Die Entwicklung eines neuen Task- und Kommunikationskonzepts für die Steuerungssoftware wurde primär notwendig, da die bestehende Lösung bei einer Erweiterung um zusätzliche Aufgaben die Anforderungen an deren zeitlicher Ausführung sowie des Austauschs von Daten zunehmend nicht mehr erfüllen konnte. Ausgehend von dieser Grundlage werden die Aufgaben der Steuerungssoftware unter dem besonderen Aspekt ihrer zeitlichen Anforderungen untersucht. Es wird darauf aufbauend zum einen ein dynamisches Scheduling-Konzept für die identifizierten Teilaufgaben vorgestellt. Zum anderen wird ein Konzept für den Austausch von Daten zwischen den DSP-Boards sowie dem PC erarbeitet. Hierbei werden insbesondere die Gegebenheiten der Hardwarearchitektur berücksichtigt. Des Weiteren werden Ansätze zur softwaretechnischen Umsetzung dieser Konzepte betrachtet sowie einige ausgewählte Aspekte implementiert.

4 IV Abstract By using Atomic Force Microscopy it is possible to scan a small part of the surface of some specimen with very high lateral resolution. Ideally it is even possible to create pictures where it is possible to differentiate between single atoms. A conception of some aspects of the control-software of an existing Atomic Force Microscope will presented within this paper. The development takes place in the scope of general development work on such a microscope. The control-software is based on two independent DSPboards that are connected by some communication facility to a PC. The PC runs an application program that is used by the operator of the microscope to parameterize and carry out the scanning process. The development of a new concept for task-scheduling and communication was primarily necessary since the existing solution, when further extended, has proven to be unable to handle time constraints of the execution of its tasks as well as of the exchange of data. Starting from that point, the tasks of the control-software are examined regarding their scheduling requirements. Based on that, a dynamic scheduling approach is presented. Additionally a concept for the exchange of data between the DSP-boards and the PC is shown. Furthermore, an approach for s suitable implementation is discussed and the implementation of some selected aspects is presented.

5 V Inhaltsverzeichnis Kurzfassung... III Abstract... IV Inhaltsverzeichnis...V Abkürzungsverzeichnis... VIII Abbildungsverzeichnis... IX Tabellenverzeichnis...X 1 Einführung Einleitung und Motivation Kontext und verwandte Arbeiten Ergebnisse Gliederung Grundlagen und verwandte Arbeiten Aufbau und Eigenschaften von Echtzeitsystemen Task und Taskplanung Der Task-Begriff Bestimmung von Ausführungszeiten Scheduling Fehlerbehandlung Verringerung der Qualität von Berechnungen TaskPair-Scheduling und TAFT Prozesssynchronisation Echtzeitbetriebssysteme Aufgaben und Nutzen Einbindung von Anwendungssoftware Beispiele für Scheduling-Verfahren in RTOSs Das Betriebsystem MicroC/OS-II Allgemeines Funktionalität Erweiterungen Verteilte Systeme Eigenschaften und Anwendungen Verteilte Betriebssysteme Kommunikation in verteilten Systemen Gerätetechnische Grundlagen Die Rastersondenmikroskopie Funktionsprinzip und Verfahrensweisen Die Rasterkraftmikroskopie Anwendungsgebiete Digitale Signalprozessoren Die Harvard-Architektur...30

6 VI Anwendungsgebiete Softwareentwicklung für DSP-Anwendungen Aufbau des vorliegenden Systems Überblick Der ADSP XY-System Z-System Ist-Zustand der bestehenden Softwarelösung DSP-Software Anwendungsprogramm Die Kommunikationslösung Nachteile der existierenden Lösung Zielsetzungen bei der Konzeption Analyse der Aufgaben der Steuerungssoftware Anwendungsszenarien des Gesamtsystems Abbildung von Proben Weitere Untersuchungen an Proben Werkzeug zur Micromanipulation Arbeitsschritte bei der Bilderfassung Identifikation von Funktionsgruppen der Steuerungssoftware Oszilloskop Tip Approach Force Calibration Digitale Abstandsregelung Abtasten einer Zeile Ausführen der Scanbewegung Weitere Aufgaben Zusammenfassung der zeitlichen Anforderungen der Teilaufgaben Geplante zukünftige Aufgaben Konzeption der Steuerungssoftware Prinzipielle Lösungsansätze Auswahl geeigneter Systemsoftware Einsatz von MicroC/OS-II im Rahmen dieser Arbeit Das Konzept des Supertasks Aussetzen einzelner Instanzen des Supertasks Motivation Ansätze Vergleich mit dem Ansatz des TaskPair-Schedulings Auswirkungen auf das Systemverhalten Arbeitsfrequenzen der Z-Aktoren Aktoren im XY-System Anpassung des Regelungsalgorithmus Realisierung des Aussetzens von Instanzen Anforderungen an den Algorithmus Der Algorithmus...73

7 VII 6.5 Kommunikation Zu übermittelnde Daten Ansatz zur Erweiterung der bestehenden Lösung Berücksichtigung von Zeitanforderungen der Nutzdaten Synchrone Ereignisse Integration des Kommunikationskonzepts in die Software Implementierung Anpassungen der Systemsoftware an die Hardware Umsetzung der Steuerungssoftware mit µc/os-ii Tasks Erweiterung der Systemsoftware für den Supertask Laufzeitstatistiken Ergebnisse Einsatz einer Simulation Anwendung im realen System Zusammenfassung und Ausblick...94 Referenzen / Literatur...96 Anhang A Systemfunktionen von MicroC/OS-II B C Enhanced Parallel Port Hardware ISO/OSI-Referenzmodell Selbstständigkeitserklärung...106

8 VIII Abkürzungsverzeichnis ADC AFM API BCET DAC DMA DSP ECET EDF EPP EPROM ET FIFO FPGA QoS RM RT RTS SNOM SRAM STM STOM TAFT WCET Analog-Digital-Converter Atomic Force Microscope Application Programming Interface Best Case Execution Time Digital-Analog-Converter Direct Memory Access Digitaler Signalprozessor Expected Case Execution Time Earliest Deadline First Enhanced Parallel Port Electrical Programmable Read Only Memory Execution Time First In First Out Field Programmable Gate Array Quality of Service Rate Monotonic Real-Time Real-Time System Scanning Near field Optical Microscope Static Random Access Memory Scanning Tunneling Microscope Scanning Tunneling Optical Microscope Time Aware Fault Tolerant Worst Case Execution Time

9 IX Abbildungsverzeichnis Abb. 2.1: Grundmodell eines Echtzeitsystems...6 Abb. 2.2: Prozesse in einem RTS...7 Abb. 2.3: TaskPair-Scheduling...13 Abb. 2.4: Prinzip von RT-Linux...16 Abb. 3.1: Prinzip eines Rastersondenmikroskops...24 Abb. 3.2: Cantilever mit Spitze...26 Abb. 3.3: Kraft-Distanz-Kurve bei Annäherung der Sonde...26 Abb. 3.4: Detektion der Kraftwirkung Probe - Messspitze am AFM...27 Abb. 3.5: Harvard- und Von-Neumann-Architektur...30 Abb. 3.6: Werkzeuge bei der Softwareentwicklung für DSP-Systeme...33 Abb. 3.7: Überblick über den Systemaufbau...34 Abb. 3.8: SHARC ADSP Block Diagramm...36 Abb. 3.9: XY-Systems mit angeschlossenen Komponenten...37 Abb. 3.10: Z-Systems mit angeschlossenen Komponenten...39 Abb. 4.1: Foreground/Background-System der bestehenden Lösung...41 Abb. 4.2: Hardwarekomponenten der Kommunikationsschnittstelle...43 Abb. 4.3: Schema der Schichten des bestehenden Kommunikationsmodells...44 Abb. 5.1: Mit dem AFM aufgenommenes, topografisches Profil...48 Abb. 5.2: Übersicht der Arbeitsschritte bei der Bilderfassung...49 Abb. 5.3: Zeitlicher Ablauf der Oszilloskop-Funktion...52 Abb. 5.4: Zeitlicher Ablauf des Tip Approach...53 Abb. 5.5: Aufnehmen der Kraft-Abstands Kurve...54 Abb. 5.6: Prinzip der digitalen Regelung...55 Abb. 5.7: Ablauf der XY-Scanbewegung...57 Abb. 6.1: Konzept des Supertasks...63 Abb. 6.2: Aussetzen des Supertasks...66 Abb. 6.3: Bestimmung des maximalen Ausschlags des Cantilevers...69 Abb. 6.4: Pseudocode des Algorithmus zum Aussetzen von Task-Instanzen...74 Abb. 6.5: Übertragung von Daten mit unterschiedlichen Prioritäten...79 Abb. 6.6: Ablauf der Signalisierung eines verteilten Ereignisses...81 Abb. 6.7: Kommunikationskonzept als Schichtendarstellung...82 Abb. 7.1: Erzeugungsreihenfolge der Anwendungstasks...85 Abb. 7.2: Integration des Supertasks in µc/os-ii...87 Abb. 8.1: Schema des Aussetzens des Supertasks bei konstanten Ausführungszeiten der Instanzen...89 Abb. 8.2: Schema des Aussetzens des Supertasks bei normalverteilten Ausführungszeiten der Instanzen...90 Abb. 8.3: Ausgelassene Instanzen des Supertasks pro Intervall...91 Abb. 8.4: Zusammenhängend ausgelassene Instanzen des Supertasks...92 Abb. 8.5: Vergleich der Bildqualität mit und ohne Aussetzen des Regelungstasks...93

10 X Tabellenverzeichnis Tab. 2.1: Zeitliche Parameter von Tasks...8 Tab. 3.1: Verschiedene Verfahren der Rastersondenmikroskopie...25 Tab. 3.2: Anwendungsgebiete von DSPs...31 Tab. 5.1: Erlaubte Kombinationen von Funktionsgruppen...51 Tab. A.1: Task Management Tab. A.2: Time Management Tab. A.3: Semaphoren Tab. A.4: Mutexes Tab. A.5: Event Flags Tab. A.6: Mailbox Management Tab. A.7: Message Queues Tab. A.8: Memory Management Tab. B.1: Signalbelegung am EPP Tab. B.2: EPP Controller - Register Tab. C.1: Schichten des ISO/OSI-Referenzmodells...105

11 1 1 Einführung 1.1 Einleitung und Motivation Die Rasterkraftmikroskopie sowie verwandte Verfahren stellen eine Methode für die Untersuchung und Manipulation kleinster Strukturen dar. Mit der zunehmenden Verbreitung von Nanotechnologien gewinnt auch dieses Verfahren in vielfältigen Variationen an Bedeutung. Die vorliegende Arbeit beschäftigt sich mit der Konzeption von Teilaspekten der Steuerungssoftware eines solchen Rasterkraftmikroskops. Sie entstand in enger Zusammenarbeit mit dem Fraunhofer Institut für Fabrikbetrieb und -automatisierung in Magdeburg. Im Rahmen der Weiterentwicklung eines bereits bestehenden Geräts erwies sich eine Neukonzeption der Steuerungssoftware als notwendig. Die bestehende Lösung setzt sich aus der Mikroskophardware mit angeschlossenem Steuerrechner sowie einem PC, auf dem ein entsprechendes Anwendungsprogramm läuft, zusammen. Das Anwendungsprogramm dient der Parametrisierung von Scan-Vorgängen sowie der Darstellung und Auswertung der Resultate. Der PC ist über eine Kommunikationsverbindung mit dem Steuerrechner verbunden, der sich aus zwei unabhängigen, auf digitalen Signalprozessoren basierenden Teilsystemen zusammensetzt. Während die Hardwarekomponenten modular aufgebaut sind und sich gut modifizieren bzw. erweitern lassen, erwies sich das Konzept der bestehenden Software der beiden Teilsysteme des Steuerrechners als unzureichend. Die für die Steuerung der Hardware notwendige Echtzeitfähigkeit des hier verwendeten einfachen Foreground/Background- Systems stößt bei Erweiterung der Software an seine Grenzen. Ein besonderer Aspekt dabei ist die Einhaltung der maximalen Ausführungszeit einer hochfrequenten Regelschleife. Die bisher praktizierte, rechnerische Bestimmung der Ausführungszeiten dieser Schleife zur Vermeidung von Überlastsituationen hat sich als unpraktikabel und fehleranfällig erwiesen. Durch eine zukünftige Weiterentwicklung des hier zum Einsatz kommenden Regelalgorithmus ist mit einer rechnerisch noch schwieriger zu bestimmenden maximalen Ausführungszeit, sowie einer hiervon stärker abweichenden mittleren Ausführungszeit zu rechnen. Das Versagen der Software aufgrund von sich ergebenden temporären oder andauernden Überlastsituationen kann zu Beschädigungen des Geräts führen. Aus dieser Situation heraus soll ein geeignetes Konzept für das Scheduling von Abläufen innerhalb der Steuerungssoftware erarbeitet werden.

12 2 Ein weiterer Aspekt dieser Arbeit liegt in der Auswahl eines geeigneten Kommunikationskonzepts. Es sind hierbei zwei Gesichtspunkte zu berücksichtigen. Dabei handelt es sich zum einen um Unzulänglichkeiten der bestehenden Lösung, die bei der Benutzung der existierenden Systems aufgetreten sind, und die die unzureichenden Möglichkeiten zur zeitlichen Synchronisierung von Startzeitpunkten von Aufgaben beider Teilsysteme des Steuerrechners betreffen. Zum anderen sollen Möglichkeiten untersucht werden, wie bei einer zukünftigen Erweiterung des Geräts für Mikromanipulationen die hierbei anfallenden, zeitkritischen Daten mit dem PC ausgetauscht werden können. 1.2 Kontext und verwandte Arbeiten Auf dem Gebiet des Designs von Echtzeitsystemen werden kontinuierlich Fortschritte erzielt. Ein Schwerpunkt liegt dabei auf der Nutzbarmachung von modernen, dynamischen Schedulingverfahren auf eine breite Palette von realen Anwendungen. Unter dem Aspekt einer möglichst effizienten Ausnutzung von Ressourcen ergibt sich dabei die Frage nach der Behandlung von temporären Überlastsituationen. Nachdem sich die Idee des dynamischen Eintauschens von Qualität von durchgeführten Berechnungen gegen die Einhaltung von damit verbundenen zeitlichen Anforderungen durchgesetzt hatte [Chung, Liu, Lin 1990], wurden verschiedene Konzepte zur Umsetzung dieser Idee unter der Berücksichtigung mehr oder weniger allgemeiner Aufgabenbereiche veröffentlicht. Das Grundprinzip ist hier die Aufspaltung eines Tasks in einen notwendigen und einen optionalen Teil, der das Ergebnis, wenn dafür Zeit bleibt, verfeinert. Ein anderer Ansatz ist das TaskPair-Scheduling, auf das noch detaillierter im zweiten Kapitel eingegangen wird. Ein anderer Ansatz basiert auf der Erkenntnis, dass in vielen Anwendungsfällen ein gewisses Verletzen von zeitlichen Anforderungen akzeptabel ist. Im Kontext von solchen Weakly-Hard Real-Time Tasks stellen [Wang et al. 2002] ein Modell auf, welches Zeitüberschreitungen mit einer bestimmten Häufigkeit erlaubt. Bei der Betrachtung von Soft Real-Time Tasks kombinieren [Stankovic et al. 2000] Methoden der Regelungstechnik mit einem dynamischen Scheduling-Algorithmus mit Akzeptanztest. [Nawab et al. 1997] haben festgestellt, dass das Auslassen der Verarbeitung einzelner Abtastwerte bei der digitalen Signalverarbeitung akzeptabel sein kann und sich eignet, um die Auslastung von Ressourcen zu steuern. Die vorliegende Arbeit steht insofern im Kontext dieser vorangegangenen Arbeiten, als das hier die dort gewonnenen Erkenntnisse um Möglichkeiten zur Verringerung der

13 3 Qualität einer realisierten Funktionalität angewandt werden auf den Anwendungsfall der Abstandsregelung eines Rasterkraftmikroskops. 1.3 Ergebnisse Um die angestrebte, leichtere Erweiterbarkeit bzw. Modifizierbarkeit der Software des Steuerrechners zu gewährleisten, wurden die von der Steuerungssoftware zu erfüllenden Aufgaben entsprechend ihrer zeitlichen Anforderungen untersucht. Darauf aufbauend konnte die bestehende unflexible Lösung in mehrere Tasks aufgeteilt werden. Um diese geeignet umsetzten zu können wurde aufgrund hohen Aufwands für eine Eigenentwicklung ein bereits verfügbares Echtzeitbetriebssystem ausgewählt. Dieses wurde an die Hardware angepasst und erweitert. Ein auftretender und mit hoher Frequenz auszuführender Regelungs-Task wurde hinsichtlich seiner zeitlichen Anforderungen genauer untersucht. Wegen seiner sehr kurzen Periodenlänge ergab sich hier das Problem eines hohen Overheads für das Dispatching dieses Tasks. Es wurde aus diesem Grund für ihn das Konzept eines besonderen Tasks, welcher höchste Priorität hat und zu welchem mit besonders wenig Overhead umgeschaltet werden kann, vorgestellt und angewandt. Das Konzept dieses Super-Tasks wurde in die Systemsoftware integriert. Um Überlastsituationen, die durch unbekannte Ausführungszeiten dieses Tasks entstehen können noch während der Entwicklungszeit zu erkennen und gleichzeitig ein Versagen des Gesamtsystems zu vermeiden, wurde eine Methode erarbeitet, die die Qualität der durch diesen Task ausgeführten Aufgabe dynamisch herabsetzt. Dies wird durch das Aussetzen von einzelnen Instanzen des Tasks erreicht. Es wurde für den Anwendungsfall nachgewiesen, dass ein Aussetzen von Instanzen in einem weiten Rahmen möglich ist, ohne die Forderung nach der Vermeidung von Beschädigungen der Hardware zu vernachlässigen. Ausgehend von dieser Erkenntnis wurde ein Algorithmus erarbeitet, der drohende Überlastsituationen erkennt und darauf aufbauend entscheidet, welche Instanzen ausgesetzt werden. Der vorgestellte Algorithmus arbeitet dabei mit einer kurzen, konstanten Laufzeit und eignet sich somit hervorragend für den vorliegenden Einsatzfall, bei dem nur wenige Ressourcen zur Verfügung stehen. Durch eine Implementierung des Verfahrens konnte dessen Anwendbarkeit auf den Anwendungsfall praktisch überprüft werden. 1.4 Gliederung Diese Arbeit ist in mehrere Kapitel gegliedert. Auf diese Einführung folgt im zweiten Kapitel eine Übersicht über den Themenbereich der Echtzeitsysteme, wobei auf zentrale

14 4 Begriffe dieses Bereichs eingegangen wird. Es wird dabei auch auf für diese Arbeit wichtige Konzepte verwandter Arbeiten eingegangen. Das dritte Kapitel schildert gerätetechnische Grundlagen. Dabei wird das Verfahren der Rasterkraftmikroskopie sowie wichtige Grundlagen für seine Umsetzung vorgestellt. Es wird auf Digitale Signalprozessoren eingegangen und deren Besonderheiten und Anwendungsgebiete geschildert. Es wird außerdem der konkrete Systemaufbau geschildert und auf alle wichtigen Eigenschaften der Hardware eingegangen. Im vierten Kapitel wird der Ist-Zustand der verwendeten Softwarelösung beschrieben. Es wird auf seine Vor- und Nachteile eingegangen. Weiterhin werden die Punkte, die eine Neukonzeption der Lösung notwendig gemacht haben dargestellt und davon ausgehend Zielsetzungen für diese Konzeption abgeleitet. Das fünfte Kapitel dient der Vorbereitung des Task- und Kommunikationskonzepts. Es werden die Einsatzszenarien des Geräts vorgestellt. Darauf aufbauend werden Aufgaben der Steuerungssoftware identifiziert und entsprechend ihres Auftretens in Funktionsgruppen unterteilt. Weiterhin werden sie hinsichtlich ihrer zeitlichen Anforderungen untersucht. Im sechsten Kapitel werden ausgehend von der existierenden Softwarelösung Ziele der Neukonzeption formuliert. Nachdem Lösungsansätze diskutiert wurden, wird auf den geplanten Einsatz des Echtzeitbetriebssystems MicroC/OS-II in einer erweiterten Variante eingegangen. Es wird das Supertask-Konzept vorgestellt und um ein dynamisches Scheduling-Verfahren mit Akzeptanztest erweitert. Es wird außerdem ein Konzept für die Kommunikation vorgestellt. Im siebenten Kapitel werden für eine Implementierung notwendige Fragen diskutiert. Es wird sich darauf konzentriert die Einsatzfähigkeit des erweiterten Supertask- Konzepts mit Hilfe einer geeigneten Implementierung an dem vorliegenden Rasterkraftmikroskop zu überprüfen. Dafür wurde eine Implementierung ausgewählter wichtiger Teile der Steuerungssoftware vorgenommen. Eine Darstellung der Ergebnisse der Arbeit im achten, sowie eine allgemeine Zusammenfassung im neunten Kapitel schließen die Arbeit ab.

15 5 2 Grundlagen und verwandte Arbeiten In diesem Kapitel soll auf relevante Grundlagen von Echtzeitsystemen und Scheduling- Konzepten eingegangen werden. Wichtige Konzepte aus verwandten Arbeiten, welche bereits in der Einführung angesprochen worden sind, werden hier detaillierter dargestellt. Die folgenden Betrachtungen sind notwendig, um spezifische Sachverhalte darzustellen, die speziell für die Problemlösung im Rahmen dieser Arbeit von Bedeutung sind. Es wird dabei auf computergestützte Echtzeitsysteme eingegangen. Dabei wird zum einen der Begriff "Echtzeitsystem" erläutert, indem anhand eines einfachen Modells auf Charakteristika und Anwendungsgebiete eines solchen Systems eingegangen wird. Zum anderen erfolgt eine nähere Diskussion der in Echtzeitsystemen anzutreffenden Systemsoftware und von verwendeten Schedulingverfahren. Es steht dabei nicht im Vordergrund allgemeine Grundlagen zu erörtern, sondern es wird auf relevante Arbeiten in dem Bereich eingegangen. Das Hauptaugenmerk liegt hierbei weniger auf spezifischen Implementierungen als vielmehr auf den zugrunde liegenden Konzepten. 2.1 Aufbau und Eigenschaften von Echtzeitsystemen Das wesentliche Merkmal, durch das sich ein Echtzeitsystem auszeichnet, ist das Vorhandensein von Zeitbedingungen. Das heißt es verhält sich nur dann korrekt, wenn sich das System einerseits funktional richtig verhält, andererseits diese Funktionen aber auch innerhalb eines vorgegebenen Zeitrahmens ausgeführt werden. In DIN wird über dieses Merkmal mithilfe des Begriffs des "Echtzeitbetriebs" folgendermaßen definiert: "Echtzeitbetrieb ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen." Die Vorgabe von Zeitbedingungen ergibt sich aus dem typischen Anwendungsszenario von Echtzeitsystemen: Ein solches System ist oft ein Gerät, dass auf die physische Welt reagieren muss, indem es in sie eingreift [Ward, Mellor 1993, S. 14]. Das System muss sich dabei entsprechend an den zeitlichen Anforderungen der physischen Welt orientieren. Aus dem Einhalten von Zeitbedingungen leitet sich die Vorhersagbarkeit des Systemverhaltens ab. Der schematische Aufbau eines typischen Echtzeitsystems ist in Abbildung 2.1 dargestellt.

16 6 vgl.: [Zöbel, Albrecht 1995, S. 4] Abb. 2.1: Grundmodell eines Echtzeitsystems Man kann hier deutlich die Trennung zwischen dem Technischen System, welches Teil der physischen Welt ist und dem Rechensystem, das auf das Technische System reagiert, erkennen. Die Kopplung zwischen beiden erfolgt mittels Mess- und Stellsystem. Im weiteren Verlauf der Arbeit wird mit dem Begriff "Echtzeitsystem" oder englisch "Real-Time System" (RTS) v. a. auf das Rechensystem Bezug genommen. Durch ihre Eigenschaft, zeitliche Bedingungen mit zu berücksichtigen, sind Echtzeitsysteme in vielen Anwendungsgebieten zu finden. Z. B. für Steuer- oder Überwachungsaufgaben, in Telefonnetzen oder aber auch für Multimediageräte sind Echtzeitsysteme notwendig oder zumindest sinnvoll. 2.2 Task und Taskplanung Der Task-Begriff Der Task, ist ein zentraler Begriff bei der Betrachtung von Echtzeitsystemen. Dabei ist der Begriff Task recht allgemein gefasst und beschreibt allgemein eine zu erledigende Aufgabe. Unter einem Task soll im Folgenden ein Rechenprozess verstanden werden. Dieser besteht aus einer begrenzten Anzahl von Anweisung und kann auf dem entsprechenden Rechensystem innerhalb eines bestimmten Zeitrahmens ausgeführt werden. In einem RTS erfüllt ein solcher Task eine bestimmte Aufgabe und kann in vielen Fällen in Verbindung mit einem Technischen Prozess gesehen werden 1. In diesem Zusammenhang der Technischen Prozesses über eine Schnittstelle wie z. B. ein Mess- und Stellsystem mit dem Rechenprozess in Verbindung. Dieser kann über diese Schnittstelle wiederum Einfluss auf den Technischen Prozess nehmen. 1 siehe Abbildung 2.2

17 7 Technischer Prozess Schnittstelle Rechenprozess Quelle: [Zöbel, Albrecht 1995, S. 7] Abb. 2.2: Prozesse in einem RTS Tasks können gut nach ihrem wichtigsten Merkmal, ihrem zeitlichen Verhalten, charakterisiert werden. Eine wichtige Eigenschaft ist zum einen ihr Startzeitpunkt. Sie können in regelmäßigen Abständen starten (periodisch) oder in unregelmäßigen Abständen (aperiodisch), z. B. ausgelöst durch ein externes Ereignis. Eine Unterscheidung ist ebenfalls möglich nach Verdrängbarkeit. Tasks können während ihre Ausführung unterbrochen werden (preemptiv) damit andere Tasks ausgeführt werden können oder ohne Unterbrechung bis zu ihrer Beendigung laufen (non-preemptiv). Einer konkreten Task-Instanz T i sind neben ihrem Startzeitpunkt weitere Zeitbedingungen wie die Bereitzeit (engl. release time), der frühste Zeitpunkt an dem der Task ausgeführt werden kann, sowie die Frist 2 (deadline), bis zu der er abgeschlossen sein muss zuzuordnen. Die Menge aller Task-Instanzen T i heißt T. Spätestens nach der Ausführung von T i sind weiterhin seine konkrete Startzeit (starting time), Endzeit (completion time) sowie die Ausführungszeit (execution time) bekannt. Die Ausführungszeit ist selbst wenn keine Unterbrechungen stattfinden nicht konstant, sondern hängt z. B. von den vorliegenden Eingabedaten ab. Sie kann ebenfalls, je nach Systemarchitektur, auch vom Zustand des Gesamtsystems wie z. B. dem Cacheinhalt oder anstehenden DMA-Transfers abhängen. Hieraus ergibt sich die Notwendigkeit zur weiteren Charakterisierung eines Tasks mit Hilfe seiner durchschnittlichen, minimalen und maximalen Ausführungszeit. In Tabelle 2.1 sind die verschiedenen Zeiten, mit denen ein Task üblicherweise charakterisiert wird aufgeführt [Zöbel 1995, S. 22 ff], [Li 1999, S 6 ff]. 2 steht hier für einen festen Zeitpunkt, nicht einen Zeitraum

18 8 Tab. 2.1: Zeitliche Parameter von Tasks Parameter r i Release Time d i Deadline s i Starting Time c i Completion Time e i Execution Time p i Period ETMINi Best Case Execution Time (BCET) ETAVGi Average Execution Time ETMAXi Worst Case Execution Time (WCET) Beschreibung frühster Zeitpunkt an dem mit der Ausführung von Task T i begonnen werden kann Zeitpunkt an dem T i spätestens beendet sein muss Zeitpunkt des Starts der Ausführung von T i Zeitpunkt des Beendens der Ausführung von T i Dauer der Ausführung von T i Zeit nach der sich die release time eines periodischen Tasks wiederholt minimal nötige Zeit zur Ausführung eines bestimmten Tasks T i durchschnittlich erwartete Ausführungszeit dieses Tasks maximal erwartete Zeit für die Ausführung dieses Tasks Bestimmung von Ausführungszeiten Um einen Plan zur Ausführung der zu verarbeitenden Tasks so zu gestallten, dass die Zeitbedingungen der Tasks berücksichtigt werden können, sind Informationen über die Ausführungszeiten der Tasks wichtig. Der WCET kommt dabei besondere Bedeutung zu, da sie, um die Einhaltung einer Deadline auch in den ungünstigsten Fällen und unter der Bedingung der vollständigen Ausführung eines Tasks zu gewährleisten, als Planungsgrundlage herangezogen werden muss. Für die Bestimmung der Ausführungszeit eines Tasks gibt es verschiedene Ansätze. Eine Methode hierfür ist die Analyse des Programmcodes noch vor der Ausführung. Aufgrund eines (vereinfachten) Modells des Rechensystems kann die Ausführungszeit jeder einzelnen Instruktion in ihrem jeweiligen Kontext ermittelt werden. Die Summe dieser Zeiten plus der Zeiten für alle, während der Ausführung möglicherweise auftretenden Unterbrechungen ergibt die Ausführungszeit des Tasks. Dieses Verfahren stößt jedoch recht schnell an seine Grenzen, insbesondere wenn komplexe Programme analysiert werden müssen. Der Grund dafür ist, dass bereits in einfachen Befehlssequenzen verschiedene Programmpfade möglich werden, sobald auch nur einfache, bedingte Sprünge enthalten sind. Oft kommt es auch zu Abhängigkeiten von den Eingabedaten, z. B. innerhalb von Schleifen. Die Verarbeitung von komplexen

19 9 Datenstrukturen kann schnell zu einer sehr großen Anzahl von verschiedenen Ausführungspfaden und damit auch von möglichen Ausführungszeiten führen. Die Simulation aller möglichen Pfade, um die WCET zu bestimmen ist bei komplexen Programmen nicht mehr praktikabel. Bei der Berücksichtigung von Hardwarefunktionen wie z. B. Cache, die die mittlere Ausführungszeit verkürzen helfen sollen, ergibt sich eine noch größere Vielfalt an möglichen Ausführungszeiten. Eine Lösung für dieses Problem ist die Einführung von Restriktionen hinsichtlich der Komplexität des Programms schon bei der Programmierung. Ein anderer Ansatz verfolgt die Auswahl von Programmpfaden, für die es wahrscheinlich ist, dass sie zur WCET bzw. BCET führen [Li, Malik 1999, S. 29 ff]. Der Nachteil hierbei ist, dass diese Zeiten dann nur noch näherungsweise bestimmt werden können. Ein anderer Ansatz zur Bestimmung der Ausführungszeit eines Tasks ist die Überwachung seines zeitlichen Verhaltens während der Laufzeit [Gergeleit et al. 1999]. Bei diesem Ansatz steht dem Scheduler eine Monitoring-Komponente zu Seite. Diese führt Statistiken, welche die Ausführungszeiten der Tasks charakterisieren. Aus der Verteilung der Ausführungszeiten kann diejenige Zeit ermittelt werden, bis zu der eine Tasks-Instanz mit einer bestimmten Wahrscheinlichkeit ihre Ausführung beenden haben wird. Diese so genannte Expected Case Execution Time (ECET) kann nun zur Planung herangezogen werden. Der Nachteil, dass die WCET damit nicht ermittelt werden kann wird durch die Verbindung mit TaskPair-Scheduling 3 aufgehoben. Die Realisierung der Überwachung des zeitlichen Verhaltens von Tasks zur Laufzeit kann z. B. durch eine in regelmäßigen Zeitintervallen erfolgende Aufzeichnung des Systemzustands (Sampling) geschehen [Gergeleit 2001, S. 16 ff]. Alternativ ist außerdem ein ereignisbasierter Ansatz denkbar. Hierzu muss der Programmablauf mit Hilfe so genannter Sensoren so erweitert werden, dass an bestimmten Stellen Informationen erfasst und der Monitoring-Komponente zur Verfügung gestellt werden. Ein solches Erweitern wird als Instrumentation bezeichnet. Konkret wird an diesen Stellen zusätzlicher Code eingefügt, der dann Ereignisse auslöst, die, mit den Zeitpunkten ihres Auftretens versehen, ein Bild von den im System stattfindenden Abläufen liefern. Stellen, an denen Ereignisse z. B. ausgelöst werden können, sind Start- und Endpunkte von Tasks. Die Instrumentation kann auf verschiedenen Softwareebenen stattfinden [Gergeleit 2001, S. 18 ff]. Im Wesentlichen handelt es sich hierbei um die Ebene der Systemsoftware und die der Anwendungssoftware. Beide Lösungen haben jeweils eigene Vorteile. Falls Ereignisse nur innerhalb der Systemsoftware ausgelöst werden, 3 siehe Abschnitt

20 10 muss die Anwendungssoftware nicht erweitert werden, was während der Entwicklung ein Vorteil sein kann. Die Instrumentation auf der Ebene der Anwendungssoftware bietet dafür das Potential für eine detailliertere Überwachung. Um dabei den Nachteil des manuellen Einfügens von Überwachungsroutinen zu relativieren ist beispielsweise der Einsatz einer Spracherweiterung in Verbindung mit einem speziellen Präprozessor praktikabel [Gergeleit et al. 1999] Scheduling Beim Scheduling handelt es sich um die zeitliche Planung von Ressourcenzuweisungen an Tasks. Die zentrale Ressource ist hierbei der Hauptprozessor. Wie bei herkömmlichen Multitasking Systemen, so werden auch bei einem RTS die auszuführenden Tasks von einem oder mehreren Prozessoren abgearbeitet. Da für den Gegenstand dieser Arbeit nur die Betrachtung von Einprozessorsystemen eine Rolle spielt, beschränken sich die folgenden Ausführungen auch auf dieses Szenario. Besonders die für Tasks innerhalb eines RTS zu berücksichtigenden Zeitbedingungen erfordern bei der Verteilung der Prozessorzeit einen entsprechend gestalteten Plan. Der Sinn des Plans ist es, Werte für Starting und Completion Time jedes Tasks aus der Menge der auszuführenden Tasks sowie ggf. Unterbrechungsintervalle zu liefern. Als Grundlage der Planung kommen Release Time bzw. Periode der einzelnen Tasks sowie deren jeweilige Ausführungszeit 4 und Deadline in Frage. Die Erstellung eines solchen Plans ist der Gegenstand des RT-Schedulings (Real-Time-Scheduling). Es sind bei der Echtzeitplanung eine Reihe von verschieden Vorgehensweisen möglich. Hierbei sind statische und dynamische Scheduling-Verfahren zu unterscheiden. Bei statischen Verfahren kann die Planung offline, also vor der Programmausführung erfolgen. Es müssen hierfür in der Regel alle für die Planung wichtigen Parameter der einzelnen Tasks, insbesondere Bereitzeit oder Periode sowie WCET bekannt sein. Auf dieser Basis kann bereits im Vorfeld entschieden werden, ob sich überhaupt ein Plan ableiten lässt, der alle Zeitbedingungen erfüllt, und wenn ja, wie dieser aussieht. In dem Fall, dass zur Planung notwendige Daten, wie z. B. die Release Time, erst zur Laufzeit zur Verfügung stehen, kann die Planung auch erst zur Laufzeit durchgeführt werden. Es ist dann allerdings zur Entwicklungszeit nicht mehr garantierbar, dass später auch immer alle Task-Instanzen ausgeführt werden können, ohne ihre Zeitbedingungen zu verletzen. Eine dynamische Planung bietet dafür den Vorteil, während der Laufzeit Informationen über die Ausführungszeiten der Tasks gewinnen zu können und diese 4 hier normalerweise die WCETs

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

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

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

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

Verteilte Echtzeit-Systeme

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

Mehr

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

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

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

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

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

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

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg Institut für Simulation und Graphik Lisa-Weiterbildung -

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

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

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit Dipl.-Inf. J. Richling Wintersemester 2003/2004 Weiche Echtzeit Wiederholung - Resultat/Wert-Funktion "harte" Echtzeit Wert Zeit Wert Zeit Wert Deadline Zeit "weiche" Echtzeit Wert Deadline Zeit Deadline

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

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006 Erweiterungen und deren Anwendung 2. Februar 2006 1 Einleitung Anwendungsgebiete 2 Linux als Echtzeitbetriebssystem Eignung von Linux 3 Erweiterungen für Linux RT-Linux RTAI- Real-Time Application Interface

Mehr

Redwood Cronacle und REALTECH theguard! Integration

Redwood Cronacle und REALTECH theguard! Integration Redwood Cronacle und REALTECH theguard! Integration Einleitung Redwood Software und REALTECH haben gemeinsam eine Lösung entwickelt, die die Systemverfügbarkeit von SAP und mysap Systemen signifikant erhöht.

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

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

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

Mehr

Einführung in die Echtzeitbetriebssysteme

Einführung in die Echtzeitbetriebssysteme Einführung in die Echtzeitbetriebssysteme Hauptseminararbeit in dem Studiengang B.Sc. Informatik von Maximilian von Piechowski Technische Hochschule Mittelhessen Inhaltsverzeichnis 1 Was versteht man unter

Mehr

Echtzeitscheduling (1)

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

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

WCET-Analyseverfahren in der automobilen Softwareentwicklung

WCET-Analyseverfahren in der automobilen Softwareentwicklung WCET-Analyseverfahren in der automobilen Softwareentwicklung Martin Däumler 1 Robert Baumgartl 2 Matthias Werner 1 1 Technische Universität Chemnitz 2 HTW Dresden 28. November 2008 M. Däumler et al (TUC,

Mehr

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar "Eingebettete drahtlose Systeme"

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar Eingebettete drahtlose Systeme Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de Embedded Linux 30.01.2009 Daniel Buchheim Inhalt: Was ist Embedded Linux? Hardwareunterstützung in Eingebetteten Systemen Open Source Aspekte Aufbau

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

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Inhatsverzeichnis. 1.Einleitung. Lehrgang: NMM Informatik: Der Computer. Lehrer: Spahr Marcel. Name: E L E M E N T E D E S C O M P U T E R S Datum:

Inhatsverzeichnis. 1.Einleitung. Lehrgang: NMM Informatik: Der Computer. Lehrer: Spahr Marcel. Name: E L E M E N T E D E S C O M P U T E R S Datum: Lehrer: Spahr Marcel SCHULE LAUPEN Lehrgang: NMM Informatik: Der Computer Name: E L E M E N T E D E S C O M P U T E R S Datum: In diesem Kapitel erfährst du die Bedeutung der Begriffe Hardware" und Software"

Mehr

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Stefan Walter swalter@dspace.de Lehrstuhl für Informationstechnik, insb. Realzeitsysteme FernUniversität in Hagen Fachtagung Echtzeit

Mehr

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

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

Mehr

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

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

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

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

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

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

Mehr

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

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 350

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 350 DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN Nr. 350 Ein konzeptioneller Business-Intelligence-Ansatz zur Gestaltung von Geschäftsprozessen

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

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

*DE102007042999A120090312*

*DE102007042999A120090312* *DE102007042999A120090312* (19) Bundesrepublik Deutschland Deutsches Patent- und Markenamt (10) DE 10 2007 042 999 A1 2009.03.12 (12) Offenlegungsschrift (21) Aktenzeichen: 10 2007 042 999.3 (22) Anmeldetag:

Mehr

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems Virtualisierung im Echtzeitbereich Andreas Hollmann FH Landshut EADS Military Air Systems 2 Überblick Hintergrund und Motivation Vorstellung von Lösungsansätzen Auswahl und Evaluierung Einschränkungen

Mehr

Java Real-Time Specification

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

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Seminar. PG AutoLab. Verteilte Echtzeitsysteme. Sabrina Hecke. PG 522 Fachbereich Informatik Technische Universität Dortmund Lehrstuhl XII

Seminar. PG AutoLab. Verteilte Echtzeitsysteme. Sabrina Hecke. PG 522 Fachbereich Informatik Technische Universität Dortmund Lehrstuhl XII PG AutoLab Seminar Verteilte Echtzeitsysteme Sabrina Hecke PG 522 Fachbereich Informatik Technische Universität Dortmund Lehrstuhl XII 21. bis 23. Oktober 2007 Inhaltsverzeichnis 1 Was sind Echtzeitsysteme?

Mehr

User Level Device Driver am Beispiel von TCP

User Level Device Driver am Beispiel von TCP September 17, 2004 Einleitung Motivation für Userlevel Device Driver Probleme von Userlevel Device Driver Motivation für Userlevel Device Driver Modularität, leichterer Austausch/Erneuerung von Komponenten.

Mehr

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Ottostr. 15 96047 Bamberg Tel. +49/951/98046200 Fax +49/951/98046150 email: info@softcondev.de www: softcondev.de INHALT Vorwort Diese

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

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

VORSTELLUNG DER DIPLOMARBEIT

VORSTELLUNG DER DIPLOMARBEIT 1 VORSTELLUNG DER DIPLOMARBEIT Thomas Werner Inhaltsverzeichnis 2 Thema Aufgabenstellung Anwendungsdebugging Threads Remote Debugging Implementierung Ausblick Quellen 3 Thema Untersuchung von Funktionsabläufen

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

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

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

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Verfahren zur Bestimmung der WCET Andreas Kaiser Friedrich-Alexander University Erlangen-Nuremberg Übersicht Wieso WCET Berechnung? Methoden zur Bestimmung der

Mehr

(Titel des Berichts)

(Titel des Berichts) (Titel des Berichts) Praxissemesterbericht von (Vorname Name) aus (Geburtsort) Matrikelnummer Anschrift Telefon HTW Aalen Hochschule für Technik und Wirtschaft Betreuender Professor Abgabetermin Angaben

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

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

Seminararbeit Embedded Systems - Discovery Mechanismus für sdds. Kevin Sapper

Seminararbeit Embedded Systems - Discovery Mechanismus für sdds. Kevin Sapper Seminararbeit Embedded Systems - Discovery Mechanismus für sdds Kevin Sapper Seminararbeit Embedded Systems - Discovery Mechanismus für sdds Kevin Sapper Table of Contents... v 1. Einführung... 1 2. Grundlagen...

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

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN Einleitung Zunehmender Einsatz von Kurzstreckenfunk in Form drahtloser Datenkommunikation im Bereich IEEE Standard 802.15.4 - Zigbee

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

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

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

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

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

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

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

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

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems.

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems. Das zeitliche Verhalten von Echtzeitsoftware zu analysieren und sicher zu stellen, dass die Anforderungen an das Echtzeitverhalten erfüllt werden kann sehr aufwendig und teuer sein. In diesem Artikel sollen

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

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

Software Echtzeitverhalten in den Griff Bekommen

Software Echtzeitverhalten in den Griff Bekommen Software Echtzeitverhalten in den Griff Bekommen B.Sc.Markus Barenhoff [www.embedded-tools.de] Dr. Nicholas Merriam [www.rapitasystems.com] Übersicht Reaktionszeit Nettolaufzeit Optimierung Worst-Case

Mehr

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

Mehr

Zeit- und ereignisgesteuerte Echtzeitsysteme

Zeit- und ereignisgesteuerte Echtzeitsysteme Zeit- und ereignisgesteuerte Echtzeitsysteme Stephan Braun Stephan.Braun.Hagen@t-online.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Echtzeitsystemmodell Einführung Ereignis- und zeitgesteuerte

Mehr

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Sperrvermerk Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Bachelorarbeit Zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

JOB MANAGEMENT MIT DEM SAP SOLUTION MANAGER. Whitepaper

JOB MANAGEMENT MIT DEM SAP SOLUTION MANAGER. Whitepaper JOB MANAGEMENT MIT DEM SAP SOLUTION MANAGER. Whitepaper Wussten Sie, dass lediglich der kleinere Teil der Datenverarbeitung in Ihrem System von End-Anwendern generiert wird? Der größere Teil der Informationen

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

Modellbasierter Entwurf sicherheitskritischer Anwendungen. Von Moritz Borgmann Für VL Eingebettete Systeme Sommer Semester 2009

Modellbasierter Entwurf sicherheitskritischer Anwendungen. Von Moritz Borgmann Für VL Eingebettete Systeme Sommer Semester 2009 Modellbasierter Entwurf sicherheitskritischer Anwendungen Von Moritz Borgmann Für VL Eingebettete Systeme Sommer Semester 2009 Einführung Einführung Modellbasierter Entwurf und der IEC 61508 Ausblick Zusammenfassung,

Mehr

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr