Proseminar Technische Informatik Eingebettete Systeme

Werbung
Proseminar Technische Informatik
Eingebettete Systeme
Echtzeitbetriebssysteme
Markus Münchberg
20.6.2001
Inhaltsverzeichnis
1 Einführung
2 Aufgaben eines Betriebssystems
3 Aufbau eines Betriebssystems
3.1
3.2
3.3
3.4
3.5
Das Schichtenmodell . . . . . . . . . . .
Taskmodell . . . . . . . . . . . . . . . .
Unterbrechungskonzept bei Taskwechsel .
Tasksynchronisation . . . . . . . . . . .
POSIX 1.b . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
3
4
4
6
7
8
9
4 Echtzeit in Betriebssystemen
11
5 Zusammenfassung
6 Ausblick
14
15
4.1 Anforderungen an ein Betriebssystem . . . . . . . . . . . . . . 11
4.2 Einige Echtzeitbetriebssysteme . . . . . . . . . . . . . . . . . . 12
4.3 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . 13
1
Kapitel 1
Einführung
Ziel dieses Seminars soll es sein, Aufbau und Aufgaben eines Echtzeitbetriebssystems zu erläutern. Im Groben gesprochen, lassen sich heute übliche
Betriebssysteme nach der Fähigkeit einteilen, Prozesse in einer vorgegebenen
Zeitspanne auszuführen. Insbesondere bei eingebetteten Systemen sowie in
der Automation ist Echtzeitfähigkeit oft an einem Betriebssystem das Wichtigste, damit diese Systeme zeitlich sicher gesteuert werden können. Ebenso
wenn mehrere Systeme zusammen arbeiten müssen, sollten sie nicht nur zeitlich aufeinander abgestimmt sein, sondern auch miteinander kommunizieren
können. Bei einem modernen Echtzeitbetriebssystem sollte die Portabilität
auf verschiedene Systeme gegeben sein. Portabilität bezeichnet die Übertragbarkeit von Programmen auf andere Rechnersysteme. [2] Dadurch kann
eine Anwendung einmal programmiert, auf den unterschiedlichsten Systemen angewendet werden. Je höher der Portabilitätsgrad, um so weniger
müssen Programmänderungen dafür vorgenommen werden. Gerade in der
fortschreitenden Dezentralisierung in allen Bereichen der Automatisierung
ist eine schnelle Anwendungsentwicklung von groÿer Bedeutung.
Ein Echtzeitbetriebssystem gilt nach DIN als echtzeitfähig, wenn es innerhalb einer benenn- und garantierbaren Zeit auf zufällige, externe Ereignisse
reagieren kann. [3] Diese Norm sagt aber nichts über die Zeitlänge aus. Diese
Zeitspanne kann im Prinzip über Minuten andauern wie die Steuerung von
Pathnder auf dem Mars [7], aber im allgemeinen ist sie ein Bruchteil einer
Sekunde lang. Oft muÿ ein Echtzeitsystem innerhalb von Mikrosekunden
reagieren, um seine Anforderungen gerecht zu werden.
Es wird zwischen harter und weicher Echtzeit unterschieden. Harte Echtzeit
bedeutet, daÿ die Zeit unbedingt eingehalten werden muÿ, dagegen wird sie
weich genannt, wenn eine Deadline verpasst werden darf. Oft wird ein weiches System als kein Echtzeitsystem angesehen, da die Forderung Deadlines
einzuhalten, nicht gegeben ist.
2
Kapitel 2
Aufgaben eines Betriebssystems
Ein Betriebssystem ist in erster Linie ein Programmsystem für die Task- und
Betriebsmittelverwaltung. Zu den Betriebsmitteln gehört Hardware (Prozessor, Speicher, Peripheriegeräte...) und Software (Programme, Dateien, Variable, Daten...), die eine Task zur Ausführung benötigt. Wobei eine Task,
kurz gesagt, als ein dynamisches Programm mit allen dazu benötigten Betriebsmitteln, gesehen werden kann. Die primären Funktionen eines auf Tasks
basierenden Betriebssystems lassen sich in vier Blöcke einteilen. Dies sind:
1. Taskverwaltung
Unterbrechungsverwaltung
Prozessorzuteilung an eine Task
Tasksynchronisation
2. Betriebsmittelverwaltung
Arbeitsspeicherverwaltung (Binden, Laden)
E/A-Verwaltung (Steuerung, Gerätetreiber)
Dateiverwaltung (Externspeicherverwaltung)
3. Zuverlässigkeitsmaÿnahmen
Beheben von Übertragungs- und Speicherfehlern
4. Schutzmaÿnahmen
Berechtigungsliste von Betriebsmittel
Paÿwörter
3
Kapitel 3
Aufbau eines Betriebssystems
Zuerst wird in diesem Kapitel die Struktur (Schichtenmodell) eines modernen Betriebssystems erläutert. Da die Task dafür eine entscheidende Rolle
spielt, muÿ sie und ihre möglichen Zustände erklärt werden. Desweiteren
wird beschrieben, nach welchen Kriterien ein Betriebssystem ein Taskwechsel erfolgen lässt, und welche Möglichkeiten für die Tasksynchronisation existieren. Zum Schluÿ wird der IEEE-Betriebssystem-Aufrufstandard POSIX
beschrieben.
3.1 Das Schichtenmodell
Die allerersten und damit auch noch die einfachsten Betriebssysteme hatten
den sogenannten monolithischen Aufbau. Es ist bei ihnen keine Struktur
erkennbar. Diese Betriebssysteme sind noch nicht task-, sondern prozedurorientiert. Dies bedeutet, daÿ jede Prozedur jede andere aufrufen darf. Ein
bekanntes Beispiel ist das OS/360 von IBM (1964).
Dagegen sind moderne Betriebssysteme strukturiert aufgebaut, da sie hierarchische modulare Schichten besitzen. Mit Hilfe der Modulen werden die
Anwendungs- und Erweiterungsmöglichkeiten stark vereinfacht. Eine Task
ist die geeignetste Form für eine Modul in einem Betriebssystem, da nur
Tasks das geeignete Abstraktionsniveau (Unterbrechungsverarbeitung, Prozessoraktivitäten) besitzen. Auch können Tasks gut ein Botschaftensystem
realisieren, da sie autonom miteinander kommunizieren (kein Master/Slave).
Besitzt ein Betriebssystem Schichten, so wird vor allem der Prüfaufwand erheblich verkleinert, weil es nun ein lineares und kein quadratisches Problem
, wie in einem monolithischen System, darstellt. Ein hierariesches Echtzeitbetriebssystem ist durch mehrere Hierarchieschichten aufgeteilt.
Eine Hierarchieschicht n besteht aus Tasks, die immer nur auf diejenigen
4
KAPITEL 3. AUFBAU EINES BETRIEBSSYSTEMS
5
Tasks in der direkt darunter liegenden Schicht n-1 oder den noch tieferen
Schichten zugreifen können. Daraus leitet sich das sogenannte Schichtenmodell eines Betriebssystems ab. In diesem Modell besteht ein Betriebssystem aus Hierarchien von abstrakten Maschinen M und den dazugehörigen
Taskschichten T . Eine abstrakte Maschine M deniert das Abstraktionsniveau einer ganzen Hierarchieschicht. Diese Architektur ist in Abbildung 3.1
am Beispiel des MINIX-Betriebssystems dargestellt. Die unteren Schichten
M1 bis M3 bilden das Betriebssystem, und die oberste Schicht M4 besteht aus
der Systemsoftware. Die Schicht M1 stellt sämtliche Funktionen der Taskverwaltung zur Verfügung und ist somit der Betriebssystemkern. M2 hat den
Funktionsumfang der in dieser Schicht resultierenden Tasks T2 , wie den geräteunabhängigen E/A- oder den Treibertasks. Die Schicht M3 besteht aus
der Datei- und Speicherverwaltung. Bei neueren Betriebssystemen wird versucht, möglichst viele Funktionen in die oberen Schichten zu verlagern, um
damit die Maschinen M1 zu entlasten. Dies bringt den Vorteil, daÿ weniger
Fehler in der Schicht M1 auftreten können und dadurch die Zielhardware M0
blockiert.
i
i
i
Abbildung 3.1: Taskschichten im Betriebssystem [10]
KAPITEL 3. AUFBAU EINES BETRIEBSSYSTEMS
6
3.2 Taskmodell
Unter einer Task versteht man ein laufendes oder ausführbares Programm,
wenn dieses die dazugehörigen Werte der Betriebsmittel und der aktuellen
Zustandvariablen besitzt. Die Zustandsvariablen einer Task bestehen aus
den Daten von Programmzählern, Variablen und Registern.
Der Unterschied einer Task zu einem Programm soll im folgenden anhand
eines Beispieles gezeigt werden. Es gäbe einen Roboter T, der von einer Task
gesteuert, und einen andern P, der von einem Programm gesteuert wird. Es
sei ihnen die Aufgabe gestellt von A nach B zu gelangen. Roboter P ndet
den Weg nur so, wie es ihm einprogrammiert worden ist. Das heiÿt: Wenn
ein problematisches Hindernis auftritt, vermag er keinen alternativen Weg zu
nden, sondern bleibt einfach davor stehen. Der Roboter T hingegen erprobt
solange andere Wege, bis er ans Ziel gelangt ist. Roboter T verhält sich wie
eine Task, die eine Aufgabe gestellt bekommt, die er lösen muÿ. Dazu gehört
zum Beispiel auch eine angemessene Bewältigung von externen Ereignissen
aus der Umwelt. So ist eine Task eine dynamische Einheit. Es gibt sechs
verschiedene externe (globale) Zustände, die eine Task einnehmen kann:
Existent
Bereit: Sie ist lauähig, alle Betriebsmittel auÿer dem Prozessor wur-
den ihr zugeteilt.
Laufend: Bereit + Prozessor wurde zugeteilt
Blockiert: Wartet auf ein Unterbrechungssignal oder auf die Zuteilung
von Betriebsmitteln, um ihre Arbeit fortzusetzen.
Beendet: Alle Anweisungen wurden abgearbeitet und ihre zugeteilten
Betriebsmittel wurden abgegeben.
Nicht Existent
KAPITEL 3. AUFBAU EINES BETRIEBSSYSTEMS
7
Abbildung 3.2: Mögliche Taskzustände [9]
3.3 Unterbrechungskonzept bei Taskwechsel
Das Unterbrechungskonzept (Taskwechsel) ist bei einem Echtzeitbetriebssystem sehr wichtig, da damit die Tasks mit der höchsten zeitlichen Priorität
zuerst ausgeführt werden können, um so den Echtzeitanforderungen gerecht
zu werden. Es gibt zwei verschiedene Strategien der Anordnung, die Taskwechsel in der Warteschlange bestimmen.
Zum einen der Rundlauf, das heiÿt: Die Tasks werden nacheinander ausgeführt und ist deshalb für ein Echtzeitbetriebssystem absolut nicht tauglich.
Zum anderen die von jedem Echtzeitbetriebssystem verwendete PrioritätStrategie, bei der jede Task eine Prioritätenklasse zugeordnet bekommt. Dies
geschieht indem zunächst jeder Task des Betriebssystems oder der Benutzersoftware in eine Prioritätenklasse zugeordnet wird. Die Task mit der
höchsten Priorität kommt zuerst zum Laufen. Wenn mehrere Tasks sich
in einer Prioritätenklasse benden, so bilden sie eine Warteschlange. Wird
die Warteschlange einer höheren Prioritätenklasse abgearbeitet, dann birgt
dies die Gefahr in sich, daÿ die Tasks die in der Warteschlange einer niederen Prioritätenklasse anstehen, verhungern. Aus diesem Grunde verfolgen
KAPITEL 3. AUFBAU EINES BETRIEBSSYSTEMS
8
die Betriebssystemhersteller noch andere Strategien des Taskwechsels. Sie
berechnen die Taskprioritäten dynamisch, oder sie geben, wie z.B. bei dem
VMS-Echtzeitbetriebssystem, das Modell der Taskprioritätenklassen auf. An
dessen Stelle wird ein Modell gesetzt, bei dem jede Task eine eigene Priorität besitzt, die vom Ausführungszeitpunkt und der Bedeutsamkeit der Task
abhängt.
Eine Unterbrechung von Tasks kann verschiedene Ursachen haben. So kann
eine externe Geräteunterbrechung vorliegen. Auch können Signale der internen Realzeituhr oder Fehler der Hardware einen Taskwechsel verursachen.
Ebenso können interne Softwareunterbrechungen zu einem Wechsel von Tasks
führen. Die Dauer eines Taskwechsel liegt bei etwa 120 Mikrosekunden. [9]
3.4 Tasksynchronisation
Tasks müssen öfters synchronisiert werden. Der Grund ist der, daÿ Tasks um
ihre Aufgabe auszuführen, auf meist nur exklusiv benutzbare Betriebsmittel
Zugri haben. Als Beispiel eignet sich das Erzeuger/Verbraucher Problem.
Die Korrelation zwischen Erzeuger-Task und Verbraucher-Task funktioniert
mit Hilfe eines Zwischenpuers. Dabei gibt es zwei Bedingungen, die erfüllt
sein müssen:
Der Erzeuger darf ein Puerelement nicht füllen, bis es geleert wurde.
Der Verbraucher darf erst dann ein Puerelement leeren, wenn es gefüllt
wurde.
Das einfachste Synchronisationskonzept ist das Semaphorprinzip aus dem
Jahr 1965 und geht auf Dijkstra zurück. Ein Semaphor ist eine einzelne
Synchronisationsbedingung mit einer elementaren Datenstruktur. Um eine
Synchronisation zu ermöglichen, wird mittels eines Zählers festgelegt, welche
Task in den kritischen Bereich eintreten darf (positiver Zähler), bzw. welcher
der kritische Bereich verwehrt bleibt (negativer Zähler). Bei einem negativen
Zählwert kann die Synchronistationsbedingung nur dadurch erfüllt werden,
daÿ der Zugang zum kritischen Bereich für weitere Tasks verwehrt bleibt. Alle Tasks, die nicht eintreten dürfen, wechseln ihren Zustand von laufend zu
blockiert. Diese Tasks werden dann mit Hilfe einer zweiten Zahl anstatt in die
blockiert-Warteschlange in die spezielle Semaphorwarteschlange S-Schlange
eingereiht. Dadurch hat das Betriebssystem den Überblick, welche Task auf
die Erfüllung welcher Bedingung wartet. Wird nun solch eine Synchronisationsbedingung erfüllt, so muÿ das Betriebssystem die erste Task derjenigen
KAPITEL 3. AUFBAU EINES BETRIEBSSYSTEMS
9
Semaphorwarteschlange S-Schlange wieder in den Bereit-Zustand versetzen.
Dies birgt den entscheidenten Vorteil, daÿ die blockierte Task nicht mehr
selber schauen muÿ, wann sie in den kritischen Bereich wechseln kann.
Ein weiteres Synchronisationsprinzip ist der Monitor. Es eignet sich vor allem zur Verwaltung von Betriebsmitteln. Monitore funktionieren, indem nur
eine Task oder ein anderer Monitor (verschachtelter Monitor) ihn aufrufen
darf. Dadurch rufen einzelne Tasks sich nicht mehr gegenseitig auf, sondern
nur den Monitor. Also werden die Daten von den Tasks entweder an den
Monitor gesendet (SEND) oder aber gelesen (RECEIVE). Monitore werden
fast in keinem Echtzeitbetriebssystem eingesetzt, da sie den Nachteil haben,
sehr langsam zu sein.
Der Botschaftentransport ist eines der wichtigsten Mittel für die Intertaskkommunikation bei verteilten Systemen. Gewöhnlich stellt das Betriebssystem
hierfür zwei Operatoren zur Verfügung:
SEND: Die Aufrufparameter der aufrufenden Task werden mit angegeben. (IN: Empfängertask-Indentikation, Botschaft)
RECEIVE: Aufrufende Task erhält die Parameter wieder zurück.
(OUT: Sendertask-Indentikation, Botschaft) In einem Botschaftensystem sind Sende- und Empfängertask autonom, daÿ heiÿt die Sendetask hat keine unmittelbare Kontrolle über die Empfängertask und
natürlich auch umgekehrt.
3.5 POSIX 1.b
Unix und deren Abkömmlinge haben eine groÿe Bedeutung bei den aktuellen
Echtzeitbetriebssystemen. Gerade Linux hat in der Computergemeinde eine
immer gröÿere Beliebtheit in den letzten Jahren erreicht. POSIX (Portable
Operation System Interface Linux) ist ein IEEE Schnittstellen-Standard, der
das Verhalten eines Satzes von Betriebssystem-Aufrufen deniert, die sich
eng an den von UNIX verwendeten anlehnen. [1]Da POSIX nicht selbst ein
Betriebssystem darstellt, sondern vielmehr eine formale Beschreibung einer
Betriebssystemsform, ist es möglich, ein Programm, daÿ nur die von POSIX
denierten Funktionen benutzt, auf einfache Weise zwischen verschiedenen
Betriebssysteme (die POSIX konform sind) zu portieren. Dadurch ist gerade
heute in der immer vernetzteren Welt, eine hohe Portabilität geliefert. Die
von POSIX bereitgestellten Befehle sind UNIX-Befehle wie:
KAPITEL 3. AUFBAU EINES BETRIEBSSYSTEMS
10
cd - change directory
ls - list directory contents
cp - copy
rm - remove
mv - move
Seit dem Erscheinen von POSIX.1 kamen immer wieder einige neue Betriebssystembefehle dazu. Die neueste Version POSIX.4 (oder auch POSIX.1b)
bietet auch den Befehlssatz der für Echtzeitanwendungen benötigt wird. Es
bietet unter anderem Echtzeit Scheduling, Zeitmessung und asynchrone Warteschlangen für Signale. So sollte gerade dieser Standard in modernen Echtzeitbetriebssystemen verwendet werden, was leider noch nicht in allen der
Fall ist.
Kapitel 4
Echtzeit in Betriebssystemen
In diesem Kapitel werden zuerst die Bedingungen eines Betriebssystems das
Echtzeitfähig ist, erklärt. Anschlieÿend werden die Stärken von vier populären Echtzeitbetriebssysteme erwähnt. Am Schluÿ dieses Kapitels werden
einige Beispiele für den Einsatz von Echtzeitbetriebssysteme aufgeführt.
4.1 Anforderungen an ein Betriebssystem
Für ein Betriebssystem, das echtzeitfähig sein soll, müssen bestimmte Forderungen erfüllt sein. Ein Echtzeitbetriebsystem muÿ vorhersagbare Antwortzeiten garantieren. Es muÿ also bekannt sein, welche Task wie lange
und wann ausgeführt wird. Das Betriebssystemverhalten muÿ bekannt sein.
Dazu gehören:
Taskverwaltung nach Echtzeitkriterien: Damit ist vor allem gemeint,
wann welche Task ausgeführt wird. Dazu muÿ das Betriebssystem
Tasksprioritäten setzen können und gegebenenfalls eine laufende Task
wegen einer Task mit einer höheren Priorität unterbrechen können.
Folglich muÿ diejenige Task gefunden werden, welche die Betriebsmittel
am nötigsten braucht. Im Idealfall bekommt diejenige Task die Ressourcen, welche die nächste Deadline erreichen muÿ. Das Problem ist
nur, daÿ viele Tasks Daten von anderen Tasks benötigen. Aus diesem
Anlaÿ müÿen die anderen Tasks davor ausgeführt werden. Genau aus
diesem Grund sollte ein gutes Echtzeitbetriebsystem eine ausgefeilte
Taskplanung besitzen. Dies ist mit das Hauptkriterium eines Echtzeitbetriebssystems. Da dies zum Beispiel bei Windows von Microsoft
fehlt, und so eine Task die Kontrolle über die Betriebsmittel für immer
erhalten kann, ist dieses Betriebssystem nicht wirklich echtzeitfähig.
11
KAPITEL 4. ECHTZEIT IN BETRIEBSSYSTEMEN
12
Zeitliches Systemverhalten muÿ bekannt sein: Der Entwickler muÿ alle
Zeiten, die das Betriebssystem benötigt, genau kennen, um Echtzeitanwendungen zu programmieren. Deshalb sollten die folgenden Angaben
von dem verwendeten Echtzeitbetriebssystem in Verbindung mit der
Hardware bekannt sein:
1. Interrupt Verzögerungszeit: Das ist die Zeitspanne zwischen Interrup und Tasklaufzeit. Obwohl dieser Wert von der Anzahl der
im selben Moment eintretenden Interrups abhängt, muÿ er vorhersagbar sein. Natürlich muÿ er zeitlich zu der Anwendung passen.
2. Zeit für Systemaufruf: Zu jedem Systemaufruf muÿ die maximale
Zeit bekannt sein. Diese sollte vorhersagbar sein.
3. Zeit für Interrupt: Die notwendige Zeit, um einen Interrup zu
verarbeiten, muÿ auch bekannt sein.
4.2 Einige Echtzeitbetriebssysteme
Es existieren viele verschiedene Echtzeitbetriebssysteme auf dem Markt. Einige sind auf spezielle Aufgaben ausgerichtet, aber es gibt einige sehr populäre, die für fast alle Situationen und Hardware benutzt werden können. Als
Beispiele eignen sich diese bekannten Echtzeitbetriebssysteme sehr gut:
QNX Neutrino /RTP [8]
POSIX.1b
Veränderliche grasche Oberäche
Fast alle Linux Entwicklungs-Tools sind benutzbar
OS-9 [6]
Gute grasche Oberäche
Sehr viele Utillities
VxWorks [11]
Sehr exibel
Über 1800 Anwenderprogramme
KAPITEL 4. ECHTZEIT IN BETRIEBSSYSTEMEN
13
Delta OS [4]
Für weitverbreitete CPUs (Power PC, Intel x86)
Robuster und skalierbarer Echtzeit-Kern
Eine ausfürliche Liste von Echtzeitbetriebssystemen ndet sich in: [5]
http://www.dedicated-systems.com/encyc/buyersguide/rtos/Dir228.html
4.3 Anwendungsbeispiele
Echtzeitbetriebssysteme werden überall benötigt, wo bei einem System irgendeine zeitliche Anforderung existieren soll. Die Einsatzgebiete von Echtzeitbetriebssystemen sind sehr vielseitig, und sie werden auch in Systemen
benutzt, bei denen es oft nicht vermutet wird. Beispiele für die Anwendung
von Echtzeitbetriebssystemen sind:
Automatisierte Fertigungsstraÿen
Kreditkartensysteme
Elektrische Fensterheber
ABS, ESP in Automobilen
Waschmaschinen
Überwachungsfunktion auf einer Intensivstation
Steuerung eines Kernkraftwerkes
Buchungssysteme, z.B: Ticketverkauf bei einer Airline
Steuerung von Raketen.
Kapitel 5
Zusammenfassung
Betriebssysteme sind in erster Linie für Betriebsmittel- und Taskverwaltung
zuständig. Dies möglichst ezient auszuführen, ist bei Echtzeitbetriebssystemen, die ihre Aufgaben in einem, oft sehr kurzen zeitlichen Rahmen ausführen müssen, das entscheidende Kriterium. Um dem gerecht zu werden,
muÿ ein Betriebssystem einen hierarchischen Aufbau besitzen, der zudem
modular und taskorientiert implementiert ist. Dies wird durch Hierarchien
von abstrakten Maschinen und zugehörigen Taskschichten erreicht. Eine sehr
wichtige Rolle bei Echtzeitbetriebssystemen spielt die richtige Taskreihenfolge. Nur wenn die richtige Task zur richtigen Zeit ausgeführt wird, kann ein
System optimal arbeiten. Daher sollte das Betriebssystem jeder Task eine
Ausführungspriorität zuordnen. Dabei sollte aber auch beachtet werden, daÿ
keine Task unausgeführt bleibt (verhungert).
Zur Taskverwaltung gehören auch Taskwechsel und Tasksynchronisation (Semaphor, Monitor, Botschaften). Für den Benutzer eines Echtzeitsystems ist
es von wesentlicher Relevanz, das genaue Verhalten des Betriebssystemes zu
kennen. Dazu gehören vorhersagbare Unterbrechungs- sowie Systemaufrufzeiten.
Ein Echtzeitbetriebssystem wird in erster Linie dazu verwendet, um zeitkritische Systeme sicher zu steuern. Da öfters ein Programm auf verschiedene
Systeme verwendet werden muÿ, sollte dieses Programm portabel sein. Besonders hilfreich hierfür ist der POSIX 1.b Schnittstellenstandart.
14
Kapitel 6
Ausblick
Die auf Echtzeitbetriebssystem-Kerne spezialisierten Hersteller werden zukünftig versuchen, noch kleinere, schnellere und funktionsfähigere Kerne zu
produzieren. Um konkurrenzfähig zu bleiben, werden sie gezwungen sein,
die Forschung insbesondere mit Blick auf die kleinsten eingebetteten Systeme voranzutreiben.
Ein anderer Trend wird dahin gehen, die Betriebssysteme noch komfortabler für den Anwender zu gestalten. Um die immer komplexeren Systeme
möglichst einfach zu steuern, müssen leicht zu handhabende multitaskfähige
Echtzeitbetriebssysteme entwickelt werden.
So wird die Portabilität zwischen oenen Systemen mit verschiedenen Betriebssystemen durch POSIX 1.b deutlich gesteigert. Was gegenwärtig nur
wenige Betriebssysteme bieten, sollte in Zukunft durch neue Standards weite
Verbreitung nden. Es sollte vor allem die Internetfähigkeit von Betriebssystemen ausgebaut werden. Die Verknüpfung von Echtzeit und Internet dürfte
die gröÿte Herausforderung sein, die sich in den nächsten Jahren stellt.
15
Literaturverzeichnis
[1] Groÿes Lexikon der Computerfachbegrie. Vaterstetten bei München,
1990.
[2] Computer Lexikon. Düsseldorf, 1991.
[3] M. Consee. Von Linux bis Cirrus, pages 8386. Design und Elektronik,
12 2000.
[4] CoreTek Systems, Inc., 11th Floor, CEC Building, 6 South Zhongguancun Road, Beijing, Beijing, 100086, China.
Delta OS.
http://www.coretek.com.cn.
[5] Dedicated Systems.
Liste von Echtzeitbetriebssysteme.
http://www.dedicated-systems.com.
[6] Microware Systems Corporation, 1500 NW 118th Street, Des Moines,
IA, 50325, United States of America. OS-9. http://www.microware.com.
[7] NSSDC, NASA Goddard Space Flight Center, Greenbelt, MD 20771.
Pathnder.
[8] QNX Software Systems Ltd., 175 Terence Matthews Crescent,
Kanatan, Ontario, K2M 1W8, Canada. QNX Neutino /RTP.
http://www.qnx.com.
[9] U. Rembold and P. Levi. Realzeitsysteme zur Prozessautomatisierung.
Carl Hanser Verlag, 1995.
[10] A. Tanenbaum. Betriebssysteme, Teil 1 und 2. Hanser Verlag, München,
Wien, 1990.
[11] Wind River, 500 Wind River Way, Alameda, California, 94501, United
States of America. VxWorks. http://www.windriver.com.
16
Herunterladen