Windows CE als Echtzeitbetriebssystem
|
|
- Juliane Meissner
- vor 8 Jahren
- Abrufe
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 < (14. Juli 2004) [3] Heise Online, < (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 < (03. August 2004) [7] netlexikon, akademie.de asp GmbH < (03. August 2004) < (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 < (12. Mai 2004) [10] Staab, H.: Echtzeitsteuerungen mit Windows CE.NET < /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
Übung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrAlbert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
Mehr4D 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
MehrVorbereitung 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
MehrAnleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren
Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren Ziel der Anleitung Sie möchten ein modernes Firewallprogramm für Ihren Computer installieren, um gegen
MehrFü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
MehrLizenzierung von System Center 2012
Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrNutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
MehrSANDBOXIE konfigurieren
SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrEinrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me
Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte
MehrPrint2CAD 2017, 8th Generation. Netzwerkversionen
Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrLernwerkstatt 9 privat- Freischaltung
Was tun, wenn mein Rechner immer wieder die Freischaltung der Lernwerkstatt 9 privat verliert und ich die Ursache dafür nicht finden kann? Normalerweise genügt es, genau eine einzige online-freischaltung
Mehr3.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
MehrLPT1 Anschluss mit PCMCIA Karte
1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht
MehrDatenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware
Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO
MehrFrontDoor/Monitor mehr sehen von FrontDoor
FrontDoor/Monitor mehr sehen von FrontDoor BYTEBAR.EU NEHMEN SIE SICH MEHR HERAUS Haben Sie schon einmal mit Ihrem Laptop direkt den Massenspeicher ausgelesen? FrontDoor/Monitor macht dies noch angenehmer.
MehrIn 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
MehrÜberprüfung der digital signierten E-Rechnung
Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrTapps mit XP-Mode unter Windows 7 64 bit (V2.0)
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...
MehrMetaQuotes Empfehlungen zum Gebrauch von
MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden
MehrWichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht
MehrFolgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
MehrBlacktip-Software GmbH. http://www.blacktip-software.de FVS. Fahrschul-Verwaltungs-System. Umstieg von V3 auf V4
Blacktip-Software GmbH http://www.blacktip-software.de FVS Fahrschul-Verwaltungs-System Umstieg von V3 auf V4 Version 4.0 Dezember 2012 Die in diesem Handbuch enthaltenen Informationen können ohne besondere
MehrKommunikations-Management
Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal
MehrLocal Control Network Technische Dokumentation
Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige
MehrFormular»Fragenkatalog BIM-Server«
Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrWindows 10 > Fragen über Fragen
www.computeria-olten.ch Monatstreff für Menschen ab 50 Merkblatt 103 Windows 10 > Fragen über Fragen Was ist das? Muss ich dieses Upgrade machen? Was bringt mir das neue Programm? Wie / wann muss ich es
Mehr10 Erweiterung und Portierung
10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle
Mehrschnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv
Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag
MehrStundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten
Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrFORUM HANDREICHUNG (STAND: AUGUST 2013)
FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...
MehrIBM Software Demos Tivoli Provisioning Manager for OS Deployment
Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,
Mehrmobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005
Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.
MehrWorkshop: Eigenes Image ohne VMware-Programme erstellen
Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community
MehrAnleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software
Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software Bei Verwendung eines PCs als Zentrale muss bei der Konfiguration der FHZ2000 die IP-Adresse des PCs angeben werden. Das ist in der
MehrKurzanleitung. Einstieg in die TripleCard Profi-Software. Zeiterfassungs- Software für. TripleCard Terminal
Kurzanleitung Einstieg in die TripleCard Profi-Software Zeiterfassungs- Software für TripleCard Terminal 2000 Towitoko AG Windows 3.11 Windows 95/98 Windows NT Windows 2000 So installieren Sie die TripleCard
MehrAnti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern
Windows XP in fünf Schritten absichern Inhalt: 1. Firewall Aktivierung 2. Anwendung eines Anti-Virus Scanner 3. Aktivierung der automatischen Updates 4. Erstellen eines Backup 5. Setzen von sicheren Passwörtern
MehrSeite 1 von 14. Cookie-Einstellungen verschiedener Browser
Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrAlle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.
Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
MehrProjektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes:
Projektmanagement Link http://promana.edulearning.at/projektleitung.html Einleitung Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes: Definition des Begriffs Projekt" Kriterien
MehrIn 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
Mehr3 Windows als Storage-Zentrale
3 Windows als Storage-Zentrale Windows als zentrale Datenspeichereinheit punktet gegenüber anderen Lösungen vor allem bei der Integration in vorhandene Unternehmensnetze sowie bei der Administration. Dabei
MehrSysteme 1. Kapitel 10. Virtualisierung
Systeme 1 Kapitel 10 Virtualisierung Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich
MehrBuddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrThema: Microsoft Project online Welche Version benötigen Sie?
Seit einiger Zeit gibt es die Produkte Microsoft Project online, Project Pro für Office 365 und Project online mit Project Pro für Office 365. Nach meinem Empfinden sind die Angebote nicht ganz eindeutig
MehrHerzlich Willkommen bei der nfon GmbH
efax Handbuch Herzlich Willkommen bei der nfon GmbH Wir freuen uns, Ihnen unser efax vorstellen zu dürfen. Mit dem efax können Sie zu jeder Zeit mit Ihrem Rechner Faxe empfangen. Sie bekommen diese dann
MehrGruppenrichtlinien und Softwareverteilung
Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden
MehrVB.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
MehrEinstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG
Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrEin mobiler Electronic Program Guide
Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller
MehrThe ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung
The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen
MehrPrintserver und die Einrichtung von TCP/IP oder LPR Ports
Printserver und die Einrichtung von TCP/IP oder LPR Ports In der Windowswelt werden Drucker auf Printservern mit 2 Arten von Ports eingerichtet. LPR-Ports (Port 515) oder Standard TCP/IP (Port 9100, 9101,9102)
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
Mehr1 Informationelle Systeme begriffliche Abgrenzung
1 Informationelle Systeme begriffliche Abgrenzung Im Titel dieses Buches wurde das Wort Softwaresystem an den Anfang gestellt. Dies ist kein Zufall, denn es soll einen Hinweis darauf geben, dass dieser
MehrÜ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
MehrTask 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
MehrMeldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung
Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,
MehrHTBVIEWER INBETRIEBNAHME
HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten
MehrVersion smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):
Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils
MehrInstallationsanleitung Sander und Doll Mobilaufmaß. Stand 22.04.2003
Installationsanleitung Sander und Doll Mobilaufmaß Stand 22.04.2003 Sander und Doll AG Installationsanleitung Sander und Doll Mobilaufmaß Inhalt 1 Voraussetzungen...1 2 ActiveSync...1 2.1 Systemanforderungen...1
MehrS/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine
PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so
MehrHandbuch B4000+ Preset Manager
Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrHandbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen
Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrAnalyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS
Analyse zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com Januar 2010 Inhalt Summary und Key Findings
MehrEigenen WSUS Server mit dem UNI WSUS Server Synchronisieren
Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...
MehrInhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.
Inhalt 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features Seite 2 von 11 1. Übersicht MIK.mobile for ipad ist eine Business Intelligence
MehrRTEMS- Echtzeitbetriebssystem
RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-
MehrDriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH
6 DriveLock und das Windows Sicherheitsproblem mit LNK Dateien CenterTools Software GmbH 2010 Copyright Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderen Verweisen
MehrCOMPUTER MULTIMEDIA SERVICE
Umgang mit Web-Zertifikaten Was ist ein Web-Zertifikat? Alle Webseiten, welche mit https (statt http) beginnen, benötigen zwingend ein Zertifikat, welches vom Internet-Browser eingelesen wird. Ein Web
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrInstallation und Inbetriebnahme von SolidWorks
Inhaltsverzeichnis FAKULTÄT FÜR INGENIEURWISSENSCHAFTEN I Prof. Dr.-Ing. Frank Lobeck Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis Inhaltsverzeichnis... I 1. Einleitung... 1 2. Installation...
MehrC++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang
Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige
MehrWindows-Sicherheit in 5 Schritten. Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de.
Windows-Sicherheit in 5 Schritten Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de. Inhalt: 1. Schritt: Firewall aktivieren 2. Schritt: Virenscanner einsetzen 3. Schritt: Automatische Updates
MehrTTS - TinyTimeSystem. Unterrichtsprojekt BIBI
TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen
Mehr2.1 Lightning herunterladen Lightning können Sie herunterladen über: https://addons.mozilla.org/thunderbird/2313/
& Installation der Thunderbird Erweiterung Lightning unter Windows Mozilla Sunbird ist ein freies Kalenderprogramm der Mozilla Foundation. Mozilla Lightning basiert auf Sunbird, wird jedoch als Erweiterung
MehrAnleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
MehrInternet online Update (Internet Explorer)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:
MehrWas ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
MehrHerstellen von Symbolen mit Corel Draw ab Version 9
Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten
Mehr