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

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

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

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

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

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

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

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

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

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

*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

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

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

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

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

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

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

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

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

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

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

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

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

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

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

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

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

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

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

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

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

Embedded Software Engeneering mit dem Raspberry Pi

Embedded Software Engeneering mit dem Raspberry Pi Embedded Software Engeneering mit dem Raspberry Pi Übersicht Rasperry Pi Betriebssystem Hardware ARM Μ-Controller vs. Μ-Prozessor vs. SoC Embedded Software Engineering vs. Software Engineering Fazit Raspberry

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

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

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

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

Limit betrieben wird. Als Systemsoftware wird wenn überhaupt ein schlankes, vielfach selbst entwickeltes Realzeitbetriebssystem

Limit betrieben wird. Als Systemsoftware wird wenn überhaupt ein schlankes, vielfach selbst entwickeltes Realzeitbetriebssystem 1 1 Einleitung Systeme, die neben den ohnehin vorhandenen funktionalen Anforderungen zusätzlich noch zeitlichen Anforderungen typischerweise im Sekundenbereich und darunter genügen müssen, werden als Realzeitsysteme

Mehr

5) Realzeitscheduling

5) Realzeitscheduling Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung

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

Quantitative Methoden. Betriebssysteme

Quantitative Methoden. Betriebssysteme Quantitative Methoden Betriebssysteme Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend auf deterministischen Modellen

Mehr

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

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

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

Atomic Basic Blocks Eine kontrollflussunabhängige Zwischendarstellung für Echtzeitsysteme

Atomic Basic Blocks Eine kontrollflussunabhängige Zwischendarstellung für Echtzeitsysteme Atomic Basic Blocks Eine kontrollflussunabhängige Zwischendarstellung für Echtzeitsysteme Fabian Scheler Martin Mitzlaff Wolfgang Schröder-Preikschat Informatik 4 Verteilte Systeme und Betriebssysteme

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

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

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

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

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

Universität Koblenz-Landau. Fachbereich 4: Informatik. Prof. Dr. Dieter Zöbel. Seminararbeit OSEK/VDX. Seminar Echtzeitsysteme.

Universität Koblenz-Landau. Fachbereich 4: Informatik. Prof. Dr. Dieter Zöbel. Seminararbeit OSEK/VDX. Seminar Echtzeitsysteme. Universität Koblenz-Landau Fachbereich 4: Informatik Prof. Dr. Dieter Zöbel Seminararbeit Seminar Echtzeitsysteme Thema 4 Wintersemester 1999/2000 Von Thorsten Schaub (thorsten@schaub-home.de) 17.12.1999

Mehr

Für die Software-Entwicklung von

Für die Software-Entwicklung von Betriebssysteme Embedded Design Für die Software-Entwicklung von Embedded- und Echtzeit-Systemen stehen unterschiedliche Arten von Task-Schedulern zur Auswahl. Sie reichen von einfacher, periodischer Ausführung

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

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

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

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

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

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

Reflex The Real-Time Event Flow EXecutive

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

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

Mehr

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Leistungs- und Geschwindigkeitssteigerung von LabVIEW-Projekten Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Agenda 1. Einführung 2. Hilfreiche Werkzeuge zur Codeanalyse 3. Benchmarks für LabVIEW-VIs

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

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

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

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

2 Grundlagen der Rasterkraftmikroskopie

2 Grundlagen der Rasterkraftmikroskopie 7 1 Einleitung Mit der Entwicklung des Rastertunnelmikroskops im Jahr 1982 durch Binnig und Rohrer [1], die 1986 mit dem Physik-Nobelpreis ausgezeichnet wurde, wurde eine neue Klasse von Mikroskopen zur

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

Echtzeitverhalten. Einleitung. Was bedeutet Echtzeit? Beispiele. Andere Faktoren. Echtzeitsystem und Echtzeitkomponenten

Echtzeitverhalten. Einleitung. Was bedeutet Echtzeit? Beispiele. Andere Faktoren. Echtzeitsystem und Echtzeitkomponenten Echtzeitverhalten Einleitung Was bedeutet Echtzeit? Die Interaktion mit der Außenwelt stellt in einem System den Zeitbezug her. Normalerweise will man ein korrektes Ergebnis so schnell wie möglich bekommen.

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

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Studienvertiefungsrichtung Informationstechnik

Studienvertiefungsrichtung Informationstechnik Studienvertiefungsrichtung Informationstechnik Prof.Dr.-Ing. Ulrich Sauvagerd Lehrgebiet Informationstechnik Nov. 2006, Seite 1 www.etech.haw-hamburg.de/~sauvagerd Lehrgebiet Informationstechnik Nov. 2006,

Mehr

OSEK / COM. Inhaltsverzeichnis. Abbildungsverzeichnis. Florian Hohnsbehn. PG AutoLab Seminarwochenende 21.-23. Oktober 2007

OSEK / COM. Inhaltsverzeichnis. Abbildungsverzeichnis. Florian Hohnsbehn. PG AutoLab Seminarwochenende 21.-23. Oktober 2007 OSEK / COM Florian Hohnsbehn PG AutoLab Seminarwochenende 21.-23. Oktober 2007 Inhaltsverzeichnis Abbildungsverzeichnis 1 1 Einführung 1.1 Was ist OSEK COM? OSEK COM ist eine vom OSEK-VDX-Konsortium entwickelte

Mehr

Produktqualität. Embedded Software. Prof. Dr. Nikolaus Wulff

Produktqualität. Embedded Software. Prof. Dr. Nikolaus Wulff Produktqualität Nichtfunktionale Anforderungen: Zuverlässigkeit, Funktionale Sicherheit, Echtzeitverhalten und Ressourcenverbrauch, Wart- und Erweiterbarkeit. Prof. Dr. Nikolaus Wulff Embedded Produkt

Mehr

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

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

Effizientes Änderungsmanagement in Outsourcing- Projekten

Effizientes Änderungsmanagement in Outsourcing- Projekten Effizientes Änderungsmanagement in Outsourcing- Projekten Dr. Henning Sternkicker Rational Software IBM Deutschland GmbH Sittarder Straße 31 52078 Aachen henning.sternkicker@de.ibm.com Abstract: Es werden

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

BICsuite!focus Parallelisierung von Prozessen mit der BICsuite Dynamic Submit Funktion

BICsuite!focus Parallelisierung von Prozessen mit der BICsuite Dynamic Submit Funktion independit Integrative Technologies GmbH Bergstraße 6 D 86529 Schrobenhausen BICsuite!focus Parallelisierung von Prozessen mit der BICsuite Dynamic Submit Funktion Dieter Stubler Ronald Jeninga July 30,

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Kapitel 2 Betriebssysteme. Für den Rechnerbetrieb notwendige Basissoftware

Kapitel 2 Betriebssysteme. Für den Rechnerbetrieb notwendige Basissoftware Für den Rechnerbetrieb notwendige Basissoftware 1 1. Einleitung 2. Prozessverwaltung 3. Dateiverwaltung 2 1. Einleitung Was ist ein Betriebssystem? Wikipedia: Ein Betriebssystem (engl. Operating System

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Echtzeitbetriebssysteme QNX 409 Geschichte: Einführung 1980 entwickeln Gordon Bell und Dan Dodge ein eigenes Echtzeitbetriebssystem mit Mikrokernel. QNX orientiert sich nicht an Desktopsystemen und breitet

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Echtzeit-Betriebssysteme und -Bussysteme

Echtzeit-Betriebssysteme und -Bussysteme Echtzeit-Betriebssysteme und -Bussysteme Seminar im Wintersemester 2006/07 Steffen H. Prochnow Reinhard von Hanxleden Echtzeitsysteme und Eingebettete Systeme Institut für Informatik und Praktische Mathematik

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

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision Zielsetzung: System Verwendung von Cloud-Systemen für das Hosting von online Spielen (IaaS) Reservieren/Buchen von Resources

Mehr

Installation in Novell NetWare 3 Netzwerken High Speed Connectivity for all Printers and Networks

Installation in Novell NetWare 3 Netzwerken High Speed Connectivity for all Printers and Networks Installation in Novell NetWare 3 Netzwerken High Speed Connectivity for all Printers and Networks High speed data transfer Built-in web server for system-independent management Models for all printers

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Ein System zur Evaluation der Netzwerkperformance in Online Computerspielen

Ein System zur Evaluation der Netzwerkperformance in Online Computerspielen Ein System zur Evaluation der Netzwerkperformance in Online Computerspielen Alexander Ploss, Prof. Sergei Gorlatch Arbeitsgruppe Parallele und Verteilte Systeme Projektseminar SS 09 Projektaufgabe (1/2)

Mehr

Agiles Testmanagment. Hugo Beerli bbv Software Services AG. Luzern, September 2011. www.bbv.ch

Agiles Testmanagment. Hugo Beerli bbv Software Services AG. Luzern, September 2011. www.bbv.ch Agiles Testmanagment Hugo Beerli bbv Software Services AG Luzern, September 2011 Product Backlog (Agenda) 1) Warum System Tests 2) Agile Arbeitsmethode Stand up Meeting 3) Vorteile der agilen Methode 4)

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

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

Informationssystemanalyse Personal Software Process 8 1

Informationssystemanalyse Personal Software Process 8 1 Informationssystemanalyse Personal Software Process 8 1 Personal Software Process Sehr eng mit dem CMM hängt der PSP (Personal Software Process) zusammen. Der PSP ergänzt das organisationsweite CMM um

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