Echtzeitdatenverarbeitung

Größe: px
Ab Seite anzeigen:

Download "Echtzeitdatenverarbeitung"

Transkript

1 1 Einführung Echtzeitdatenverarbeitung 1 beinhaltet die Lösung von Aufgaben unter genauer Einhaltung vorgegebener zeitlicher Randbedingungen [9]. Typisches Beispiel ist die Aufgabe eines Roboterarms, Werkstücke von einem Montageband zu nehmen. Ein korrekter Ablauf ist weder bei verfrühtem noch bei verspätetem Zugriff möglich. Entsprechende Anforderungen gelten für zahlreiche Systeme, die im industriellen Umfeld, in Verkehrsmitteln oder im häuslichen Bereich in irgend einer Weise mit ihrer Umwelt interagieren. In der Regel müssen zeitlich parallel unter Berücksichtigung mehrerer Einflußgrößen mehrere Ausgangsgrößen eingestellt werden (Multitasking). Welche maximalen Zeitabweichungen bzw. Verzögerungen dabei zulässig sind, ohne daß das Systemverhalten fehlerhaft wird, hängt von der jeweiligen konkreten Aufgabenstellung ab (die Zeiten liegen oft im Millisekundenbereich). Für den Aufbau von Echtzeitsystemen werden alle Arten von Computern bis hin zu eingebetteten Systemen ( embedded control ) verwendet. Die notwendigen Betriebsprogramme können entweder alleinstehend laufen und müssen dann die gesamte Zeitsteuerung beinhalten oder können als Anwenderprogramme unter einem Echtzeitbetriebssystem dessen Einrichtungen zur Einhaltung von Zeitvorgaben nutzen. 2 Motivation Bei mehreren in Industriebetrieben durchgeführten Diplomarbeiten hat der Autor die Erfahrung gemacht, daß die Lösung von Echtzeitproblemen durch alleinstehende Assembler- oder C-Programme unverhältnismäßig lange Entwicklungszeiten bis zur Einhaltung des geforderten Zeitverhaltens zur Folge hatten und die notwendigen komplizierten Programmstrukturen nur schwer wartbar waren. 1 'Echtzeit' ist die übliche Übersetzung des englischen Wortes 'Realtime'. Echtzeitdatenverarbeitung JOCHEN SCHNEIDER Fachhochschule Hamburg, Fachbereich Elektrotechnik und Informatik Z.B. war es für die Realisierung einer mikrocontrollergesteuerten programmierbaren SPS- Fernsteuerung erforderlich, u.a. drei gleichzeitig aktive Schnittstellen zu bedienen [8]. Das Problem wurde durch Verschachteln von Instruktionsblöcken der drei Treiberprogramme gelöst (Funktionsprinzip siehe Bild 1). Bei der Programmentwicklung für den Ablauf unter einem Echtzeitbetriebssystem ist die Strukturierung erheblich einfacher, es entstehen betriebssicherere Systeme und Modifikation und Wartung sind mit weniger Problemen verbunden. Welche grundlegenden Eigenschaften von Echtzeitbetriebssystemen diese Vereinfachungen bewirken, soll der vorliegende Beitrag aufzeigen. 3 Eigenschaften von Echtzeitbetriebssystemen Dem Entwickler bietet sich die Auswahl unter mehr als 80 unterschiedlichen Echtzeitbetriebssystemen [1]. Viele sind nur für eine bestimmte Prozessorfamilie geeignet, andere für zahlreiche unterschiedliche Prozessortypen verfügbar. Es gibt keinen häufig eingesetzten Prof. Dr. JOCHEN SCHNEIDER FH Hamburg Fachbereich E/I Berliner Tor Hamburg TEL.: FAX: schneider@ etech.fh-hamburg.de Bild 1: Multitasking eines alleinstehenden Bedienprogramms für drei Schnittstellen durch Verschachteln von Instruktionsblöcken dreier separater Treiberprogramme [11]

2 Bild 2: Beispiel zur Rechenzeitzuteilung. Die Prozesse A bis F befinden sich im Zustand bereit. Wegen der unterschiedlichen Prioritäten werden aber nur die Prozesse A bis C wechselweise aktiviert. Priorität Mikroprozessor bzw. Mikrocontroller, für den kein Echtzeitbetriebssystem verfügbar ist. Die Kommandosprachen sind überwiegend von UNIX abgeleitet. Mit unterschiedlichsten grafischen Oberflächen lassen sich Benutzerschnittstellen für Anwendungen vom eingebetteten System mit kleiner LCD-Anzeige bis zum Rechner mit Großbildschirm realisieren. Die Programmierschnittstellen genügen vielfach der amerikanischen Norm POSIX b. (Eine gute Einführung findet man in [4].) Die Stückpreise von Echtzeitbetriebssystemen liegen zwischen kostenlos bis über DM Gemeinsame elementare Eigenschaften sind Multitasking, Einrichtungen zur Steuerung des Zeitverhaltens, Methoden zur Ressourcenzuteilung und schnelle Kommunikationsmechanismen. 3.1 Threads, Prozesse Ein Prozessor stellt i.a. nur einen Controllerkern zur Verfügung, so daß die parallelen Prozesse aus Sicht des Prozessors zeitseriell ablaufen müssen (quasiparallele Abarbeitung der Aufgaben). Die Forderung läßt sich auf zwei verschiedene Weisen realisieren. Zum einen durch nebenläufige Unterprogramme (Threads), die zeitlich abwechselnd in einem gemeinsamen Speicherbereich ausgeführt werden und zum anderen durch die Einrichtung einer kompletten virtuellen Maschine für jeden parallel ablaufenden Programmteil (). 2 'POSIX' ist die Kurzbezeichnung für 'Portable Operating System Interface'. Warteschlange der Prozesse im Zustand 'bereit' aktiv A D E B F C G wartend Z In beiden Fällen erledigt der Scheduler, ein zentraler Teil des Betriebssystems, die Prozessorzuteilung. Wenn der verwendete Prozessor über eine Speicherverwaltungseinheit verfügt, wird in der Regel vorzugsweise das konzept angewandt, da sich Programmfehler bei kaum unterschiedlichem Zeitbedarf für die Kontextumschaltung nicht auf die parallel ablaufenden Programmteile auswirken können. Zudem hat eine Strukturierung in Prozesse den Vorteil, daß bei Performanceproblemen unter der Voraussetzung einer entsprechenden Unterstützung des Betriebssystems ohne prinzipielle Programmänderungen leicht auf ein vernetztes Multiprozessorsystem übergegangen werden kann. Z.B. kann man in einem Meßdatenerfassungssystem einen rechenintensiven Auswerteprozeß auf einen anderen Prozessor auslagern. Die Generierung und das Beenden von Prozessen ist durch entsprechende Betriebssystemaufrufe während der Laufzeit eines Programms möglich. Bei Vorhandensein von genügend Speicherplatz und ausreichenden Systemressourcen können in einem Echtzeitsystem durchaus mehrere hundert Prozesse und/ oder Threads parallel ablaufen. Einige Echtzeitbetriebssysteme sind auch intern in Prozesse strukturiert, so daß insbesondere Treiber für Peripheriegeräte ohne Systemneustart dynamisch hinzugefügt oder entfernt werden können. Die jeweils rechtzeitige Prozessorzuteilung an die einzelnen Prozesse ist nicht immer einfach lösbar. Ein Echtzeitbetriebssystem ordnet dazu jedem einen Zustand und eine individuell einstellbare Priorität zu. Die wichtigsten Zustände sind aktiv, wartend und bereit. Der Zustand aktiv charakterisiert einen, der gerade den Prozessor beansprucht. Ein, der auf Daten von einem Peripheriegerät wartet oder erst zu einem späteren Zeitpunkt aktiviert werden soll, ist im Zustand wartend und ein, der bei Verfügbarkeit der notwendigen Ressourcen weiterlaufen kann, befindet sich im Zustand bereit. 3.2 Zeitsteuerung Der Scheduler versetzt jeweils den höchstpriorisierten vom Zustand bereit in den Zustand aktiv. Die aktivierte virtuelle Maschine belegt den Prozessorkern dann für die Dauer einer Zeitscheibe (z.b. 50 ms). Wenn zwischenzeitlich ein noch höher priorisierter in den Zustand bereit wechselt, löst dieser eine Umschaltung durch den Scheduler aus und belegt seinerseits den Prozessor (siehe Bild 2). Prinzipbedingt könnte ein höchstpriorisierter demnach beliebig lange im Zustand aktiv verbleiben und damit alle anderen Echtzeitaktionen verhindern. Hohe Prioritäten dürfen deshalb ausschließlich an kurze zeitkritische Aufgaben wie die Übernahme von Peripheriedaten vergeben werden, und längere Berechnungen müssen mit möglichst niedriger Priorität ausgeführt werden. [12]

3 Falls mehrere Prozesse mit der gleichen höchsten Priorität den Zustand bereit einnehmen, kann der Scheduler unterschiedlich (i.a. einstellbar) reagieren. Z.B. können die einzelnen Prozesse abwechselnd nacheinander für jeweils eine Zeitscheibe aktiviert werden oder bis zu einem selbständigen Wechsel in den Zustand wartend durchlaufen. Für das zeitgesteuerte Starten von Threads oder Prozessen stehen in Echtzeitbetriebssystemen Timer zur Verfügung. Das sind spezialisierte Prozesse, die zu absolut oder relativ vorwählbaren Zeiten vom Scheduler aktiviert werden, um z.b. den Zustand eines zu steuernden anderen Prozesses von wartend auf bereit zu ändern. Die erreichbaren zeitlichen Auflösungen und Genauigkeiten hängen i.w. von den Möglichkeiten der verwendeten Hardware ab und liegen typischerweise im Mikro- bis Millisekundenbereich. Zur schnellen Reaktion auf externe Ereignisse unterstützen alle Echtzeitbetriebssysteme Hardwareinterrupts. Diese sind immer höher priorisiert als Threads und Prozesse; der Scheduler hat auf den Ablauf eines Interrupthandlers keinen Einfluß (siehe Bild 3). Auch die Priorisierung unterschiedlicher Interrupts zueinander ist (teilweise programmierbar) durch die Hardwarefunktionen des verwendeten Prozessors vorgegeben. Genau vorhersagbar ist das Zeitverhalten nur für den höchstpriorisierten Interrupt (siehe Bild 4). Üblicherweise stellt ein Echtzeitbetriebssystem für alle möglichen Interrupts bereits vorbereitete Handler mit allen Sicherungs- und Restaurierungsoperationen für den unterbrochenen Programmteil zur Verfügung, so daß durch entsprechende Betriebssystemaufrufe lediglich die vorgesehenen Benutzeraktionen eingefügt werden müssen. Um das vom Scheduler festgelegte Zeitverhalten nicht zu stören, müssen alle Interrupthandler möglichst schnell wieder beendet werden. Dazu läßt sich nach evtl. notwendigen Hardwareaktionen ein entsprechend vorbereiteter vom Zustand wartend in den Zustand bereit versetzen, um dann schedulergesteuert alle weiteren Datenverarbeitungsschritte durchzuführen. Die vom Auftreten des Interruptsignals bis zur Ausführung des ersten Befehls im Interrupthandler maximal benötigte Zeit (Interruptlatenz) gehört zu den wichtigsten Kennwerten eines Echtzeitbetriebssystems. 3.3 Kommunikationsmechanismen Der zur Ausnutzung der zeitlichen Steuermöglichkeiten notwendige modulare Programmaufbau ist nur möglich, wenn die einzelnen Prozesse auf effiziente Weise Daten austauschen können. Da die einzelnen Module bei Realisierung als virtuelle Maschinen Interrupt tritt auf Interrupthandler startet Interrupthandler ist fertig durch die Speicherverwaltungseinheit streng voneinander abgeschirmt sind, kann eine Übergabe von Daten als Funktionsparameter oder als globale Variablen nicht funktionieren. Statt dessen muß das Betriebssystem für den Transport der Daten von zu sorgen. Viele Betriebssysteme bieten dafür mehrere Realisierungsmöglichkeiten: Die wichtigste Übertragungsmethode ist das Message Passing. Dazu muß der sendende die Daten unter Angabe der gewünschten Übertragungspriorität an das Betriebssystem übergeben. Die Daten werden dann in einer nach Prioritäten und Ankunftszeiten geordneten Warteschlange aufbewahrt, bis sie vom Zielprozeß abgerufen werden. Aufgrund des Multitaskings kann es vorkommen, daß das Abrufen einer Nachricht zeitlich vor dem Absenden erfolgt. In diesem Fall wird der Empfangsprozeß vom Scheduler in den ressourcenschonenden Zustand wartend versetzt, bis die Nachricht eintrifft. Unter Ausnutzung dieser Funktionsweise ist auch eine zeitliche Synchronisation der Aktivitäten zweier oder mehrerer Prozesse möglich. Die beim Message Passing erreichbaren Übertragungsgeschwindigkeiten sind von den Möglichkeiten der Hardware und der Art der Implementierung abhängig (zwischen einigen KB/s bis zu mehreren MB/s). Häufig wird auch die Möglichkeit der Festlegung gemeinsamer Speicherbereiche ( shared memory ) angeboten. Ob diese durch entsprechende Programmierung der Speicherverwaltungseinheit oder durch transparente Anwendung des Message Passing realisiert wer- A Int X T T T il int iret IRQ X IntY IRQ Y B unterbrochener läuft weiter C Zeit Bild 3: Zeitverhalten beim Auftreten eines Interrupts. T il ist die Interruptlatenzzeit, T int die Ausführungszeit des Handlers und T iret die Rückkehrzeit Bild 4: Beispiel zum Zeitverhalten während der Unterbrechung eines Interrupts IRQ X (mit Handler Int X ) durch einen höher priorisierten Interrupt IRQ Y (mit Handler Int Y ). Int Y versetzt B in den Zustand bereit, Int X C. Zeit [13]

4 Tabelle 1: Kennwerte des Echtzeitbetriebssystems QNX bei Verwendung auf einem Pentium/90 PC den, ist je nach Betriebssystem unterschiedlich. Ein so durchgeführter Datenaustausch erscheint zunächst besonders attraktiv, da besondere Betriebssystemaufrufe nicht erforderlich sind. Allerdings muß man bedenken, daß die einzelnen Prozesse ja zeitlich parallel abgearbeitet werden und deshalb geeignete Synchronisationsmaßnahmen getroffen werden müssen. Schließlich muß sowohl der Empfangsprozeß wissen, wann Daten abholbereit zur Verfügung stehen als auch der Sendeprozeß, wann neue Daten geliefert werden können. 3.4 Ressourcenzuteilung Für die Zugriffssteuerung auf gemeinsam benutzte Speicherbereiche und andere Ressourcen können Semaphore eingesetzt werden. Wenn ein auf eine so verwaltete Ressource zugreifen möchte, muß er mittels eines Betriebssystemaufrufs zunächst eine Anforderung an das Semaphor senden. Falls die Ressource gerade anderweitig benutzt wird, geht der in den Zustand wartend, bis sich unter den wartenden Prozessen keiner mit höherer Priorität mehr befindet. Es erfolgt dann ein Wechsel in den Zustand bereit und nach Aktivierung durch den Scheduler kann der Zugriff erfolgen. Danach muß die Ressource durch einen weiteren Betriebssystemaufruf an das Semaphor wieder freigegeben werden. Bei häufig verwendeten Peripheriegeräten kann es sich lohnen, die Ressourcenverwaltung auf einen gesonderten Serverprozeß zu verlagern, der z.b. via Message Passing Anfragen entgegennimmt und alle Datenübertragungen realisiert. Durch Puffern mehrfach benötigter Datenbereiche durch den Serverprozeß läßt sich die Arbeitsgeschwindigkeit eines Systems ggf. erheblich steigern. Für Standardperipheriegeräte und gebräuchliche Schnittstellen liefern die Hersteller von Echtzeitbetriebssystemen i.a. entsprechend optimierte Treiberprogramme bereits mit. Der für die Anpassung spezieller Peripherie zu treibende Aufwand ist je nach Systemarchitektur sehr unterschiedlich. Er muß bei der Bewertung der Eignung eines Betriebssystems sorgfältig geprüft werden. Kontextumschaltung: 28 µs Interruptlatenz: 5 µs Timerauflösung: Übertragungsrate bei Message Passing: bis 100 µs (einstellbar, ohne Hardwarezusatz) 35 MB/s (bei 4096 Byte großen Datenpaketen) 4 Anwendungen Neben der Zusammenarbeit mit Industriefirmen wurde inzwischen im Lehrgebiet Digitale Informationstechnik die Vermittlung von Echtzeitdatenverarbeitung in den Studienplan der Studenten aufgenommen. Aufgrund von guten Erfahrungen des Autors während seiner industriellen Entwicklertätigkeit mit dem PC-Echtzeitbetriebssystem QNX (s. Tabelle 1) wurde dieses für das Labor für Digitale Schaltungstechnik in mehreren Exemplaren angeschafft und seither u.a. für diverse Diplom- und Studienarbeiten erfolgreich eingesetzt. QNX [5] ist modular aufgebaut und beinhaltet einen nur wenige Kilobyte großen Betriebssystemkern. Der Einsatz ist auf allen Varianten von PC-Hardware sowie auf Power-PCund MIPS-Prozessoren möglich. Schnittstellenund Gerätetreiber laufen als Benutzerprozesse und können während des Betriebs jederzeit hinzugefügt oder entfernt werden. Drei verschiedene grafische Benutzeroberflächen erlauben die Ansteuerung unterschiedlichster Hardwarekonfigurationen. Durch ein transparentes Vernetzungskonzept werden auch Multiprozessorsysteme problemlos unterstützt. Eine Einführung in die Echtzeitdatenverarbeitung mit QNX findet man in [6]. Tabelle 1 zeigt einige mit einem Pentium/90 ermittelte Betriebssystemkennwerte. Umfangreichere konkrete Anwendungen von QNX wurden bisher vorwiegend im Rahmen des Entwicklungsprojekts Hard- und Software für Koordinatenmeßgeräte erstellt. Eine grundlegende Beschreibung findet man in [7], Erweiterungen des Konzepts wurden u.a. in [3] und [2] entwickelt. Für den Einsatz in einem eingebetteten System wird QNX z.zt. im Rahmen einer noch nicht ganz abgeschlossenen Diplomarbeit in das Flash-ROM eines vernetzten PC104 Mikrocomputers implementiert. Zur komfortablen Benutzerkommunikation soll die echtzeitgeeignete grafische Oberfläche Photon angepaßt werden, so daß nach Fertigstellung ein eigenständiges leistungsfähiges Echtzeitsystem für Steuerung und Meßdatenerfassung auf kleinstem Raum zur Verfügung steht. 5 Fazit Echtzeitbetriebssysteme stellen die für die genaue Einhaltung eines vorgegebenen Zeitverhaltens notwendigen Hilfsmittel zur Verfügung. Durch ihre Anwendung läßt sich die Entwicklung von Echtzeitsystemen vereinfachen und beschleunigen. Der erzwungene modulare Programmaufbau führt zu erhöhter Betriebssicherheit und erleichtert die spätere Systemwartung. Die zusätzlichen Anschaffungskosten [14]

5 für das Betriebssystem fallen auch bei kleinen Projekten gegenüber den Vorteilen kaum ins Gewicht. Entsprechende Kenntnisse und Erfahrungen der Systementwickler zu fördern lohnt sich. Literatur [1] Auswahlliste für Echtzeitbetriebssysteme: [2] Bläske O.: Entwicklung eines Interpreters für spezielle SPS-Syntax zur Steuerung von Koordinatenmeßgeräten unter Verwendung der UNIX-Werkzeuge lex und yacc. Diplomarbeit, FH Hamburg, FB E/I, [3] Bruse I., Krüger J.: Entwicklung eines Interpreters für spezielle SPS-Syntax zur Steuerung von Koordinatenmeßgeräten. Diplomarbeit, FH Hamburg, FB E/I, [4] Gallmeister B.O.: POSIX.4-Programming for the Real World. O Reilly & Associates Inc., [5] QNX Software Systems Ltd.: QNX 4 Operating System System Architecture. Kanata, Auch: / literature/qnx_sysarch/. [6] Schneider J.: Echtzeit-Datenverarbeitung. Studienskript, FH Hamburg FB E/I, [7] Schubert F.: Parallele Prozessoren steuern Koordinatenmeßmaschine. Technische Berichte Nr. 27, pp , FH Hamburg, FB E/I, [8] Schulenburg J.: Entwicklung eines programmierbaren mikrocontrollergesteuerten Moduls zur Fernsteuerung einer SI- MATIC S5 über das EURO-ISDN. Diplomarbeit, FH Hamburg FB E/I, [9] Uhres L.: comp.realtime Frequently Asked Questions. /faqs/ realtime-computing/faq/. [15]

Übung I Echtzeitbetriebssysteme

Übung I Echtzeitbetriebssysteme Übung I Echtzeitbetriebssysteme a) Von welchen drei Faktoren hängt bei der Echtzeitverarbeitung das korrekte Ergebnis ab? b) Wann ist ein System echtzeitfähig? c) Was versteht man unter Harter und Weicher

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

RTOS Einführung. Version: Datum: Autor: Werner Dichler

RTOS Einführung. Version: Datum: Autor: Werner Dichler RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

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

Mehr

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

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

Mehr

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

Mehr

Operating System Kernels

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

Mehr

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim

Mehr

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

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

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

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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

Mehr

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

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

Verteilte Echtzeit-Systeme

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

Mehr

Echtzeit-Multitasking

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

Mehr

Sensorsimulation in Hardware in the Loop-Anwendungen

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

Mehr

Meine SPS kann Linux, und nun?

Meine SPS kann Linux, und nun? http://www.arvero.de Meine SPS kann Linux, und nun? Ein Linux-basierter Software-Stack für industrielle Eingebettete Systeme Autor: Christoph Stoidner Zur Person / Firma Christoph Stoidner Diplom. Informatiker

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

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

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

Mehr

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur DIPLOMARBEIT Entwurf und Implementierung eines modularen USB-Stacks für eingebettete

Mehr

Technische Informatik 1

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

Mehr

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

1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme

1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme 1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme Warum ein Betriebssystem verwenden? Nutzung eines Betriebssystem hat großen Einfluß auf die Softwarezuverlässigkeit, Produktivität Pflege

Mehr

A U S A R B E I T U N G

A U S A R B E I T U N G Echtzeitsysteme Zuordnung von Echtzeitsystemen nach den Zeitschranken A U S A R B E I T U N G Studiengang Informationstechnik an der Dualen Hochschule Baden-Württemberg Karlsruhe von Ruwen Möhrle März

Mehr

Systemanforderungen Manufacturing Execution System fabmes

Systemanforderungen Manufacturing Execution System fabmes Manufacturing Execution System fabmes Das Manufacturing Execution System fabmes bemüht sich trotz hoher Anforderungen an die Datenverarbeitung möglichst geringe Anforderungen an die Hardware zu stellen.

Mehr

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34 Mikrocontroller eine Einführung Florian Schmitt - 16.11.2010 1 / 34 Inhalt Was sind Mikrocontroller, wozu sind sie nützlich? Unterschiede und Gemeinsamkeiten mit dem PC Wie funktionieren Mikrocontroller

Mehr

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam RealTime Linux Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam Übersicht 2 Standard-Kernel Dual-Kernel RTAI/LXRT In-Kernel

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

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

Mehr

Technische Berichte. fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK NR. 31 OKTOBER 1998. Magnetoresistive Sensorsysteme

Technische Berichte. fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK NR. 31 OKTOBER 1998. Magnetoresistive Sensorsysteme Technische Berichte fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK Magnetoresistive Sensorsysteme Mustererkennung mit Fuzzylogik Echtzeit-Datenverarbeitung Entwicklungswerkzeuge für Kommunikationsprotokolle

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Klausur. Betriebssysteme SS 2007

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

Mehr

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:

Mehr

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

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

Tutorium Rechnerorganisation

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

Mehr

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme Teil I Einführung Überblick 1 2 Geschichte der Informatik 3 Technische Grundlagen der Informatik Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme 4 Daten, Informationen, Kodierung

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

Durchführung eines ELAN-Projektes zum Thema "Echtzeitdatenverarbeitung"

Durchführung eines ELAN-Projektes zum Thema Echtzeitdatenverarbeitung Durchführung eines ELAN-Projektes zum Thema "Echtzeitdatenverarbeitung" PEARL-Workshop 2004 Prof. Dr. Juliane Benra Prof. Dr. Peter Elzer Gliederung Motivation und Rahmenbedingungen Entscheidungen und

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

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012 Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

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

Mehr

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

Paging. Einfaches Paging. Paging mit virtuellem Speicher

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

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

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

Mehr

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

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

Mehr

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

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

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Fortbildungsmodule >> Elektrotechnik. Präzisierung zu Modulbereich Mikrocontroller [E61] Teilmodul E611 Grundlagen Mikrocontrollertechnik (µc)

Fortbildungsmodule >> Elektrotechnik. Präzisierung zu Modulbereich Mikrocontroller [E61] Teilmodul E611 Grundlagen Mikrocontrollertechnik (µc) B A D E N - W Ü R T T E M B E R G R E G I E R U N G S P R Ä S I D I E N Freiburg // Karlsruhe // Stuttgart // Tübingen Abt. 7 Schule und Bildung Fortbildungsmodule >> Elektrotechnik Präzisierung zu Modulbereich

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

Virtualisierter Terminalserver

Virtualisierter Terminalserver Virtualisierter Terminalserver 1. Virtualisierung Virtualisierung bezeichnet in der Informatik laut Wikipedia die Nachbildung eines Hard- oder Software- Objekts durch ein ähnliches Objekt vom selben Typ

Mehr

Grundlagen der Informatik. Teil VI Betriebssysteme

Grundlagen der Informatik. Teil VI Betriebssysteme Grundlagen der Informatik Teil VI Betriebssysteme Seite 1 Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

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

Computer & GNU/Linux Einführung Teil 1

Computer & GNU/Linux Einführung Teil 1 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 1 Simon Haller, Sebastian Stab 1/17 Computer & GNU/Linux Einführung Teil 1 Simon Haller, Sebastian Stabinger, Philipp Zech Inst. für Informatik

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P SoSe 2013 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 4 13.05.2013 bis 17.05.2013 Aufgabe 1: Multi-Feedback-Scheduling 0 P 1. Beschreiben Sie kurz

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

Ergänzungen zum Manual OS V 2.05/2.06

Ergänzungen zum Manual OS V 2.05/2.06 Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem

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

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

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

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

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Software Im Original veränderbare Word-Dateien Prinzipien der Datenverarbeitung Als Software bezeichnet man alle Programme, die in einer Computeranlage verwendet werden. Dabei unterscheiden wir zwischen

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

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

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

Michael Troitzsch. Überblick über lokale Netze und praktische Hinweise für die Planung. Mit 86 Abbildungen 4., neubearbeitete Auflage.

Michael Troitzsch. Überblick über lokale Netze und praktische Hinweise für die Planung. Mit 86 Abbildungen 4., neubearbeitete Auflage. Michael Troitzsch Überblick über lokale Netze und praktische Hinweise für die Planung Mit 86 Abbildungen 4., neubearbeitete Auflage Franzis' 1 Einführung 11 1.1 Geschichtlicher Überblick 12 1.2 Zur Definiton

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

TIMI: Technische Informatik

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

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

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

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

Mehr

Enterprise Portal - Abbildung von Prozessen, SAP-Datenintegration und mobile Apps

Enterprise Portal - Abbildung von Prozessen, SAP-Datenintegration und mobile Apps Beschreibung Die führende Standard-Software, um Menschen und Informationen erfolgreich in Prozesse einzubinden. Intrexx Professional ist eine besonders einfach zu bedienende Software- Suite für die Erstellung

Mehr

Software- Qualitätsmanagement

Software- Qualitätsmanagement Software- Qualitätsmanagement Thomas Kugel Brandenburg, den 10.12.2002 Agenda Einleitung Was heißt Softwarequalitätssicherung und Test Die Rolle von Test und QS in Softwareprojekten Wie wird getestet Statische

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

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb AN025 Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der Autor: HB AN025.DOC (6 Seiten) 1. Definition Im folgenden wie auch in allen anderen Sorcus Schriften werden folgende Kurzbezeichnungen verwendet:

Mehr

C und C++ für Embedded Systems

C und C++ für Embedded Systems C und C++ für Embedded Systems von Friedrich Bollow, Matthias Homann, Klaus-Peter Köhn Neuausgabe C und C++ für Embedded Systems Bollow / Homann / Köhn schnell und portofrei erhältlich bei beck-shop.de

Mehr

Haben Sie noch Fragen? Klicken Sie auf das Logo! Das Internet im Überblick

Haben Sie noch Fragen? Klicken Sie auf das Logo! Das Internet im Überblick Haben Sie noch Fragen? Klicken Sie auf das Logo! Das Internet im Überblick OUTLOOK STARTEN UND BEENDEN DAS OUTLOOK ANWENDUNGSFENSTER Was ist Internet? Merkmale Internet das des Das Internet ist das größte

Mehr

An den Vizepräsident für Forschung, Entwicklung und Technologietransfer der Fachhochschule Braunschweig/Wolfenbüttel

An den Vizepräsident für Forschung, Entwicklung und Technologietransfer der Fachhochschule Braunschweig/Wolfenbüttel An den Vizepräsident für Forschung, Entwicklung und Technologietransfer der Fachhochschule Braunschweig/Wolfenbüttel Forschungsbericht (Kurzfassung) WS 02/03 Kreyßig, Jürgen, Prof. Dr., Institut für Verteilte

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

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

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

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

"FlexRIO hat sich als ideale Basis für den Test schneller Kommunikationsschnittstellen erwiesen." - Michael Rost, IRS Systementwicklung GmbH

FlexRIO hat sich als ideale Basis für den Test schneller Kommunikationsschnittstellen erwiesen. - Michael Rost, IRS Systementwicklung GmbH Test von Glasfaserkommunikation bis zu 2,5 Gbit/s auf Basis von NI FlexRIO "FlexRIO hat sich als ideale Basis für den Test schneller Kommunikationsschnittstellen erwiesen." - Michael Rost, IRS Systementwicklung

Mehr

Modul 1 Beispiel-Prüfungen

Modul 1 Beispiel-Prüfungen Modul 1 Beispiel-Prüfungen Grundlagen der Informationstechnologie Auf den nächsten Seiten finden Sie zwei Beispiel-Prüfungen für die Grundlagen der Informationstechnologie, das Modul 1 des ECDL. Die Beispiel-Prüfungen

Mehr

Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0

Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0 Daniel Miertz Mai 2004 Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0 Einleitung DMXControl stellt die Möglichkeit bereit, die Lichtshow teilweise oder vollständig über ein MIDI-Interface

Mehr

Womit schreibe ich meine (Diplom-)Arbeit?

Womit schreibe ich meine (Diplom-)Arbeit? Womit schreibe ich meine (Diplom-)Arbeit? W. Riedel, TU Chemnitz, URZ mailto:w.riedel@hrz.tu-chemnitz.de Chemnitzer Linux-Tag, 6.-7. März 2004 1 Worum geht es? Im Laufe des Studiums sind verschiedene schriftliche

Mehr

Installation LehrerConsole (für Version 7.2)

Installation LehrerConsole (für Version 7.2) Dr. Kaiser Systemhaus GmbH Köpenicker Straße 325 12555 Berlin Telefon: (0 30) 65 76 22 36 Telefax: (0 30) 65 76 22 38 E-Mail: info@dr-kaiser.de Internet: www.dr-kaiser.de Installation LehrerConsole (für

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

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

BLIT2008-Board. Uwe Berger

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

Mehr

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

OSEK / OSEKtime - ein Vergleich

OSEK / OSEKtime - ein Vergleich OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur

Mehr

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

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

Mehr

Rechnergestützte Linienschreiber ersetzen mechanische Geräte

Rechnergestützte Linienschreiber ersetzen mechanische Geräte Große Datenmengen mit dem Industrie-PC erfassen: Rechnergestützte Linienschreiber ersetzen mechanische Geräte Konventionelle Linienschreiber haben etliche Nachteile, die auf ihre mechanischen Komponenten

Mehr

Vorwort. 1

Vorwort. 1 Vorwort Dieses Buch entstand aus der Unterrichtspraxis an beruflichen und allgemeinbildenden Schulen, der innerbetrieblichen Aus- und Weiterbildung in einem Chemiebetrieb und der beruflichen Qualifizierung

Mehr

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

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

Mehr

Systemempfehlungen. Sage HWP / Primus SQL 25.11.2013. Robert Gabriel ROCONGRUPPE

Systemempfehlungen. Sage HWP / Primus SQL 25.11.2013. Robert Gabriel ROCONGRUPPE 25.11.2013 Systemempfehlungen Sage HWP / Primus SQL Robert Gabriel ROCONGRUPPE Inhalt Einzelplatzrechner:... 2 Thema SQL Server... 2 Thema Microsoft Office... 3 Server/Netzwerke... 3 Hinweis SBS Server

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

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

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success.

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success. JetSym Programmierung in Hochsprache ST nach IEC-61131-3 We automate your success. JetSym das Tool JetSym ist das zentrale Programmiertool der Jetter AG, das alle Funktionen der Automatisierungstechnik

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