Echtzeit und Eingebettete Systeme
VxWorks
Linzenz: proprietär
Links
- Windriver - der Hersteller
- Windriver Deutschland
- VxWorks 5.x
- VxWorks-FAQ
- VxWorks/Tornado II FAQ
- Links von Christof Wehner
Grundbegriffe
Vx Works AE:
- Tasks (Threads)pThreads
- Einheiten für dem Scheduler
- Scheduler:
-
- Preemptive and round-robin scheduling
- 256 Priority Levels
- Fast, deterministic context switching
- Ein Adressraum
- Es gibt keine Unterscheidung zwischen Kernel- und Userlevel, Applikation
und Kern ist in einem Adressraum.
Damit ist ein Systemaufruf ein Aufruf einer C-Funktion und kostet auch
soviel (ca. 5us)
- Protection Domains (neu in VxVorks 6 AE?)
- Addressraum/Betriebsmittelumgebung auf MMU Basierend
Traditionell gab es nach vxvmi kein Userlevel.
- Parallelrechner
- VxWorks unterstützt nur einen Prozessor, es gibt aber zusätzliche Multiprozesor-unterstützung im Paket VxMP
Kommunikationsmechanismen
- Binary, counting, and mutual exclusion semaphores with priority inheritance
- Message queues - local and locale-transparent distributed messaging
- POSIX pipes, counting semaphores, message queues, signals, and scheduling
- Control sockets
- Shared memory
- COM
Viele Mechanismen können bei der Erzeugung des Kerns bei Bedarf eingebunden
oder weggelassen werden.
Umgebung
- Bootloader auf ROM, konfigurierbar, rsh,ftp, tftp/bootp oder tftp
- dynamic linking Loader kann während der Entwicklung Module laden.
- TCL und C-Interprter basierende Shell (früher und heute optional als
target shell), heute als host shell
- Remotedebugger (mit WDB-Agent auf target)
- Netzwerkumgebung und Projektverwalung namens Tornado
- Entwicklung: Auf Eclipse basierende Workbench
Architektur
- Board Support Package BSP
- Abstrahiert über die Hardware. Dadurch läuft VxWorks auf einem
breitem Spectrum von hardware
- Wind Microkernel
- POSIX 1003.1 Basic Systemcalls
- POSIX 1003.1b real Time extensions
- POSIX 1003.1c pthreads
Geschichtliches
Entstanden in den 80er Jahren aus einer Bibliothek für RT-Kerne (C. Wehner VxWorksbuch)
Rudolf Weber