Windows CE als Echtzeitbetriebssystem

Größe: px
Ab Seite anzeigen:

Download "Windows CE als Echtzeitbetriebssystem"

Transkript

1 Universität Siegen Fachbereich 12 Praktische Informatik Seminar Sicherheitskritische Systeme SS 2004 Windows CE als Echtzeitbetriebssystem vorgelegt von Henning Peuser 05. August 2004 Betreuer: Dr. Jörg Niere

2 Zusammenfassung Die Verwendung von Echtzeitbetriebssystemen in eingebetteten System findet eine immer größere Verbreitung. In dieser Ausarbeitung werden die Kennzeichen eines Echtzeitsystems genannt und anschließend untersucht, ob das Produkt Windows CE von Microsoft den Anforderungen eines harten Echtzeitbetriebssystems genügt. Es wir festgestellt, daß dies nur bedingt zutrifft. Für weiche Anwendungen macht es den Einsatz möglich, während es für harte Anwendungen nicht geeignet ist, da wichtige Signale nicht immer verarbeitet werden.

3 1. Einleitung 1.1. Motivation Ein großer Automobilhersteller rief im Mai 2004 über eine halbe Million Fahrzeuge in seine Werkstätten zurück, um Probleme mit der elektronischen Bremskraftverstärkung zu beseitigen. Die elektronische Bremskraftkontrolle könne sich auf Grund unvorhergesehener Signale abschalten. Ein Mikrocomputer steuert das System während Sensoren das Verhalten von Fahrzeug und Fahrer überwachen. [9] Die Bremsanlage stellt ein sicherheitskritisches System unter Verwendung eines Echtzeitsystemes dar. Die Eigenschaft der Echtzeitfähigkeit stellt damit ein wesentliches Element im Zusammenhang mit sicherheitskritischen Systemen dar. Der Einsatz von Echtzeitbetriebssystemen ermöglicht in verschiedenen Einsatzszenarien Verfügbarkeit, Verläßlichkeit und Sicherheit. Damit nehmen sie einen hohen Stellenwert in der Industrie ein. Es soll daher untersucht werden, ob das Produkt Windows CE diesen Eigenschaften genügt Strukturierung Die vorliegende Arbeit ist in drei Teile gegliedert. Im ersten Teil, den Grundlagen, werden die verschiedenen Begriffe im Kontext definiert, das Produkt Windows CE vorgestellt sowie Anforderungen des Einsatzes erläutert. Im zweiten Teil, der Analyse wird das Produkt Windows CE anhand seiner Eigenschaften auf die Echtzeitfähigkeit hin überprüft. Im letzten Teil widme ich mich einer darstellenden Bewertung der Technik. 2. Grundlagen 2.1. Definitionen Zu Beginn werden die zentralen Begriffe im Kontext von Echtzeitbetriebssystemen definiert Eingebettetes System Eingebettete Systeme sind informationsverarbeitende Systeme, die unter Nutzung informationstechnologischer Mittel in ihre Anwendungsumgebungen physisch integriert und deren Eigenschaften durch diese Anwendungsumgebungen bestimmt sind. [11]

4 Mit dieser Definition wird auf das zentrale Merkmal der Informationsverarbeitung verwiesen und festgestellt, daß Eingebettete Systeme je nach Anwendungsgebiet eine unterschiedliche physische Gestalt annehmen können Sicherheitskritisches System Ein System heißt sicherheitskritisch, wenn durch dessen Fehlverhalten Leben und hohe Sachwerte gefährdet sind. Bei der Entwicklung und Unterhaltung eines sicherheitskritischen Systems sollten intensive Anstrengungen unternommen werden, um die hohen Anforderungen an die Sicherheit zu gewährleisten. [12] Bei der Entwicklung sicherheitskritischer Systeme werden Redundanz und formale Methoden als Werkzeuge eingesetzt Echtzeitbetriebssystem Ein Echtzeitbetriebssystem oder auch RTOS (real time operating system) ist ein Betriebssystem mit zusätzlichen Echtzeitfunktionen für die Einhaltung von Zeitbedingungen und die Vorhersagbarkeit des Prozeßverhaltens. [7] Ein Echtzeitbetriebssystem ist ein Baustein bei der Erstellung eines Echtzeitsystems. Es wird durch ständige Betriebsbereitschaft charakterisiert und gefordert, rechtzeitig auf externe Ereignisse zu reagieren. Der wesentlichste Punkt für Echtzeitsysteme ist die rechtzeitige Reaktion. Rechtzeitig bedeutet, daß jeder Task 1 eine bestimmt Zeitvorgabe hat. Diese Beschreibung findet die breiteste Zustimmung in der Fachliteratur. Der Unterschied zu einer anderen Definition besteht darin, daß mindestens eine Aktion eines Systems zeitlichen Begrenzungen unterliegt (und nicht alle Aktionen). Bezogen auf oben genannte Bremsanlage bedeutet Echtzeit, daß ein entsprechender Task beendet sein muß. Weitere Merkmale neben der Rechtzeitigkeit sind Kalkulierbarkeit, Robustheit, Fähigkeit für den Dauerbetrieb, Lieferung sicherer Ereignisse sowie eine kontrollierte Fehlerbearbeitung. Das Echtzeitsystem ist außerdem von der Umgebung abgeschottet. Grundsätzlich ist zu fragen, ob ein Echtzeitsystem zwangsläufig ein Betriebssystem benötigt. Im Grunde ist die Abarbeitung eines einzigen oder einiger weniger Programme einfach und es existieren auch Echtzeitsysteme ohne Betriebssystem. Dennoch machen eine steigende Anzahl von Programmen und erforderlicher grundlegender Funktionalität den Aufwand immer größer. Das Betriebssystem bietet Basisfunktionen für alle Anwendungen an und vereinfacht diese damit. [4] Harte und Weiche Echtzeitsysteme Die Gültigkeitsdauer von Eingangsdaten bzw. Änderungsgeschwindigkeit von externen Ereignissen bestimmen die zeitlichen Deadlines 2 der Echtzeitsysteme. Man unterscheidet in Harte und Weiche Echtzeitsysteme. Der Unterschied zwischen einem harten und einem wei- 1 Ein Task ist ein auf unterster Systemebene (Kernel) laufender Prozeß 2 Jeder Task hat eine bestimmt Zeitvorgabe, die sog. Deadline

5 chen Echtzeitsystem besteht aufgrund der Systemanforderungen: Die Bezeichnung hart trifft zu, wenn das System auf keinen Fall eine Deadline verpassen soll und weich, wenn das System eine Deadline verpassen darf. Die Merkmale eines harten Echtzeitsystems sind: - unter keinen Umständen dürfen Verzögerungen akzeptiert werden - Ergebnisse sind nutzlos, wenn sie zu spät erfolgen - katastrophale Störungen, wenn die Deadline nicht eingehalten wird - unendlich hohe Kosten für verpaßte Deadlines Beispiele dazu sind die Steuerung eines Kernreaktors, ein Antiblockiersystem eines Automobils oder Überwachungssysteme auf einer Intensivstation. Ein weiches Echtzeitsystem wird beim verspäteten Eintreffen der Ergebnisse durch niedrige Kosten und Akzeptierung einer geringeren Performanz charakterisiert. Beispiele für weiche Systeme sind eine digitale Telefonanlage, eine Steuerung unkritischer chemischer Prozesse oder ein Verkaufsautomat. [7] 2.2. Abgrenzung Windows CE/ XP Windows CE ist ein Echtzeitbetriebssystem für eingebettete Systeme des Herstellers Microsoft. Bei diesem Hersteller ist es üblich, daß eine gewisse Marktumschließung stattfindet, so daß versucht wurde, eine ganze Produktpalette für eingebettete System zu entwickeln. Somit gibt es nicht nur Windows CE, das für kleine Anwendungen wie PDA und mobile Endgeräte entwickelt wurde, sondern auch Windows XP Embedded für große Systeme. Diese Vorgehensweise setzt einen modularen Aufbau voraus, der nach oben hin skalierbar ist Gemeinsamkeiten Das äußere Erscheinungsbild von Windows CE ähnelt dem der gängigen Windows Betriebssysteme. Weiterhin kann man ebenfalls die API (application programming interface) nutzen. Während sich die CE Linie auf den Bereich der Handhelds und PDAs ausdehnt, erkannte Microsoft, daß viele eingebettete Systeme nicht denselben Anforderungen unterworfen waren und ganz im Gegensatz zu diesen kleinen Geräten gerade nicht über nur begrenzten Platz und Speicher verfügten. Es entstand Windows NT Embedded und einige Jahre später der Nachfolger Windows XP Embedded. Diese Betriebssysteme versteiften sich eher auf die PC-ähnlichen eingebetteten Systeme. Also all die Systeme, die auf ein umfangreiches Betriebssystem zurückgreifen konnten, da es keine Unterbringungsprobleme gab. Windows NT Embedded war allerdings mit Vorsicht zu genießen. In einer Fallstudie versuchte man, die Pro und Kontras gegeneinander abzuwiegen und kam zu dem Schluß, daß die Verwendung dieses Systems teilweise umständlich ist und eine hohe Einarbeitung voraussetzt. Zudem muß man sich in Anbetracht der kurzen Produktzyklen immer vor Augen halten, daß die Vorteile, die man gewinnt, auf Dauer nicht unbedingt vorteilhaft sind. [5] Zur MS Embedded Serie gehören Windows CE.NET, Windows XP Embedded und das Windows 2000 Server Appliance Kit.

6 2.2.2 Unterschiede Windows CE besitzt im Gegensatz zur üblichen PC-Version von Windows einen deutlich kleineren Kernel. Da diese hardwaremäßig entsprechend unterschiedlich sind, können die vorhandenen Hardwaretreiber von Windows NT/XP nur unter Umständen verwendet werden. Windows XP Embedded bietet im Gegensatz zur schlanken Version CE verschiedene Funktionen. Dazu gehören Backoffice-Funktionalität, die Erweiterung um Serverkomponenten, eine Mehrbenutzerverwaltung und größere Caching-Eigenschaften. [6] 2.3. Anforderungen des Einsatzes von Echtzeitbetriebssystemen Aufbau Beim Aufbau eines Echtzeitsystems im Allgemeinen kommt es auf verschiedene Eigenschaften an. Ein Echtzeitsystem besteht aus einem Rechnerteil (Hardware), einem Echtzeitbetriebssystem mit den für die Anwendung angepaßten Bestandteilen, und der Applikationssoftware. Letztere beinhaltet in der Regel die Anwendung, d.h. dort werden die vom Anwender gewünschten Aufgaben ausgeführt. Diese drei Komponenten müssen im Zusammenspiel das entsprechende Antwortverhalten, d.h. den zeitlichen Determinismus garantieren. Dabei gilt, je härter die zeitlichen Anforderungen sind, desto schneller muß die eingesetzte Hardware sein, oder desto simpler muß das eingesetzte Betriebssystem sein. Echtzeitbetriebssysteme besitzen einen Mikrokernel. Dies ist im Prinzip ein hardwareunabhängiger effizienter Scheduler 3 mit präzise definierten Schnittstellen. Das Echtzeitbetriebssystem bildet eine Schale um den Mikrokernel, die von Applikationsprogrammen nicht durchdrungen wird. Der Mikrokernel beinhaltet die Systemuhr, den Scheduler und die Semaphorenverwaltung 4. Er steuert die Rechenprozesse des Rechensystems und realisiert das Ablaufen derselben. Ein Task ist eine organisatorische Einheit, die aus ausführbarem Programmcode, eigenem Speicher und Variablen besteht. Diese besitzt zudem eine Priorität und einen Taskzustand. Man kann einen Task auch als lebendige Einheit bezeichnen, der eine Lebensdauer hat und nach entsprechender Zeit wieder aus dem System genommen wird. Der Task wird mit seiner Priorität in eine Kernelliste eingetragen. Der Kernel verwaltet mehrere Listen und für den richtigen zeitlichen Ablauf wird eine Ready Queue angelegt, die die einzelnen ablaufbereitenden Tasks beinhaltet. Manipuliert der Kernel eine seiner Listen aufgrund bestimmter Ereignisse, so tritt er in den Kernel State. Wenn dieser Zustand verlassen wird, aktiviert sich der Scheduler und arbeitet mit einem bestimmten Algorithmus die Rechenprozesse ab. Der Scheduler prüf anhand der Ready Queue, welchen Task der Mikroprozessor zugeteilt bekommt. In prioritätsgesteuerten Systemen bekommt derjenige Task die Rechenzeit zugeteilt, der ablaufbereit ist und die höchste Priorität besitzt. Die entsprechenden Deadlines können nach oben genannter Definition eines Echtzeitbetriebssystems harte oder weiche Kennzeichen besitzen. Die ausgeführten Tasks sind meistens bekannt und besitzen ebenfalls bekannte Prioritäten. Es wird deutlich, daß es beim Aufbau eines Echtzeitbetriebssystems auf garantierten statt hohen Durchsatz ankommt. Weiterhin bedeutend ist auch die Adaptierbarkeit auf spezielle Probleme. [2] 3 Ein Scheduler ist ein Taskmanager, der den Ablauf von Prozessen steuert 4 Semaphoro ital. Ampel, Zeichenträger

7 2.3.2 Speicherverwaltung Die Speicherverwaltung beeinflußt die Effizienz eines Echtzeitbetriebssystems sehr stark. Man kann die Speicherverwaltung dabei in drei Arten unterscheiden. Die erste betrifft das Kompilieren und statische Binden der Programme. Sie ist Aufgabe des Compilers und Linkers und unterscheidet das Echtzeitbetriebssystem prinzipiell nicht von herkömmlichen Betriebssystemen. Die zweite Speicherverwaltung findet beim dynamischen Binden (Dynamic Linker) statt. Diese beschränkt sich nur auf Echtzeitbetriebssysteme. Hierzu sind eine Reihe von speziellen Listen und Mechanismen notwendig, um den im System vorhandenen Arbeitsspeicher zur Laufzeit mit Programmcode zu füllen. Die letzte Speicherverwaltung gewinnt vor allem für die Programmiersprache C an Bedeutung. Dort sollen entsprechende Routinen so geschrieben sein, daß sie zur Laufzeit allokierte, d.h. belegte oder reservierte Speicher, nach Beendigung der Aufgabe wieder freigeben. Hier liegt die Hauptaufgabe des Betriebssystems, den gesamten Speicher zu verwalten. Eine virtuelle Speicherverwaltung ist nicht zwingend erforderlich oder sogar störend, weil sie Performanzeinbußen nach sich tragen kann Fehlerbehandlung Echtzeitsysteme zeichnen Sprachmittel zur Reaktion und Nutzung von sogenannten asynchronen Ereignissen aus, z.b. Interrupts, Signale, spezielle Elemente zur zeitlichen Steuerung und Behandlung von Ausnahmen. Der Hauptunterschied zu gewöhnlichen Betriebssystemen liegt in der gezielten Nutzung dieser Sprachmittel. Der reguläre Programmablauf kann von externen (Interrupts) oder internen Ereignissen (Signale) unterbrochen werden. Interrupts sind elektrische Signale, die direkt oder über Interrupt Controller an den Mikroprozessor gemeldet werden. Echtzeitsysteme sind für kürzeste Reaktionszeiten konstruiert, so daß jeder externe Interrupt in der Lage sein muß, den aktuell ablaufenden Task zu unterbrechen. Die Zeit, die vom Anlegen des Interrupts bis zum Start der entsprechenden Interrupt Service Routine vergeht, nennt man Interrupt Latenzzeit. Sie wird oftmals zum Vergleich der verschiedenen Echtzeitsysteme herangezogen (s.u.). Typische Interruptlatenzzeiten liegen bei heutigen Echtzeitbetriebssystemen im Bereich um die 10 Mikrosekunden. Sie hängen neben der Effizienz des Betriebssystems wesentlich vom eingesetzten Mikroprozessor ab. Ein Betriebssystem sollte in der Lage sein, den Großteil aller Softwarefehler, die sich direkt auf das Gesamtsystem auswirken, so abzufangen, daß zumindest noch eine Meldung über den Grund des Fehlers am Bildschirm erscheint. Es sollte also auch noch nach einem Windows Blue Screen zuverlässig weiterarbeiten können. [2] Synchronisation Echtzeitsysteme sind meistens Multitasking-Systeme. Dort fordert der zu steuernde Prozeß in zahlreichen Fällen die parallele Bearbeitung von Rechenprozessen. Daher kann bei einem preemptiven Multitasking jeder Prozeß mehrere Threads starten. Für den Mikroprozessor gibt

8 es allerdings nur die sequentielle Bearbeitung von Rechenprozessen. Dazu gibt es drei Möglichkeiten Prozesse zu synchronisieren. Ein erster Ansatz besteht in der Synchronisation der Rechenprozesse im Mikroprozessor zu äußeren Abläufen im zu steuernden Prozeß. Diese Synchronisation stimmt den Ablauf der Rechenprozesse mit ihren zeitlichen und logischen Anforderungen mit dem Ablauf des technischen Prozesses ab. So wird z.b. ein Rechenprozeß für das Einlesen von Daten blockiert bis alle Daten eingelesen sind. Würde man den Einleseprozeß nicht warten lassen, bis die Daten vollständig sind, so würde die weitere Verarbeitung mit einem unvollständigen Satz Daten arbeiten, was mit Sicherheit zu Fehlern führen würde. Ein weiterer Ansatz besteht in der Synchronisation der Rechenprozesse untereinander zur gemeinsamen Verwendung von Betriebsmitteln. Diese Synchronisierung bedeutet einfach ausgedrückt, daß ein Rechenprozeß so lange blockiert wird, bis ein zweiter Rechenprozeß mittels eines entsprechenden Signals meldet, daß er am Synchronisationspunkt angekommen ist. Synchronisation bedeutet auch hier das Einfügen von Wartebedingungen. Synchronisation heißt für das Echtzeitsystem immer ein Verlust an Performanz, da sich ständig einer oder mehrere Rechenprozesse in einem Wartezustand befinden. Für das Systemdesign folgt daraus, daß die Anzahl der Synchronisierungspunkte innerhalb eines Echtzeitsystems möglichst klein zu halten ist. Die Umsetzung der Synchronisation geschieht durch Sprachmittel des Echtzeitbetriebssystems. Je nach Ausstattung besitzt ein Echtzeitbetriebssystem eine Reihe von Konstrukten, die es erlauben, eine beliebige Anzahl von Rechenprozessen während des Ablaufs zu synchronisieren. Effiziente Echtzeitbetriebssysteme zeichnen sich durch sehr wenige zusätzliche Verwaltungssoftware aus. Das bekannteste Sprachmittel zur Synchronisation von Rechenprozessen sind die sogenannten Semaphoren (s.o.). Dabei funktionieren Semaphoren ähnlich wie Ampeln. Stellt man sich eine Kreuzung als gemeinsame Ressource mehrerer Fahrzeuge vor, so müssen diejenigen Fahrzeuge, die abbiegen wollen, an der roten Ampel warten, bis der Geradeausverkehr durchgefahren ist. Entsprechendes gilt bei der umgekehrten Ampelschaltung. Genauso verhält es sich mit Semaphoren. Ein Rechenprozeß A muß warten bis die Semaphore grünes Licht anzeigt. Da Rechenprozesse keine Signalleuchten verstehen, hat man sich auf folgende Semaphorenoperationen und Definitionen zur Synchronisation von Rechenprozessen geeinigt. 1. Semaphorvariablen (SV) sind Ganzzahlen aus dem Bereich von null bis unendlich. Auf die Menge der Semaphoren werden zwei mathematische Operationen definiert. 2. Inkrementieren um 1, auch mit V(SV) bezeichnet; je nach Definition der SV kann sie nur die Werte 0 und 1 annehmen (Binäre Semaphore). In diesem Fall hätte das Inkrementieren einer auf 1 gesetzten Semaphore keinen Effekt. Daneben gibt es noch sogenannte Counting Semaphoren, die beliebig oft inkrementiert werden können. 3. Dekrementieren um 1 und Überprüfung, auch mit P(SV) bezeichnet; ist der Wert von SV nach erfolgter Operation positiv, so wird SV um eins erniedrigt. Würde der Wert -1 werden so wird die Operation nicht ausgeführt. Genau für diesen Fall würde der Rechenprozeß, der die Dekrementierung vornehmen wollte, blockiert werden.

9 Da Rechenprozesse unter den genannten Umständen auf eine Semaphore blockieren, muß die Verwendung von Semaphoren sehr sorgfältig geplant werden. Insbesondere im Verlauf der Programmentwicklung können sich unvorhergesehene Zustände einstellen, die dazu führen, daß Rechenprozesse ungewollt blockieren. Daraus kann sich für das Gesamtsystem ein Fehlerzustand ergeben, aus dem das System ohne Hilfe nicht mehr heraus kommt. Man bezeichnet derartige Zustände als Dead Locks (dt. Verklemmungen). Aufgrund der Möglichkeit, daß Semaphoren Verklemmungen hervorrufen können, dürfen z.b. innerhalb von Interrupt Service Routinen (ISR) innerhalb von Systemen wie VxWorks 5 keine Dekrementierungsoperationen P(S) vorgenommen werden. Damit ist sichergestellt, daß eine ISR nicht blockieren kann. Dies ist notwendig, da eine ISR aufgrund ihrer hohen Priorität (höher als alle anderen Rechenprozesse) bei einer Verklemmung mit Sicherheit einen fatalen Systemzustand provozieren würde. Es gibt also neue Probleme, die es in gewöhnlichen Betriebssystemen nicht gibt. Dies ist die Prioritäteninvertierung durch Blockade infolge der Nutzung von Ressourcen. Die Invertierung bezieht sich auf eine Situation, bei der ein Thread niedrigerer Priorität die Ausführung eines Threads höherer Priorität verhindert, indem er eine Ressource blockiert, während beide um die selben Ressourcen konkurrieren. Um diese Situation zu korrigieren und um den Thread höherer Priorität zu befreien, erlaubt man dem Thread niedrigerer Priorität, sich vor den Thread höherer Priorität zu stellen, bis er die Ressource nicht mehr benötigt. Als Lösung dazu gibt es die Priority Inheritance (Vererben) und das Priority Ceiling (Obergrenze), was auch im Folgenden analysiert wird. Priority Inheritance bedeutet, daß die Antwortzeiten verbessert werden, weil durch das Blocken von Threads niedriger Priorität diese automatisch höhere Priorität übernehmen. [2] 3. Analyse 3.1. Kennzeichen von Windows CE Ursprünglich wurde Windows CE Anfang der 1990er Jahre als Betriebssystem für tragbare Rechner unterhalb eines Notebooks konzipiert. Daraufhin gab es verschiedene Entwicklungen, z.b. ein webpad-ähnliches Gerät mir Schrifterkennung. Allerdings kam es in dieser Form nie über Prototypen hinaus. Am Rande dieser Entwicklungen entwickelte ein Microsoftteam einen Kernel von Grund auf neu. Dieser Kernel hat sich durchgesetzt und wurde 1996 durch Windows CE 1.0 auf den Markt gebracht. Seit 2002 ist das Betriebssystem in das Microsoft-eigene Framework.NET eingefügt. Dieses Framework ist eine strategische Plattform zur Softwareentwicklung, die aber prinzipiell offen und betriebssystemunabhängig ist. Es steht als Sammelbezeichnung für alle möglichen Programmiersprachen wie C#.NET, VB.NET, C++.NET, ASP.NET, JScript.NET, ADO.NET und XML.NET. Ziel dabei ist, unterschiedliche Denkweisen, Schnittstellen und Datenaustauschmechanismen zu vereinheitlichen. Die aktuelle Version 5.0 von Windows CE wurde von Microsoft im Juli 2004 veröffentlicht. 5 VxWorks ist ein Echtzeitbetriebssystem von Wind River Systems, das z.b. bei der Pathfinder-Mission zum Mars eingesetzt wurde

10 Windows CE ist ein hartes Echtzeitbetriebssystem mit der Unterstützung von verschiedenen Prozessorfamilien (z.b. Intel, MIPS, Alpha). Weiterhin werden mehrere Prozessortypen unterstützt. Dies sind zum einen Intels 386, 486 und Pentium, zum anderen aber auch Power PC 403, 601 usw. Neuerdings konzentriert sich Microsoft auf Intel StrongARM Prozessoren, speziell SA1110 und SA1111 mit 206 MHz Taktfrequenz, einer 32-bit Architektur und einem 100 MHz Bussystem. Das Kernbetriebssystem besteht aus mehreren großen Softwaremodulen. Ein Teil verwaltet Prozesse, Speicher und Ressourcen, ein weiteres Modul ist für das Dateisystem mit permanenter Speicherung von Informationen zuständig. Das GWE (Graphics, Windowing, Event Subsystem) steuert die Grafikausgabe und fensterbezogene Features. Als viertes Modul gibt es eine Kommunikationsschnittstelle für den Informationsaustausch mit anderen Geräten. Zusätzlich wird die Verwaltung von installierbaren Gerätetreibern (Hardwareanbindung) und die Komponentenanbindung COM bzw. OLE unterstützt. Windows CE bietet ab Version Prioritätsstufen, acht davon für Applikationen. Ein critical process manager erkennt Abstürze und läßt das System auch nach diesem Blue Screen zuverlässig weiterarbeiten. Die Prioritätsstufen des früheren Windows CE kann man in drei Bereiche teilen. Die ersten beiden Level 0 und 1 sind für Echtzeitprozesse und Gerätetreiber bereitgestellt, die drei weiteren Level 2 bis 4 sind für die Kernelprozesse und normale Applikationen gedacht, und die letzten beiden Stufen sind Anwendungen zugeordnet, die jederzeit unterbrochen werden können. Windows CE ist ein preemptives Multitasking Betriebssystem. Daher kann jeder Prozeß mehrere Threads starten. Maximal können 32 Prozesse laufen, meist sind acht vom System reserviert. Ein weiteres Kennzeichen ist, daß Dienste und APIs 6 zum Teil kompontenenbasiert sind. Eine Untermenge der von herkömmlichen Windows-Systemen bekannten Win32-API wird unterstützt und bietet mehr als 1000 Funktionen. [6] Des weiteren läßt sich ein Betriebssystemkernel mit einem Speicherbedarf von 200kB in einem ROM 7 realisieren, was sehr gut ist. Windows CE bietet geschachtelte Interruptbehandlung, um verzögerte hochpriorisierte Interrupts zu vermeiden (Interrupt-Priorisierung). Damit ist das o.g. Priority Ceiling erreicht. Die normale Interruptbehandlung besteht aus zwei Teilen. Zuerst führt der Systemkern eine Interruptanfrage aus, um zu entscheiden, welche Interrupt Service Routine (ISR) für die Quelle verantwortlich ist. In dieser Routine wird der entsprechende Interrupt Service Thread (IST) benachrichtigt. Danach entscheidet der Scheduler, welcher Prozeß (Thread) als nächstes abzuarbeiten ist. Falls der IST der Prozeß mit der höchsten Priorität ist, wird dieser ausgeführt. In diesem Prozeß wird dann die notwendige Unterbrechnung (Interrupt) behandelt. Einer der signifikanten Aspekte der Echtzeit ist die Fähigkeit, eine Unterbrechung in einer bestimmten Zeit auszuführen. Dabei spielen die entsprechenden ISR- und IST-Latenzen eine Rolle. Diese wurden unter erläutert (s.a. 3.3.). Ein wichtiger Aspekt besteht auch in dem Verfahren des XIP, dem execution in place. Dabei wird nicht der übliche Datenpfad einer Rechnerarchitektur verwendet, sondern die Befehle aus dem ROM direkt ausgeführt. Nur bei Bedarf wird in den Programmspeicher umkopiert. [10] 6 API: Application Programming Interface; Anwendungsschnittstelle 7 ROM: Read Only Memory; Speicher, der auch nach Wegnahme der elektrischen Spannung den Zustand behält

11 3.2. Schwachpunkte Bei Windows CE gibt es derzeit keine dynamischen Prioritäten. Weiterhin kann es zu einem möglichen Verlust von Interrupts durch zweistufige Bearbeitung kommen. Daher gibt es stark variierende Reaktionszeiten, was einer rechtzeitigen Reaktion entgegensteht. Allerdings ist dies stark von der Systemauslastung abhängig. Dieser Zusammenhang kann den Einsatz von Windows CE unmöglich machen, weil das System unter Umständen versagt Möglichkeiten des Einsatzes Anforderungen an die Echtzeitfähigkeit bestehen in der Unterstützung von Threadprioritäten und der Vermeidung von Prioritäteninvertierungen. Die vorgenannte Synchronisation muß vorhersagbar sein. Im Zusammenhang mit einem vorhersagbaren zeitlichen Verhalten des Betriebssystems müssen dazu folgende Elemente bekannt sein: - maximale Zeit der Sperrung von Interrupts - maximale Zeit, die die Behandlung eines Interrupts dauert - maximale Interrupt Latenz sowie - maximale Ausführungszeit von Systemrufen. Die Preemption basiert auf Threadpriorität. Das heißt, daß Threads mit hoher Priorität zuerst laufen. Threads niedriger Priorität laufen nicht, bevor alle mit höherer Priorität fertig sind (oder blockieren). Eine Ausnahme stellen die Threads auf Level 0 dar, die nicht preemptiv laufen, da das Betriebssystem sonst versagen würde. Windows CE erlaubt Memory Mapping. Es können also mehrere Prozesse den gleichen physikalischen Speicher benutzen. Daraus folgen schnelle Datentransfers zwischen Prozessen und eine Erhöhung der Echtzeitperformanz. [8] 3.4. Bedrohungen Das zu betrachtende System besitzt eine Timerauflösung von 1ms (im Grunde 2ms Zeitscheiben für Tasks), was den Anforderungen für Echtzeitsysteme eher nicht genügt. Windows CE beinhaltet auch ein virtuelles Speichermanagement, was für Echtzeitbetriebssysteme auch nicht unbedingt geeignet ist. Bis zur Version 3.0 gab es 32 MByte Speicherkapazität pro Prozeß, was für manche Anwendungen zu wenig ist. Daher wird ein Memory Mapping (s.o.) verwendet, um Speicherbereiche auszutauschen. Das XIP führt dazu, daß sich Ladebereiche von Speicherbibliotheken verschiedener Anwendungen beeinflussen. Dies bedeutet, daß Lücken oft nicht nutzbar sind und offene Applikationen die Vorhersagbarkeit erschweren (letzteres ist ein wichtiges Kriterium für Echtzeitsysteme). Für eingebettete Systeme ergibt sich der Vorschlag, möglichst wenige XIP-Bereiche zu benutzen und diese dann so dicht wie möglich zu packen. Echtzeit im Sinne der Speicherverwaltung kann nur garantiert werden, wenn Prozesse festgeschrieben im Speicher laufen, und nicht durch Paging (Austauschen von Speicherseiten vom Cache in den Arbeitsspeicher) beeinflußt werden. [8] Es gibt sicher noch einige Lösungen, die an anderer Stelle untersucht werden können.

12 4. Technik 4.1. Benutzersicht Da das Microsoft-eigene.NET Compact Framework mitgeliefert wird, ist es recht einfach, Anwendungen für dieses Echtzeitbetriebssystem zu schreiben. Die Entwicklungsumgebung nennt sich Platform Builder und bietet Funktionen, die bislang nur über die Kommandozeile zugänglich waren. Sie verkürzt die Zeit des Kompilierens durch ein vereinheitlichtes inkrementelles Build-System, das auch mit manuell veränderten Dateien klarkommt. In der neuesten Version 5.0 sollen von der Microsoft Visual-Familie bekannte Bestandteile die Programmierung weiter erleichtern, z.b. automatisch eingeblendete Hilfetexte zur Syntax von Funktionsaufrufen. Mit vorhandenem, portierten Programmcode auf Basis der Win32-API lassen sich sehr effizient Anwendungen für Echtzeitsysteme erstellen. Dabei hilft die Verfügbarkeit von Gerätetreibern. Dadurch kann man die Echtzeiteigenschaften als sehr gut bezeichnen, allerdings findet sich auch eine mangelhafte Dokumentation vor. [3] 4.2. Implementierung Der Compiler des.net Frameworks erzeugt ähnlich wie die Programmiersprache Java aus den verschiedenen Sprachen wie C#.NET oder VB.NET einen byte code, die sogenannte MSIL (Microsoft Intermediate Language). Dies nennt man auch managed code, weil durch eine Garbage Collection eine gewisse Speicherverwaltung stattfindet. Außerdem werden Sicherheitsrichtlinien erzwungen. Dies macht es dem Benutzer leicht, mit dem Visual Studio.NET (Microsoft Entwicklungsumgebung) Programme zu erstellen. Für echtzeitfähige Programme gibt es weiterhin das Hilfsmittel embedded Visual C++. [6] Die Quelltexte der Module und des Systemkerns sind teilweise einsehbar, aber kaum kommentiert. Die verwendeten Quellsprachen sind C und C++ (bzw. neuerdings die.net- Versionen). Microsoft arbeitet bei Windows CE mit einer sogenannten Shared Source License. Früher wurde die kommerzielle Nutzung der Quelltexte in diesem Rahmen verboten und auch von der Heranziehung für Schadensersatzklagen wurde sich distanziert. Heutzutage dürfen Softwarefirmen basierend auf den zugänglichen Quellen allerdings eigene Windows CE- Derivate entwickeln und vertreiben. Dazu hat Microsoft die Anzahl der im Rahmen einer Shared Source Lizenz zugänglichen Quelltextzeilen um auf insgesamt 2,5 Millionen erhöht. Jede einzelnde Runtimelizenz von Windows CE 5.0 kostet inklusive Browser und Mediaplayer 15 US-Dollar pro Gerät. Ohne die grafische Oberfläche, den Browser und den Mediaplayer kostet die Lizenz drei US-Dollar. [3] Als Beispiel in der Industrie kann man sich für eine Robotersteuerung zwei Lösungsszenarien vorstellen. Eine Möglichkeit besteht in der ausschließlichen Nutzung von Windows CE.NET. Dieses ist in beschriebener Weise echtzeitfähig, skalierbar und kostengünstig. Die Herkunft aus der Windowsfamilie garantiert eine gute Treiberverfügbarkeit für angeschlossene Geräte.

13 Eine andere Möglichkeit besteht in der Nutzung einer Kombination aus Windows XP und Windows CE. Dabei wird Windows XP als Startsystem benutzt und Windows CE anschließend in den Speicher geladen. Das heißt, daß einige wenige Echtzeittasks auf Windows CE laufen. Trotzdem arbeitet das System auch nach einem Absturz des großen XP-Systems ordentlich weiter. Ein zusätzlicher Pluspunkt in dieser Variante ist ebenfalls die große Gerätetreiberverfügbarkeit. Die Kommunikation erfolgt über das Netzwerkprotokoll TCP/IP als Shared Memory Netzwerk. Die Kosten betragen dabei in etwa genau so viel wie ein anderes kommerzielles Echtzeitbetriebssystem. [4] 5. Zusammenfassung Die Nutzung eines Standard-Echtzeitbetriebssystems wird für einige Segmente auf dem Markt für eingebettete Systeme immer wichtiger. Heutzutage wird eine große Anzahl der Fähigkeiten durch die Software selbst geliefert. Wir stellen fest, daß das Windows CE Kernel Design die Mindestanforderungen an ein Echtzeitbetriebssystem erfüllt. Die Interrupt Latenz ist bedingt vorhersagbar und begrenzt. Des weiteren sind die Ausführungszeiten für Systemrufe vorhersagbar und unabhängig von der Systemlast. Das vorgestellte Echtzeitbetriebssystem Windows CE (inkl..net) läßt sich für Anwendungen wie Set-top-Boxen, Multimediaspieler und Handhelds einsetzen. Sogar für medizinische Geräte und die industrielle Automatisierungstechnik gibt es Einsatzszenarien. Auch Anforderungen im Automobilbereich sollte es genügen. Den Anforderungen echter sicherheitskritischer Anwendungen genügt es allerdings nicht. Auch wenn Microsoft den Markt der eingebetteten Systeme erobern möchte, so kann man festhalten, daß auf diesem Markt kein Echtzeitbetriebssystem verfügbar ist, das für jede mögliche Applikation die optimale Lösung darstellt. Wichtig ist daher, aus der Projektspezifikation für die geplante Applikation einen Anforderungskatalog abzuleiten, der mit den Möglichkeiten der einzelnen Produkte verglichen wird. Diese Auswahl führt bei einer systematischen Durchführung zu einem Echtzeitbetriebssystem, dessen Eigenschaften es am besten für die entsprechenden Anforderungen geeignet erscheinen lassen.

14 6. Literaturverzeichnis [1] Giese, H.: Vorlesung Safety-Critical Computer Systems WS 02/03 Universität Paderborn, 2002 [2] Hardwareecke <http://www.hardwareecke.de/berichte/grundlagen/rtos.php> (14. Juli 2004) [3] Heise Online, <http://www.heise.de/newsticker/meldung/48645> (05. Juli 2004) [4] Himmler, P.: Is Windows CE.NET usable for embedded real-time systems? < > (26. Juli 2004) [5] Mangold, K.: Gates oder Geht s nicht? Erfahrungen mit Windows NT embedded in: Holleczek, P./ Vogel-Heuser, B. (Hrsg.): Echtzeitkommunikation und Ethernet/Internet PEARL 2001, Springer Verlag, Heidelberg, 2001, S [6] Microsoft Windows Developer Network <http://msdn.microsoft.com/embedded/> (03. August 2004) [7] netlexikon, akademie.de asp GmbH <http://www.lexikon-definition.de/echtzeit.html> (03. August 2004) <http://www.lexikon-definition.de/echtzeitbetriebssystem.html> (03. August 2004) [8] Richling, J.: Vorlesung Betriebssysteme WS 03/04 Humboldt-Universität Berlin, 2003 [9] Spiegel Online: DaimlerChrysler ruft Mercedes SL und E zurück <http://www.spiegel.de/auto/werkstatt/0,1518,299464,00.html> (12. Mai 2004) [10] Staab, H.: Echtzeitsteuerungen mit Windows CE.NET < 4.13/35Sitzung/6_Staab_WinCe-Robot.pdf > (26. Juli 2004) [11] Steusloff, H.: Verteilte Echtzeitsysteme und Eingebettete Systeme in: Holleczek, P./ Vogel-Heuser, B. (Hrsg.): Verteilte Echtzeitsysteme PEARL 2003 Springer Verlag, Heidelberg, 2003 [12] Storey, N.: Safety-Critical Computer Systems Addison-Wesley, 1996

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

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

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

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

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

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

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

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

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

Implementierung Echtzeitbetriebssysteme Architektur eines RTOS am Beispiel Windows CE 23.03.2010 Autor: Rudi Swiontek und Ralf Ebert*

Implementierung Echtzeitbetriebssysteme Architektur eines RTOS am Beispiel Windows CE 23.03.2010 Autor: Rudi Swiontek und Ralf Ebert* Implementierung Echtzeitbetriebssysteme Architektur eines RTOS am Beispiel Windows CE 23.03.2010 Autor: Rudi Swiontek und Ralf Ebert* Echtzeitbetriebssysteme, kurz RTOS, besitzen neben harter Echtzeitfähigkeit

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

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

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

Mehr

Embedded 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

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

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

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

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

Echtzeitbetriebssysteme

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

Mehr

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

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

Mehr

Betriebssysteme: Windows CE. Dipl.-Inf. J. Richling Wintersemester 2003/2004

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

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

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

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

LINUX und Echtzeit. Eine Übersicht prinzipieller Lösungsansätze. Your partner for industrial, embedded Linux

LINUX und Echtzeit. Eine Übersicht prinzipieller Lösungsansätze. Your partner for industrial, embedded Linux LINUX und Echtzeit Eine Übersicht prinzipieller Lösungsansätze Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial

Mehr

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

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

Mehr

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

RAID. Name: Artur Neumann

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

Mehr

OSEKtime - Time-Triggered OSEK/OS

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

Mehr

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

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

Windows Vista Windows Phone 7

Windows Vista Windows Phone 7 Windows Vista Windows Phone 7 Softwarearchitekturen Referent: Frank Urrigshardt Übersicht Windows Vista Historische Entwicklung Programmierung NT Programmierschnittstelle Win32 Programmierschnittstelle

Mehr

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

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

Mehr

*DE102007042999A120090312*

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

Mehr

Betriebssysteme: Windows CE

Betriebssysteme: Windows CE EMES: Eigenschaften mobiler und eingebetteter Systeme Betriebssysteme: Windows CE Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011 Windows CE: Die Anfänge (Anmerkung: Alle Bilder c Microsoft)

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

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

Echtzeit-Betriebssysteme und -Bussysteme

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

Mehr

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

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

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

VxWorks - Aufbau und Programmierung

VxWorks - Aufbau und Programmierung VxWorks - Aufbau und Programmierung Dominik Meyer AG Echtzeitsysteme / Eingebettete Systeme Institut für Informatik Christian-Albrechts-Universität zu Kiel Zusammenfassung

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

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

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

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

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung Was für ein Tempo! Das Rad dreht sich rasant schnell: Die heutigen Anforderungen an Softwareentwicklung sind hoch und werden

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

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

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

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

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

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

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

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

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. Aufgabe 1.1: Systeminformationen Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. a) Wie lautet der Name des von Ihnen verwendeten Rechners? Der Systemname

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

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

Übersicht der 10 relevanten Realtime Betriebssysteme. Urs Böhm/31.August 2010

Übersicht der 10 relevanten Realtime Betriebssysteme. Urs Böhm/31.August 2010 Übersicht der 10 relevanten Realtime Betriebssysteme Urs Böhm/31.August 2010 Übersicht Wann ist ein Betriebssystem Echtzeitfähig -und wann nicht? Warum gibt es so viele RTOS? Verschiedene Einsatzgebiete

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

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

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland 360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?

Mehr

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

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

Mehr

CPU-Scheduling - Grundkonzepte

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

Mehr

Kompatibilität von Microsoft Exchange Server mit den Microsoft Windows Server-Betriebssystemen

Kompatibilität von Microsoft Exchange Server mit den Microsoft Windows Server-Betriebssystemen Kompatibilität von Microsoft Exchange Server mit den Microsoft Windows Server-Betriebssystemen Whitepaper Veröffentlicht: April 2003 Inhalt Einleitung...2 Änderungen in Windows Server 2003 mit Auswirkungen

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

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

Reflex The Real-Time Event Flow EXecutive

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

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen Inhalt Motivation allgemeine Bedrohungen für mobile Endgeräte bösartige Anwendungen für

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

Linux in der Automatisierung

Linux in der Automatisierung Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Lukas Vierhaus Dresden, 20.11.08 Gliederung Bereiche der Automatisierung Vorteile PC-basierter Steuerung

Mehr

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

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

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

Embedded Linux, OpenWRT

Embedded Linux, OpenWRT Embedded Linux, OpenWRT von Tim Keller EBV Spezialbetriebssysteme 1 Pro und Contra Embedded Linux Pro fehlende (oder bei fertigen Distributionen geringere) Lizenz- und Laufzeitgebühren Zugang zum Quellcode(gut

Mehr

Forms2Net Die neue Migrations-Software

Forms2Net Die neue Migrations-Software Forms2Net Die neue Migrations-Software Forms2Net transportiert Ihre Oracle Forms Anwendungen perfekt nach Microsoft.NET Darauf haben viele gewartet. Vielleicht auch Sie! Forms2Net ist ein Produktpaket,

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

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

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

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

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

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

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

Mehr

Lightweight Java in der Automatisierungstechnik

Lightweight Java in der Automatisierungstechnik Lightweight Java in der Automatisierungstechnik Erfahrungen aus dem Anlagenbau Dr. Markus Eiglsperger eig@zuehlke.com Business Driver im Anlagenbau Kosten Modularisierung Vernetzung Agilität Paradigmenwechsel

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

OS/2 System- und Netzwerkprogrammierung

OS/2 System- und Netzwerkprogrammierung Hans Joachim Müschenborn OS/2 System- und Netzwerkprogrammierung Multitasking Interprozeßkommunikation Multithreading DB/2-lntegration tewi Verlag sverzeichnis / I Inhaltsverzeichnis 5 In eigener Sache

Mehr

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium William Stallings Betriebssysteme Prinzipien und Umsetzung 4., überarbeitete Auflage Pearson Studium ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort Leitfaden für den Leser

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

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

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Adeos & Xenomai. Echtzeitbetriebssysteme / SS09. Alexander Behringer. Georg-Simon-Ohm-Hochschule Nürnberg. 24. Juni 2009

Adeos & Xenomai. Echtzeitbetriebssysteme / SS09. Alexander Behringer. Georg-Simon-Ohm-Hochschule Nürnberg. 24. Juni 2009 Adeos & Xenomai Echtzeitbetriebssysteme / SS09 Alexander Behringer Georg-Simon-Ohm-Hochschule Nürnberg 24. Juni 2009 Alexander Behringer (GSO Nbg) Adeos & Xenomai 24. Juni 2009 1 / 39 Übersicht Einführung

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

Unterschiede in den Konzepten von TinyOS und Embedded Linux

Unterschiede in den Konzepten von TinyOS und Embedded Linux Fakultät Informatik Institut für Angewandte Informatik, Professur Technische Informationssysteme Unterschiede in den Konzepten von TinyOS und Embedded Linux Dresden, 29.11.2010 Inhalt 1. Einführung 1.1

Mehr

TIMI: Technische Informatik für Medieninformatiker

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

Mehr

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

Embedded PCs / Embedded Systems. Stromversorgung / Power-Management. Embedded PC

Embedded PCs / Embedded Systems. Stromversorgung / Power-Management. Embedded PC Embedded PCs / Embedded Systems Stromversorgung / Power-Management Sensoren elektrisch optisch thermisch mechanisch magnetisch chemisch biologisch Aktoren Analog-/Digitalhardware Powerfail Speicher Watchdog

Mehr

Echtzeit-Linux mit dem RT-Preemption-Patch

Echtzeit-Linux mit dem RT-Preemption-Patch Echtzeit-Linux mit dem RT-Preemption-Patch IT-Klinger Andreas Klinger ak@it-klingerde 22072008 Der RT-Preemption-Patch integriert sich beinahe nahtlos in den Standard-Kernel und bietet Echtzeitfähigkeit

Mehr