Diplomarbeit. zur Erlangung des akademischen Grades. Diplom-Informatiker (FH) an der. Fachhochschule Konstanz. Fachbereich Informatik.

Größe: px
Ab Seite anzeigen:

Download "Diplomarbeit. zur Erlangung des akademischen Grades. Diplom-Informatiker (FH) an der. Fachhochschule Konstanz. Fachbereich Informatik."

Transkript

1 Diplomarbeit zur Erlangung des akademischen Grades Diplom-Informatiker (FH) an der Fachhochschule Konstanz Hochschule für Technik, Wirtschaft und Gestaltung Fachbereich Informatik Studiengang TI Thema: Analysetool für das Real-Time Operating System AMX Diplomand: Stefan Schnell Jägerstr Meßstetten 1. Prüfer: Prof. Dr. Michael Mächtel 2. Prüfer: Dipl.-Ing. (FH) Joachim Beck primion Technology AG Steinbeisstr Stetten a. k. M. Abgabedatum: 31. August 2006

2

3 Ehrenwörtliche Erklärung Hiermit erkläre ich, Stefan Schnell, geboren am in Rottweil, (1) dass ich meine Diplomarbeit mit dem Titel: Analysetool für das Real-Time Operating System AMX im Unternehmen primion Technology AG unter der Anleitung von Herrn Prof. Dr. Michael Mächtel und Herrn Dipl.-Ing. (FH) Joachim Beck selbständig und ohne fremde Hilfe angefertigt habe und keine anderen als die angeführten Hilfen benutzt habe; (2) dass ich die Übernahme wörtlicher Zitate, von Tabellen, Zeichnungen, Bildern und Programmen aus der Literatur oder anderen Quellen (Internet), sowie die Verwendung der Gedanken anderer Autoren an den entsprechenden Stellen innerhalb der Arbeit gekennzeichnet habe. Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird. Konstanz, den 31. August 2006 Stefan Schnell i

4 ii

5 Danksagung An dieser Stelle möchte ich mich bei allen Personen bedanken, die in irgendeiner Weise an dieser Arbeit mitgewirkt haben. Mein besonderer Dank gilt Herrn Prof. Dr. Michael Mächtel für die Betreuung meiner Diplomarbeit und für die hilfreichen Informationen und Vorschläge in der Planung und Realisierung dieser Arbeit. Mein weiterer besonderer Dank geht an Herrn Dipl. Ing. Joachim Beck für die zahlreichen, richtungsweisenden Anregungen und für die kritische und gründliche Durchsicht dieser Arbeit. Des Weiteren möchte ich mich bei den Mitarbeitern der Firma primion Technology AG für die stets bereitwillige Unterstützung und Hilfestellung bedanken. iii

6 iv

7 Zusammenfassung Thema: Diplomand: Firma: Analysetool für das Real-Time Operating System AMX Stefan Schnell Jägerstr Meßstetten primion Technology AG Steinbeisstr Stetten a. k. M. 1. Prüfer: Prof. Dr. Michael Mächtel 2. Prüfer: Dipl.-Ing. (FH) Joachim Beck Abgabedatum: 31. August 2006 Schlagworte: Die Entwicklung von Realzeitsystemen wird in der heutigen Zeit durch geeignete Softwarewerkzeuge weitreichend unterstützt. In der Fa. primion Technology AG wird für diesen Zweck das Real-Time Operating System AMX in Verbindung mit der Entwicklungsumgebung winidea eingesetzt. Die Aufgabe dieser Diplomarbeit besteht nun aus der Realisierung eines Analysetools für das RTOS AMX. Dieses Analysetool soll den Entwickler von Realzeitsystemen unterstützen und das Auffinden von Fehlern erleichtern. Dazu muss das Betriebssystem analysiert werden, um Möglichkeiten zu finden Systeminformationen aus dem laufenden Betrieb heraus dynamisch aufzuzeichnen. Diese automatisch gesammelten Informationen werden in geeigneten Datenstrukturen im Systemspeicher abgelegt. Da ein Realzeitsystem besonderen zeitlichen Vorschriften unterliegt, muss darauf geachtet werden, dass das eigentliche System nicht beeinträchtigt wird. Die gesicherten Informationen werden über eine von der Entwicklungsumgebung bereitgestellte Programmier-Schnittstelle aus dem Speicher abgeholt. Damit diese Informationen für den Benutzer in eine geeignete Darstellungsform gebracht werden können, müssen sie zuerst für eine Ausgabe umgewandelt werden. v

8 vi

9 Abstract Topic: Student: Company: Analysis Tool for the AMX Real-Time Operating System Stefan Schnell Jägerstr Meßstetten primion Technology AG Steinbeisstr Stetten a.k.m. 1 st Examiner: Prof. Dr. Michael Mächtel 2 nd Examiner: Dipl.-Ing. (FH) Joachim Beck Submission date: 31 st August 2006 Project details: Today, the development of real-time systems is supported to a large extent by specific software tools. For this purpose, primion Technology AG uses the Real-Time Operating System AMX together with the winidea development environment. The aim of this Final Year Project is to develop an analysis tool for the AMX RTOS. This analysis tool should support developers of real-time systems and facilitate the localisation of errors. For this purpose, the operating system has to be analysed in order to find ways to store system information dynamically, during live operation. This information, which is collected automatically, is stored in dedicated data structures in the system memory. As a real-time sytem must meet stringent timing criteria, special attention must be paid to ensuring that there is no negative impact on the performance of the system. The stored information is fetched from the memory using one of the programming interfaces made available by the development environment. The information has first to go through a conversion routine in order to get it into suitable format, for the user to be able to utilise it. vii

10 viii

11 Inhaltsverzeichnis 1 Einleitung Vorwort Motivation Eigenschaften eines Realzeitsystems Typische Hardware Eigenschaften des Entwicklungssystems Systemsicht Prozesssicht Besondere zeitliche Anforderungen Inbetriebnahme eines Mikrocontrollers bzw. Mikroprozessors Interrupt Interrupt Service Routine Exception Vector Table Timer - Der Zeitgeber Aufgaben eines Betriebssystems Die Schichtenarchitektur Das Real-Time Operating System AMX AMX Task Scheduling Kategorien von Echtzeit Scheduling-Algorithmen Prioritätenbasierendes Task Scheduling Time-Slicing Der nicht unterbrechbare Scheduling-Algorithmus Der unterbrechbare Scheduling-Algorithmus Benutzerdefinierte Tasks - Anwendungstasks AMX Interrupt Management AMX Timing Control Die AMX Kernel Task AMX Services Semaphor-Management Das Ressourcen Semaphor Das Zählsemaphor Event-Management Mailbox-Management Message Exchange Queues Speicherverwaltung ix

12 Inhaltsverzeichnis 6 Modellierung des Analysetools Anforderungen an das Tool Die Software-Architektur Die Informationssammlung Taskinformationen Mailboxinformationen Semaphorinformationen Eventinformationen Speicherinformationen Übersicht der Module Informationsdarstellung Modulimplementierung Modul Task Vorgehensweise / Überlegungen Lösung: Task Scheduling Hooks Probleme Modul Mailbox Vorgehensweise / Überlegungen Lösung: Modifikation der AMX RTOS Library Modul Semaphor Vorgehensweise / Überlegungen Lösung: Modifikation der AMX RTOS Library Modul Event Vorgehensweise / Überlegungen Lösung: Modifikation der AMX RTOS Library Modul Speicher Vorgehensweise / Überlegungen Lösung: Eingriffe in die bestehende Speicherverwaltung Anmerkungen Verändertes zeitliches Verhalten des Systems Die Informationsverarbeitung Die winidea Script Language ISL Die Benutzeroberfläche Das Analysetool Die Software Applikation Informationsausgabe Fazit 127 Abbildungsverzeichnis Tabellenverzeichnis Listingverzeichnis Abkürzungsverzeichnis Literaturverzeichnis A C E G I x

13 Kapitel 1 Einleitung 1.1 Vorwort Der Mikroprozessor zählt zu den wenigen Erfindungen, die das Leben der Menschheit entscheidend geprägt haben. Nachdem im Jahr 1971 der erste auf den Markt kam, ist ihre Entwicklung im Laufe der Jahre rasch vorangeschritten. Sie wurden immer billiger und kleiner und deshalb wesentlich interessanter für Produkte, die elektronisch gesteuert werden. In der heutigen Zeit sind Millionen von elektronischen Schaltelementen auf kleinstem Raum auf einem Chip zusammengefasst und erledigen mit unvorstellbarer Geschwindigkeit gewaltige Mengen an Arbeitsschritten (Operationen). Ebenso war es im Zuge der fortschreitenden Miniaturisierung möglich, neben dem Mikroprozessor auch zusätzliche Peripherie auf dem Chip zu implementieren. Es entstand ein funktionsfähiges System auf einem Chip, der Mikrocontroller. In Zusammenhang mit diesen mikroelektronischen Steuerungen spricht man auch von sogenannten Embedded Systems, da ein Mikroprozessor in das System eingebettet ist. Diese Rechensysteme sind in Produkten unsichtbar für den Menschen integriert und werden meistens nicht einmal bemerkt. Sie werden im alltäglichen Leben angetroffen und befinden sich beispielsweise in Waschmaschinen, Aufzügen, Digitaluhren und in jedem Auto. Etwa 98 Prozent aller programmierbaren Prozessoren werden in Embedded Systems verwendet. Dies zeigt die Wichtigkeit dieser Systeme in der heutigen Zeit. Ein großer Teil dieser Embedded Systems sind Echtzeitsysteme (Realzeitsysteme), die auf besondere zeitliche Einflüsse reagieren müssen. Um ein Realzeitsystem einsetzen zu können, benötigt es ein Betriebssystem, das für die Verwaltung aller Aufgaben zuständig ist. Dieses wird Real-Time Operating System (RTOS) genannt. Diese Art von Betriebssystem unterliegt besonderen zeitlichen Anforderungen, die bei der Entwicklung beachtet werden müssen. 1

14 Kapitel 1 Einleitung 1.2 Motivation In der Fa. primion Technology AG werden Realzeitsysteme eingesetzt, um Geräte für Zutrittskontrollen und für Zeiterfassungen zu produzieren. Das Ziel der im Rahmen dieser Diplomarbeit durchgeführten Analyse ist es, einem Systementwickler ein komplexes Analysetool zur Entwicklung eines Realzeitsystems in Verbindung mit der eingesetzten AMX Multitasking-Software zur Verfügung zu stellen. Da die in der Firma primion Technology AG verwendete Entwicklungsumgebung winidea kein fertiges Werkzeug zur Darstellung von Betriebssysteminformationen mitliefert, bestand schon länger der Wunsch nach einem Softwaretool, welches diese Aufgaben übernimmt. Das Tool soll in jedem Entwicklungssystem eingesetzt werden können, das in Verbindung mit der Entwicklungsumgebung winidea, dem Real- Time Operating System AMX und einem von winidea unterstützten Mikroprozessor steht. Das Analysetool soll jederzeit die Möglichkeit bieten, an gewünschte Statusinformationen zu gelangen. Diese Informationen sollen das Entwickeln eines Echtzeitsystems unterstützen. Des Weiteren soll es eine bessere und schnellere Fehlererkennung ermöglichen. Der Inhalt dieser Diplomarbeit ist so strukturiert, dass zu Beginn erst grundlegende Begriffe im Zusammenhang mit Realzeitsystemen erklärt werden. Des Weiteren wird beschrieben, wie das verwendete Entwicklungssystem (die Hardware - der Mikrocontroller) für einen Einsatz mit dem Real-Time Operating System AMX vorbereitet wird. Im Anschluss wird die Funktionalität dieses Betriebssystems analysiert. Mit diesen Informationen wird ein Modell für das Analysetool erstellt. Dieses soll die Grundlage für das zu erstellende Tool bilden. Bereits während meiner Studienzeit habe ich mich für das Arbeiten mit Betriebssystemen und vor allem für die Anwendung von Realzeitsystemen interessiert. Deshalb war diese Aufgabenstellung sehr reizvoll für mich. Die Planung und Realisierung eines Projekts vom Beginn bis zur Fertigstellung ist eine besondere Herausforderung für mich. 2

15 Kapitel 2 Eigenschaften eines Realzeitsystems Bis zur heutigen Zeit haben sich unterschiedliche Arten von Echtzeitsystemen entwickelt. Diese lassen sich vor allem durch ihre Hardware unterscheiden. Vorhandene Ausprägungen sind Speicherprogrammierbare Steuerungen (SPS-Steuerung), Realzeitapplikationen auf Standardarchitekturen aufgesetzt, Realzeitkommunikationssysteme und eingebettete Systeme mit besonderen zeitlichen Anforderungen. In dieser Diplomarbeit wird die Ausprägung als eingebettetes System behandelt, da diese Art von Realzeitsystem in der Firma primion Technology AG eingesetzt wird. Deshalb wird im weiteren Verlauf der Begriff Embedded System einem Realzeitsystem gleichgestellt. 2.1 Typische Hardware Zur Realisierung eines Realzeitsystems wird gewöhnlich ein Mikrocontroller (MCU) verwendet (vgl.[wiki]). Ein Mikrocontroller ist eine CPU mit Peripherie auf einem einzigen Chip bzw. in einem einzigen Schaltkreis integriert. Neben der Verarbeitungseinheit sind noch Interruptcontroller und Ansteuerbausteine für die Peripherie miteingebunden. Meist können Signalleitungen direkt an einem Portausgang bzw. Porteingang angeschlossen werden. Auf einer modernen MCU befinden sich häufig auch spezielle Peripherieblöcke, wie Taktgeneratoren, LCD-Controller, Touch Screen Controller, hochauflösende Analog-Digital-Wandler sowie USB-, Serielle- oder Ethernet Schnittstellen. Tatsache ist, dass nur die Komponenten verwendet werden, die auch wirklich benötigt werden, damit das zu erstellende Produkt so kostengünstig wie möglich produziert werden kann. Deshalb wird größtenteils auf Tastaturen, diverse Laufwerke, Lautsprecher und ähnliche Dinge verzichtet, die nicht gebraucht werden. Die wichtigsten Bestandteile eines Realzeitsystems sind der Microcontroller und der Speicher.Was für eine Art von MCU verwendet wird, hängt von den Anforderungen der jeweiligen Applikation ab. Eine MCU variiert in der Busbreite, der möglichen maximalen Größe des externen Speichers, der Anzahl von internen Peripheriegeräten (DMA channels, serial ports etc.) und der Arbeitsgeschwindigkeit (MIPS). Der Speicher hingegen wird für zwei Dinge benötigt: Zum einen, um Programmdaten 3

16 Kapitel 2 Eigenschaften eines Realzeitsystems des Systems zu speichern und zum anderen, um Anwendungsdaten zu sichern. Aufgrund der Tatsache, dass Realzeitsysteme meist keine Festplatte besitzen, von der sie ihre Programmdaten laden können, benötigen sie einen speziellen Speicher, der die Daten nicht abfließen lässt, wenn das Gerät ausgeschaltet ist. Deshalb wird für eine dauerhafte Speicherung von Software in elektronischen Geräten mit Mikrocontrollern, auch Firmware genannt, ein sogenannter Flash Speicher verwendet. Diese Art von Speicher ermöglicht eine persistente (nicht flüchtige) Sicherung von Daten, ist jedoch wegen seiner komplexen Ansteuerung für Anwendungsdaten nicht geeignet. Hier wird ein regulärer Speicher, wie zum Beispiel RAM verwendet (vgl.[sim99]). Abbildung 2.1: Vereinfachter Aufbau eines Mikrocontrollers (vgl.[lau99]) Eigenschaften des Entwicklungssystems Das zu erstellende Analysetool wird als eine sogenannte Host-Target Entwicklung realisiert. Dies hat den Grund, dass Software für ein zu erstellendes Realzeitsystem nicht auf dem Zielsystem selbst entwickelt werden kann. Daher wird ein Entwicklungsrechner, der Host, benötigt. Als Host-Rechner wird ein auf Microsoft Windows basierendes Rechensystem eingesetzt, da nur ein Windows-Betriebssystem zur Entwicklungssoftware kompatibel ist. Hier wird die Software winidea (windows Integrated Development Environment Advanced) der Fa. isystem AG verwendet. Das Zielsystem besteht aus einer MCU der Fa. Freescale Semiconductor. Es handelt sich hierbei um den Chipsatz MC68332 (CPU32) mit einer maximalen Taktfrequenz von 25 MHz und einem 24-bit Adressraum. Dieser Mikroprozessor ist auf einem Active POD gesteckt und steht über einen ic4000 Active Emulator, einen Power Emulator und einen Power Analyzer (ebenfalls alle von der FA. isystem AG) mit 4

17 2.2 Systemsicht dem Host-Rechner in Verbindung. Zur Speicherung von Programmdaten werden 1 MB Flash-Speicher verwendet und für die Sicherung von Anwendungsdaten 6 MB RAM. Aufgrund der Tatsache, dass das Zielsystem einen anderen Prozessor als der Host verwendet, muss ein so genannter Cross-Compiler eingesetzt werden. Dieser muss den Maschinencode für das Zielsystem erzeugen. Hierfür wird der Microtec C/C++ Compiler der Fa. Mentor Graphics verwendet. 2.2 Systemsicht Betrachtet man ein Echtzeitsystem genauer, so ist es nur ein Teil eines Gesamtsystems. Dieses Gesamtsystem wird in drei Untersysteme aufgeteilt (vgl.[mae05]) und ist auf Beispiel einer Zeiterfassung gestützt: Das Benutzersystem, in dem der Mensch als Teil des Systems betrachtet wird. Hier findet die Verarbeitung, Transformation und der Transport von Informationen aus der Sicht des Benutzers statt. Der User benutzt das System, um an die an das System gestellten Forderungen zu gelangen. Zum Beispiel bucht er seine Arbeitszeiten oder ruft Informationen über sein Urlaubskonto ab. Das interne System, eingebettet in die Umgebung (Embedded System), steuert das Gesamtsystem. Es nimmt die Eingaben des Benutzers entgegen und leitet die entsprechenden technischen Vorgänge ein, wie zum Beispiel einen Datenbankeintrag oder eine Datenbankabfrage. Das externe System beschreibt die natürliche oder technische Umwelt. Die Steuerung des internen Systems ist bestrebt, die vorgegebenen Bedingungen einzuhalten und somit einen korrekten Ablauf sicher zu stellen. Abbildung 2.2: Anwendungsfall-Diagramm: Zeiterfassungsterminal 5

18 Kapitel 2 Eigenschaften eines Realzeitsystems 2.3 Prozesssicht Betrachtet man das Gesamtsystem aus einer anderen Perspektive, nämlich aus der Prozesssicht, wird das System in drei Prozesse unterteilt (vgl.[lau99]). Zuerst zur Bedeutung des Begriffs Prozess: Ein Prozess ist im Allgemeinen ein Vorgang, ein Ablauf, ein Geschehen (vom lateinischen procedere = voranschreiten). Dieser Vorgang bewirkt eine Zustandsänderung von materiellen Dingen, Energien oder Informationen. Der technische Prozess ist ein Vorgang, durch den Materie, Energie oder Information in ihrem Zustand verändert wird. Diese Zustandsänderung kann beinhalten, dass ein Anfangszustand in einen Endzustand überführt wird. Es ist auch ein Prozess, bei dem physikalische Größen mit technischen Mitteln (Sensoren, Aktoren) beinflusst werden. Durch den Rechenprozess wird auf die Zustandsinformationen des technischen Prozesses reagiert. Die Aufgabe des Rechenprozesses ist die Umformung, Verarbeitung und der Transport der gewünschten Information. Es ist ein Programm, welches die Abfolge von Befehlen beschreibt. Ebenso ist es die Schnittstelle zwischen dem Benutzer (Eingaben) und den Mess- und Stellgliedern des technischen Prozesses. Anstelle des Begriffs Rechenprozess wird auch oft der Begriff Task verwendet. Unter Benutzerprozess versteht man die Verarbeitung, die Transformation und den Transport von Informationen aus der Sicht des Bedieners. Durch eine Mensch-Maschine-Schnittstelle (HMI, Human-Machine-Interface) kann der Benutzer Einfluss auf die Rechenprozesse und direkt auf die technischen Prozesse nehmen. 6

19 2.4 Besondere zeitliche Anforderungen Abbildung 2.3: Prozesssicht (vgl.[lau99]) 2.4 Besondere zeitliche Anforderungen Bei einem Realzeitsystem handelt es sich um ein System, das in der Lage sein muss, eine Aufgabe innerhalb eines spezifizierten Zeitfensters abzuarbeiten. Ein wichtiges Merkmal ist daher die Pünktlichkeit oder Rechtzeitigkeit. Dies hat zur Folge, dass nicht nur ein richtiges Ergebnis (Richtigkeit) geliefert werden muss, sondern dieses auch zum richtigen Zeitpunkt bereit gestellt werden muss. Damit ist ein System dieser Art insbesondere mit der Eigenschaft verbunden, dass es zeitlich deterministisch (zu jeder Zeit berechenbar, oder zumindest vorhersehbar und vorhersagbar) ist. Eine oftmals notwendige Eigenschaft, aber keinesfalls kennzeichnend, ist die Schnelligkeit eines Echtzeitsystems (vgl.[qua06]). 7

20 Kapitel 2 Eigenschaften eines Realzeitsystems Definition von Echtzeitbetrieb: Echtzeitbetrieb ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbei- tungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall, nach einer zufälligen zeitlichen Verteilung oder zu vorbestimmten Zeitpunkten auftreten [DIN 44300]. Abbildung 2.4: Unterschied einer Echtzeit-Datenverarbeitung (vgl.[saw05]) Realzeitsysteme werden praktisch in allen Bereichen eingesetzt. Prinzipiell verarbeiten sie Eingangswerte (z. B. Zustandsgrößen technischer Prozesse) und berechnen zeitgerecht die zugehörigen Ausgangsgrößen (Werte für Stellglieder). Die Ein- und Ausgangsgrößen werden dem Echtzeitsystem über Wandler (z. B. Aktoren und Sensoren eines technischen Prozesses) zugeführt (vgl.[qua06]). Steuert bzw. regelt das Echtzeitsystem einen technischen Prozess, ohne dass ein Benutzer direkt damit in Berührung kommt (eingebettete mikroelektronische Steuerung), spricht man von einem eingebetteten Realzeitsystem. In der Automobilbranche finden sich eingebettete Realzeitsysteme beispielsweise zur Steuerung des Motors (Motormanagement), zur Ansteuerung eines Anti-Blockier-Systems (ABS) oder zur Überwachung der Airbags (vgl.[qua06]). In vielen Fällen werden Realzeitsysteme in sicherheitskritischen Umfeldern (z. B. ABS) eingesetzt. Zur Anforderung nach Rechtzeitigkeit kommen deshalb auch die Forderungen nach Sicherheit (das System muss zwingend das richtige Ergebnis liefern) und Verfügbarkeit (das System darf unter keinen Umständen ausfallen) hinzu (vgl.[qua06]). Aus diesem Grund wird auch zwischen der sogenannten harten und weichen Echtzeit unterschieden (vgl.[pom04]). 8

21 2.4 Besondere zeitliche Anforderungen Harte Echtzeitsysteme In diesen Systemen gilt die strenge Einhaltung von Zeitschranken (deadlines), die unter gar keinen Umständen verletzt werden dürfen. Besipiele hierfür sind Regelungen in Flugzeugen, Kraftfahrzeugen und Kraftwerken. Hier führt eine Verletzung der Zeitschranken zu erheblichen Schäden. Weiche Echtzeitsysteme Die weitaus größere Anzahl von Systemen sind diejenigen, bei denen eine Verletzung der Echtzeitbedingungen hin und wieder toleriert wird. Beispiele hierfür sind Kaffeemaschinen oder Audio- und Video-Streaming. Ein kurzes Ruckeln kann hin und wieder verschmerzt werden, ohne dass dabei ein Menschenleben auf dem Spiel steht und höhere Kosten durch diese Verursachung entstehen. Abbildung 2.5: Realzeitsysteme und ihre Zeitanforderungen [TiMo97] Gemäß der obigen Definition sind also alle Systeme mit zeitlichen Anforderungen Echtzeitsysteme. Die Abbildung 2.5 spiegelt entsprechend den zeitlichen Forderungen sinnvolle Realisierungstechnologien wieder. Dabei wird erkennbar, dass Echtzeitsysteme sogar von Hand betrieben werden können, wenn nur sehr langsame Reaktionszeiten gefordert werden. Muss auf zeitliche Anforderungen im Minutenbereich reagiert werden, können auch mechanische Steuerelemente eingesetzt werden. Mit Standard-Betriebssystemen ist es bereits möglich, Realzeitanforderungen im Sekundenbereich zu bedienen. Sind zeitlich strengere Eigenschaften gefordert, muss ein Realzeitbetriebssystem eingesetzt werden, solange Anforderungen im Mikrosekunden-Bereich liegen. In diesem Zeitbereich lassen sich Probleme zwar noch mit Software lösen, entsprechende Reaktionen müssen aber innerhalb der sogenannten Interrupt Service Routine (ISR) erfolgen. Um noch stärkere Anforderungen zeitlicher Natur zu befriedigen, muss letztendlich eine Hardware-Realisierung gewählt werden (vgl.[qua06]). Zusammenfassend lauten die wichtigsten Eigenschaften der Echtzeitsysteme: Pünktlichkeit Rechtzeitigkeit Determinismus Sicherheit Verfügbarkeit 9

22 Kapitel 2 Eigenschaften eines Realzeitsystems 10

23 Kapitel 3 Inbetriebnahme eines Mikrocontrollers bzw. Mikroprozessors Vor der eigentlichen Realisierung des Analysetools für das Realzeitsystem AMX muss als erstes die Hardware für den Gebrauch als Realzeitsystem vorbereitet werden. Es muss sichergestellt werden, dass mit dem im System eingesetzten Mikroprozessor kommuniziert werden kann, um damit die Peripherie im System ansteuern zu können. Dies bedeutet, dass die Register des Mikroprozessors und der eingesetzte Speicher initialisert werden müssen. Da in jedem Realzeitsystem die Zeit eine wichtige Rolle spielt, benötigt das System eine Arbeitsgeschwindigkeit, den sogenannten Systemtakt. Dieser zentrale Systemzeitgeber (Timer) definiert den System Tick eines Realzeitsystems, ist jedoch nicht mit der Arbeitsgeschwindigkeit der CPU zu verwechseln. Genauso wird in jedem Realzeitsystem mit Interrupts gearbeitet. Jeder Interrupt erhält eine zugehörige Interrupt Service Routine (ISR), die alle in einer Tabelle definiert werden müssen, damit sie vom System zu jeder Zeit gefunden werden können. 3.1 Interrupt In der Informatik versteht man unter einem Interrupt (lat. interruptus, Unterbrechung) eine kurzfristige Unterbrechung eines Programmes. Die Aufgabe eines Interrupts ist es, schnell auf Ein-/Ausgabe-Signale (z. B. Touch Screen, Netzwerk, Chip-Leser etc.) oder einen Zeitgeber (Timer) zu reagieren. Interrupts sind nötig, um auf zeitkritische Ereignisse reagieren zu können und sind deshalb in Echtzeitsystemen besonders wichtig. Aus diesem Grund haben MCU s, welche in diesen Systemen üblicherweise verwendet werden, meist mehrere Interrupteingänge. Diese Eingänge werden über Interrupt-Leitungen des Systembusses angesprochen, welche die sogenannten Interrupt Requests (IRQ, Unterbrechungsanfragen) über diese Leitungen an den Prozessor senden und diesem somit mitteilen, dass Informationen 11

24 Kapitel 3 Inbetriebnahme eines Mikrocontrollers bzw. Mikroprozessors zur Weiterverarbeitung bereitstehen. Diese Interrupt-Leitungen könnte man ebenso als prozessorexternen Datenbus bezeichnen. Die an die CPU angeschlossene Hardware (Serial Port, Netzwerkkarte etc.) muss demnach ebenfalls interruptfähig sein. Ausgelöst werden Interrupts durch eine Elektronikkomponente, den Interrupt Controller. Dieser ist die Funktionseinheit, die für die Entgegennahme und Verteilung von Interrupts zuständig ist. Sie signalisiert der CPU einen IRQ. Ein an die CPU angeschlossenes Gerät erzeugt beim Eintreffen eines bestimmten Ereignisses einen Interrupt und bewirkt ein Ausgangssignal (eine elektrische Spannung) an einem Ausgangs-Pin. Die CPU besitzt im einfachsten Fall einen entsprechenden Eingangs- Pin. Erscheint an diesem Pin eine elektrische Spannung, so startet innerhalb der CPU eine Sequenz von Befehlen, die eine entsprechende ISR einleitet. Hardware Interrupts sind im Normalfall (ausgenommen Timer, Quarzuhren etc.) grundsätzlich asynchron, d. h. sie treten zu einem unbestimmten Zeitpunkt auf. Aus diesem Grund dürfen Interrupts ohne besondere synchronisierende Maßnahmen keinen direkten Einfluss auf Programme (oder Programmvariablen) ausüben (vgl.[sim99]). Abbildung 3.1: Hardware Interrupt (vgl.[sim99]) Prozessoren kennen auch spezielle Befehle, welche sogenannte Software-Interrupts aus einem laufenden Prozess heraus auslösen. Diese wirken wie Unterprogrammaufrufe und sind daher nicht asynchron. Das gleiche gilt für Traps, die von der CPU bei schweren Ausnahmefehlern (geschützte Zugriffe, verbotene Instruktionen, Division durch Null etc.) selbst ausgelöst werden und sich den gleichen Mechanismen bedienen (vgl.[wiki]). 3.2 Interrupt Service Routine Bemerkt ein Mikroprozessor, dass ein Signal an einem seiner Interrupt Request Pins anliegt, stoppt er die Ausführung der aktuellen Ablaufsequenz, sichert die Adres- 12

25 3.2 Interrupt Service Routine se des unterbrochenen Programms auf dem Stack und springt zur angeforderten, zugehörigen Interrupt Service Routine. Diese Interrupt Routinen, auch Interrupt Handler Routinen genannt, sind Unterroutinen, die der Entwickler eines solchen Systems in der jeweiligen Programmiersprache schreibt. Sie erledigen die eigentlichen Aufgaben des jeweiligen Interrupts. Wenn beispielsweise ein serieller Port ein Zeichen durch einen Interrupt sendet, hat die ISR die Aufgabe diesen zu lesen und im Speicher abzulegen. Darüberhinaus muss sie noch eine weitere wichtige Aufgabe erfüllen, nämlich den angelegten Interrupt auf der Hardware Seite des Mikroprozessors zurücknehmen (Reset), damit weitere Interrupts erkannt werden können. Der letzte Befehl, der in einer Interrupt Service Routine ausgeführt wird, ist eine Assembler-Anweisung, ein sogenannter Return from Interrupt. Wird dieser Punkt erreicht, so erhält der Mikroprozessor die Adresse der durch den Interrupt unterbrochenen Programmsequenz vom Stack und nimmt dessen Ausführung wieder auf. Des Weiteren benötigt der Mikroprozessor beim Eintreffen eines Interrupts keinen CALL- Befehl, sondern führt die Unterbrechungsroutine automatisch aus (vgl.[sim99]). Im nachfolgenden Beispiel (vgl.[sim99]) ist ein Ausschnitt eines Programms zu sehen, welches Gradwerte in Fahrenheit umwandelt. Betrachtet wird ein beliebiger Mikroprozessor, der einen Interrupt erhält, welcher gerade beschäftigt ist, Task Code zu bearbeiten (die eigentliche Berechnung), der nicht Teil der ISR ist. Das eigentliche Programm lädt Temperaturwerte in Grad nach Register R1, tätigt die benötigte Arithmetik und speichert das fertige Ergebnis. Wird dem Mikroprozessor jetzt ein Interrupt gemeldet, unterbricht er die eigentliche Berechnung und springt zur Interrupt Service Routine. Er bearbeitet sämtliche Instruktionen der Unterbrechungsroutine, bis er zur RETURN-Anweisung am Ende der ISR gelangt. Danach wechselt er wieder zur eigentlichen Berechnung, dem Konvertieren von Werten in Grad nach Fahrenheit. 1 / Task Code / / ISR / MOVE R1, ( igrad ) 4 MULTIPLY R1, 9 > PUSH R1 5 PUSH R !! Lese Wert von der Hardware i n R e g i s t e r R1 8!! S i c h e r e Wert von R1 i n den S p e i c h e r !! S e t z e den s e r i e l l e n Port zurück 11!! S e t z e I n t e r r u p t Hardware zurück POP R2 14 POP R1 15 DIVIDE R1, 5 < RETURN 16 ADD R1, MOVE ( i F a h r e n h e i t ), R1 18 JCOND ZERO, 109A1 19 JUMP MOVE R5, PUSH R5 22 CALL Skiddo 23 POP R9 24 MOVE ( Antwort ), R1 25 RETURN Listing 3.1: Beispiel einer Interrupt Service Routine - Pseudocode 13

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

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

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

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

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

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

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

Performance Messungen von FreeRTOS und

Performance Messungen von FreeRTOS und Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf Outline 1 Ziel

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 3

AVR-Mikrocontroller in BASCOM programmieren, Teil 3 jean-claude.feltes@education.lu 1/8 AVR-Mikrocontroller in BASCOM programmieren, Teil 3 Alle Beispiele in diesem Kapitel beziehen sich auf den Mega8. Andere Controller können unterschiedliche Timer haben.

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

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

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

Einfache Computersteuerung für Modellbahnen

Einfache Computersteuerung für Modellbahnen Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen

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

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

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards Embedded Linux am Beispiel des Gnublin-Boards Was ist Embedded Linux? Wikipedia Als Embedded Linux bezeichnet man ein eingebettetes System mit einem auf dem Linux-Kernel basierenden Betriebssystem. In

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

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

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

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

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

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

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

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

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Embedded Linux. Arthur Baran

Embedded Linux. Arthur Baran Arthur Baran Inhalt Embedded System Aufbau von Embedded Linux Systemen Echtzeit Einige Beispiele Arthur Baran 2 Was ist Embedded System? klein verborgen im Gerät soll eine bestimmte Aufgabe erledigen Arthur

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

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

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

Anleitung zur Verwendung des Ruhezustandes Unter Windows 7:

Anleitung zur Verwendung des Ruhezustandes Unter Windows 7: Anleitung zur Verwendung des Ruhezustandes Unter Windows 7: Wenn Sie mit Windows Vista oder Windows 7 arbeiten, so werden Sie schon oft festgestellt haben, dass das Hochfahren des Betriebssystems einige

Mehr

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis Der Rechner Grundbegriffe Aufbau Funktionsweise Betriebssystem Kategorisierung PC-Komponenten Auf der Grundlage eines Programms kann ein Computer Daten mit seiner Umgebung austauschen, mathematische und

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

2 USBundLinuxhotplug. 2.1 Eigenschaften von USB. In diesem Kapitel lernen Sie. das USB-Schichtenmodell kennen.

2 USBundLinuxhotplug. 2.1 Eigenschaften von USB. In diesem Kapitel lernen Sie. das USB-Schichtenmodell kennen. 2 USBundLinuxhotplug In diesem Kapitel lernen Sie das USB-Schichtenmodell kennen. die Kernelmodule für USB-Treiber kennen. wie Sie USB-Geräte unter Linux verwenden. dashotplug-system von Linux kennen.

Mehr

Windows programmieren mit VisualBasic Einführung in die objektorientierte Programmiersprache

Windows programmieren mit VisualBasic Einführung in die objektorientierte Programmiersprache Dipl. Ing. (FH) Hans-Peter Kiermaier Windows programmieren mit VisualBasic Einführung in die objektorientierte Programmiersprache 1 Allgemeines Die Geschichte von VisualBasic oder kurz VB: 1991 Visual

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

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

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

Die Revolution der Konsumelektronik

Die Revolution der Konsumelektronik Übersicht Betrachtung der technischen Entwicklung von Embedded Systemen im Konsumelektronikbereich Softwareentwicklung für Audio & Visuelle Geräte der Unterhaltungselektronik Hochintegrierter Embedded-Webserver-

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

ONE Technologies AluDISC 3.0

ONE Technologies AluDISC 3.0 ONE Technologies AluDISC 3.0 SuperSpeed Desktop Kit USB 3.0 Externe 3.5 Festplatte mit PCIe Controller Karte Benutzerhandbuch Inhaltsverzeichnis: I. Packungsinhalt II. Eigenschaften III. Technische Spezifikationen

Mehr

iid software tools QuickStartGuide iid RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool

iid software tools QuickStartGuide iid RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool iid software tools QuickStartGuide iid software tools RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool microsensys Feb 2014 Einleitung Das iid interface configuration

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

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

E-Mails in einem lokalen Netzwerk senden mit einem WAGO Controller 750-842 Anwendungshinweis

E-Mails in einem lokalen Netzwerk senden mit einem WAGO Controller 750-842 Anwendungshinweis E-Mails in einem lokalen Netzwerk senden mit einem WAGO Controller 750-842, Deutsch Version 1.0.2 ii Allgemeines Copyright 2002 by WAGO Kontakttechnik GmbH Alle Rechte vorbehalten. WAGO Kontakttechnik

Mehr

1 Welcher Service Operation Prozesse fehlen? Incident Management, Problem

1 Welcher Service Operation Prozesse fehlen? Incident Management, Problem 1 Welcher Service Operation Prozesse fehlen? Incident Management, Problem Management, Access Management a. Event Management b. Service Desk c. Facilities Management d. Change Management e. Request Fulfilment

Mehr

Script-Sprache für UPT und MKT-View II / III / IV. Einleitung, Anwendungsfälle, Programmierung. MKT Systemtechnik

Script-Sprache für UPT und MKT-View II / III / IV. Einleitung, Anwendungsfälle, Programmierung. MKT Systemtechnik Einleitung, Anwendungsfälle, Programmierung MKT Systemtechnik Autor: Stand: Ablage: Wolfgang Büscher Dipl.-Ing. Soft- und Hardware-Entwicklung buescher@mkt-sys.de 2015-01-21 (JJJJ-MM-DD) art85133_einfuehrung_mktview_scriptsprache.odp/pdf;

Mehr

Fachreferat. EFI -BIOS Nachfolger-

Fachreferat. EFI -BIOS Nachfolger- Fachreferat EFI -BIOS Nachfolger- Kurzerläuterung Übersicht EFI - Geschichte Aufbau und Vorteile Grafische Veranschaulichung Was passiert beim direkten einschalten eines Computers? Wie kommt die Intelligenz

Mehr

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird.

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. AGILO HOWTO Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. ROLLEN IM TEAM In Scrum hat jedes Teammitglied eine

Mehr

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format CompuLok Zentrale Software Interface Digitalzentrale für DCC und Motorola Format Inhalt CompuLok Software Interface... 3 Das Software Interface... 3 Installation... 3 Treiber installieren.... 3 Hinweis

Mehr

BNG Bootloader Documentation

BNG Bootloader Documentation BNG Bootloader Documentation Release 0.2 Elias Medawar, Yves Peissard, Simon Honegger, Jonathan Stoppani 20. 04. 2010 Inhaltsverzeichnis 1 Abstract 1 2 Architektur 3 2.1 Überblick.................................................

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

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

Mehr

Staatlich geprüfter EDV-Führerschein

Staatlich geprüfter EDV-Führerschein Staatlich geprüfter 1. Seit wie viel Jahren gibt es den Personal Computer? seit ~ 50 Jahren seit ~ 30 Jahren seit ~ 20 Jahren seit ~ 5 Jahren Computer gibt es schon immer. 2. Ein Computer wird auch als

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

Das Pollin Atmel Evaluationboard Ver. 2.01 unter Verwendung von MyAVR_Prog Tool und der Arduino IDE ein Kurztutorial

Das Pollin Atmel Evaluationboard Ver. 2.01 unter Verwendung von MyAVR_Prog Tool und der Arduino IDE ein Kurztutorial Das Pollin Atmel Evaluationboard Ver. 2.01 unter Verwendung von MyAVR_Prog Tool und der Arduino IDE ein Kurztutorial Einleitung 15.07.2012 V0.9c Angeregt durch Torsten, DL8KFO habe ich mich angefangen

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

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

5.6 Realzeitarchitektur auf Multicore-Basis

5.6 Realzeitarchitektur auf Multicore-Basis 5.6 Realzeitarchitektur auf Multicore-Basis 63 VxWorks Vertreter eines klassischen Realzeitbetriebssystems mit einer starken Marktdurchdringung ist VxWorks der Firma Wind River. Ursprünglich als Realzeitbetriebssystem

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

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

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

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

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

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und den sonstigen Betriebssystemkomponenten

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

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen

Mehr

Diplomarbeit. Konzeption einer Entwicklungsplattform für Embedded Linux auf Basis der ARM9 Technologie. von. Andreas Bießmann. 20.

Diplomarbeit. Konzeption einer Entwicklungsplattform für Embedded Linux auf Basis der ARM9 Technologie. von. Andreas Bießmann. 20. In Zusammenarbeit mit Diplomarbeit Konzeption einer Entwicklungsplattform für Embedded Linux auf Basis der ARM9 Technologie von Andreas Bießmann 20. Januar 2008 Erstprüfer: Zweitprüfer: Firmenbetreuer:

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

Unter Project New µvision Project kann ein neues Projekt angelegt werden.

Unter Project New µvision Project kann ein neues Projekt angelegt werden. KURZBESCHREIBUNG ZUM ERSTELLEN EINES PROJEKTES MIT µvision4 NEUES PROJEKT ANLEGEN Unter Project New µvision Project kann ein neues Projekt angelegt werden. Es öffnet sich ein Dialogfenster, in dem der

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

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

PARC. Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich

PARC. Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich PARC Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich Andre Köthur und Dr. Norbert Drescher Fachhochschule Südwestfalen 5095 Hagen Haldener Str. 12 Einleitung und Zielsetzung Die

Mehr

PC-Software für Verbundwaage

PC-Software für Verbundwaage Dipl.-Ing., Ökonom Tel.: 05601 / 968891 Artur Kurhofer Fax : 05601 / 968892 Bayernstr. 11 Mobil : 0175 / 2742756 www.autese.de 34225 Baunatal a.kurhofer@autese.de PC-Software für Verbundwaage Die hier

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule 32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag Inhalt Vorgeschichte Was wurde erreicht Hardware Energy Micro Microcontroller µctag Plattform EPC Gen2 Tag Standard Protokoll-Vorgaben

Mehr

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Matthias Lange Informatikstudent, TU-Dresden 27. September 2005 http://www.matze-lange.de Warum entwickelt jemand einen Treiber für

Mehr

Auf der Homepage steht

Auf der Homepage steht Auf der Homepage steht VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product

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

Funktionsumfang. MagicNet X

Funktionsumfang. MagicNet X Funktionsumfang 46'' Kontrast: 10.000:1 Der 460DXn basiert neben seinem PID- (Public Information Display) Panel mit 700 cd/m² Helligkeit, dynamischem Kontrast von 10.000:1 und 8 ms Reaktionszeit auf einem

Mehr

Der 80535-Übungsrechner

Der 80535-Übungsrechner 6. Für den Test kleinerer Programmodule ohne Berücksichtigung des Echtzeitverhaltens ist der Simulator das geeignete Werkzeug. Durch die Möglichkeit der Einzelschrittausführung sind erste Tests von Programmen

Mehr

Analyse Mobiler Applikationen zur Patientenbetreuung in Krankenhäusern. Bachelorarbeit

Analyse Mobiler Applikationen zur Patientenbetreuung in Krankenhäusern. Bachelorarbeit Analyse Mobiler Applikationen zur Patientenbetreuung in Krankenhäusern Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft der Wirtschaftswissenschaftlichen

Mehr

Programmierung über den ARCNET-Bus. Programmiersystem. 907 PC 331 Programmier- und Testsoftware. ABB Schaltund Steuerungstechnik

Programmierung über den ARCNET-Bus. Programmiersystem. 907 PC 331 Programmier- und Testsoftware. ABB Schaltund Steuerungstechnik Programmierung über den ARCNET-Bus Programmiersystem 907 PC 331 Programmier- und Testsoftware ABB Schaltund Steuerungstechnik Inhaltsverzeichnis Einbindung ARCNET-Treiber in 907PC331... 3 1 Allgemeine

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

MySQL Community Server 5.1 Installationsbeispiel

MySQL Community Server 5.1 Installationsbeispiel MySQL Community Server 5.1 Installationsbeispiel Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der untermstrich-datenbank

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

und von mehreren PCs nutzen Nr. 070101

und von mehreren PCs nutzen Nr. 070101 Was ist denn eigentlich dieser SComm-Treiber? Der Saia Communication Driver kurz SComm-Treiber dient verschiedenen Programmen der Saia PG5 (z.b. Online Configurator, Debugger, Fupla, SEdit, Watch Window

Mehr