Home |
On Time RTOS-32: Betriebssystem für x86-ArchitekturenOn Time RTOS-32 ist ein Echtzeit-Betriebssystem für x86-kompatible Rechner. Laufzeit-Lizenzgebüren werden nicht erhoben. Es hat eine Win32-kompatible API, läuft bereits ab 16k Speicher (RAM und/oder ROM) und kann mit oder ohne PC-BIOS eingesetzt werden.von Dipl.-Phys. Peter Petersen On Time RTOS-32 führt Win32 Console Mode Applikationen auf dem Target-Rechner aus, die unter Windows mit einem Compiler für Windows erzeugt werden. Es werden Microsoft Visual C/C++, Borland C/C++ und Borland Delphi unterstützt. Beim Einsatz von Microsoft Visual Studio oder der Borland Delphi IDE kann der IDE-integrierte Debugger verwendet werden, um Programme auf dem Target-Rechner zu debuggen. Für Borland C/C++ und Delphi wird auch eine modifizierte Version des Borland Debuggers geliefert. Da On Time RTOS-32 dieselben EXE- und DLL-Dateiformate wie Windows verwendet, können viele Software-Komponenten unverändert unter Windows und On Time RTOS-32 ablaufen. AufbauOn Time RTOS-32 besteht aus sechs Komponenten (OS-Kern, Scheduler, Datei-System, TCP/IP-Stack, GUI Class Library, USB Host Stack), die in Form von Programm-Bibliotheken (.LIB-Dateien) zur Verfügung gestellt werden. Von der Anwendung benötigte Betriebssystem-Komponenten werden direkt durch den Linker eingebunden. Dabei wird nur der tatsächlich verwendete Code gelinkt. Das System ist also ohne Konfiguration durch den Entwickler selbstskalierend. Eine Applikation besteht aus einer EXE-Datei und bis zu 63 statisch gelinkten DLLs (und eventuell weiteren dynamisch geladenen DLLs). Die EXE oder eine der DLLs enthält das in Form von Bibliotheken eingebundene Betriebssystem. Der Locator erzeugt aus der EXE und den DLLs ein Boot-Image, das dann in ein ROM oder auf ein Boot-Device geladen werden kann. On Time RTOS-32 unterstützt sechs unterschiedliche Mechanismen, um eine Applikation zu starten. Während der Entwicklung wird meistens der Debugger verwendet, der das Programm auf das Target herunterlädt. Targets, die über einen Wechselspeicher verfügen, können von Disk booten. Es kann jedes Boot-Device verwendet werden, das vom BIOS unterstützt wird, also z.B. Diskette, Festplatte, Flash-Disk, USB-Disk, CD-ROM, DiskOnChip, etc. Kleine Applikationen können auch von einer BIOS-ROM-Extension booten. Auf Rechnern mit vorinstalliertem DOS - z.B. ROM-DOS - kann eine Applikation durch ein kleines DOS-Programm gestartet werden. Systeme, die kein BIOS haben, können direkt aus dem ROM ab Reset-Vektor gebootet werden. DatenverwaltungOn Time RTOS-32 betreibt den Target-Rechner im 32-Bit Protected Mode. Bis zu vier Gigabytes RAM/ROM können verwendet werden. Die Memory Management Unit (MMU) wird für den Speicherschutz verwendet; Programmcode kann nur gelesen werden. System-Datenstrukturen wie z.B. die GDT, IDT und die Page-Table sind komplett für Applikationen gesperrt. Nicht existenter oder nicht alloziierter Speicher ist ebenfalls gesperrt. Jede Speicherschutzverletzung löst eine Exception aus. Wenn das Programm unter Kontrolle des Debuggers läuft, wird das Programm angehalten und die Ursache des Problems kann analysiert werden. Ohne Debugger können solche Exceptions von der Applikation behandelt werden. Das System unterstützt die Privilege Levels (auch "Ring" genannt) der CPU. Normalerweise laufen Applikationen mit CPL (Current Privilege Level) 3, um einen optimalen Schutz zu erreichen. CPL 0 (Supervisor-Mode) kann aber auch eingestellt werden. Einige Teile des Betriebssystemkerns laufen immer mit CPL 0, wobei IOPL (Input/Output Privilege Level) immer 3 ist. Applikationen haben also sowohl bei CPL 0 als auch bei CPL 3 vollen Zugriff auf alle I/O-Ports. Hardwarenahe Programmierung wird auf Applikationsebene unterstützt. Separate Treiber-Module gibt es nicht. Wie alle anderen Betriebssystemkomponenten werden auch die Treiber direkt eingebunden.
|