Hardware Reference
In-Depth Information
12.2.1
VXWORKS
This real-time operating system is produced by Wind River Systems [VxW95] and it
is marketed as the run-time component of the Tornado development platform. The
kernel uses priority-based preemptive scheduling as a default algorithm, but round-
robin scheduling can be also selected as well. It provides 256 priority levels, and a
task can change its priority while executing.
Different mechanisms are supplied for intertask communication, including shared
memory, semaphores for basic mutual exclusion and synchronization, message queues
and pipes for message passing within a CPU, sockets and remote procedure calls for
network-transparent communication, and signals for exception handling. Priority in-
heritance can be enabled on mutual exclusion semaphores to prevent priority inversion.
The kernel can be scaled, so that additional features can be included during develop-
ment to speed up the work (such as the networking facilities), and then excluded to
save resources in the final version.
A performance evaluation tool kit is available, which includes an execution timer for
timing a routine or group of routines, and some utilities to show the CPU utilization
percentage by tasks. An integrated simulator, VxSim, simulates a VxWorks target for
use as a prototyping and testing environment.
VxWorks 5.x conforms to the real-time POSIX 1003.1b standard. Graphics, mul-
tiprocessing support, memory management unit, connectivity, Java support, and file
systems are available as separate services. All major CPU platforms for embedded
systems are supported.
Another version, called VxWorks AE, conforms to POSIX and APEX standards. The
key new concept in AE is the “protection domain,” which corresponds to the partition
in ARINC. All memory-based resources, such as tasks, queues, and semaphores are
local to the protected domain, which also provides the basis for automated resource
reclamation. An optional Arinc-653 compatible protection domain scheduler (Arinc
scheduler for short) extends the protection to the temporal domain. Such a two-level
scheduler provides a guaranteed CPU time window for a protection domain in which
tasks are able to run with temporal isolation. Priority-based preemptive scheduling
is used within a protection domain, not between protection domains. VxWorks 5.x
applications can run in an AE protected domain without modifications. VxWorks AE
is available for a limited set of CPUs.
Search WWH ::




Custom Search