SELECTING REAL-TIME OPERATING SYSTEMS FOR HIGHER PERFOMANCE
SELECTING REAL-TIME OPERATING SYSTEMS FOR HIGHER PERFOMANCE
By Rick Nelson, Contributing Editor
Although real-time operating systems (RTOSs) cannot enable general-purpose processors to perform compute-intensive image-processing functions, they can control auxiliary chores that help host processors keep pace with dedicated imaging subsystems. And, because these RTOSs find use in many applications, they are shipping in high enough volumes to give imaging-systems developers high-performance, low-cost operating-system choices. Consequently, commercial off-the-shelf (COTS) RTOSs are penetrating applications that once demanded expensive, custom-software solutions.
Commercial RTOSs enable you to leverage applications built around a host of microprocessors. CISC processors such as Intel x86 family members are as popular in these applications as Motorola?s 68k family. COTS RTOSs also support DSPs, such as Motorola?s 56k and Texas Instruments? TMS320Cxx families.
RTOS support for 16-bit processors is extensive, 32-bit suport is becoming common, and 64-bit support for the Digital Equipment Corp. (DEC) 64-bit Alpha chip can be obtained from DEC and from Green Hills Software.
Just as RTOSs support a number of processors, they also have various capabilities. These range from compact kernels requiring a few kilobytes of memory to full UNIX implementations. These latter products, such as DEC?s Digital UNIX, attain real-time status by supportting POSIX 1003.1b Real-Time Extensions.
Digital UNIX includes a pre-emptive kernel that ensures that external real-time events receive appropriate attention, fixed-priority scheduling that allows developers to control how processes are executed, and process locking that prevents system paging and swapping instability. Real-time message queues, semaphores, and shared memory provide fast communication between several real-time compliancy processes.
POSIX compliancy
POSIX compliance does not require a full-blown UNIX implementation. QNX from QNX Software Systems is based on a 10-kbyte microkernel that supports POSIX 3.1b specs for clocks and timers. Chorus Systems also
offers POSIX-compliant products from the Chorus/Micro 10-kbyte
microkernel to the Chorus/MiX (CMX) V.4 microkernel-based implementation of UNIX System V Release 4 (see Fig. 1).
RTOSs such as Digital UNIX and Chorus systems? SVR4 implementation are aimed at enterprise-wide, fault-tolerant server applications and are too large for mobile equipment. For such applications, RTOSs such as Wind River Systems? VxWorks are more useful. VxWorks is now aboard the Pathfinder spacecraft that is scheduled to reach Mars on July 4 (see OPathfinder puts real-time imaging in spaceO).
VxWorks adheres to the POSIX 1003.1b standard for basic system calls (including process primitives, files, and directories), I/O primitives, language services, directory handling, asynchronous I/O, semaphores, message queues, signals, memory management (page locking), and scheduling control.
However, RTOS kernel capabilities are no longer sufficient to guarantee a successful design. Various RTOSs provide adequate run-time performance for a range of applications, giving RTOS kernels commodity status. In choosing a RTOS, designers often place more importance on scalability, portability, and development-tool features than on the capabilities of the kernel itself.
Consequently, vendors are striving to offer development tools that provide them with a competitive edge. What customers are demanding, they say, are easy-to-use, Windows-based tools that help get products to market quickly.
Wind River Systems, for example, no longer offers VxWorks as a stand-alone package. The firm now provides VxWorks as part of its Tornado development package. Third-party suppliers are contributing to this packaging concept. EST supports Tornado with its visionICE Scaleable Emulation System for the Motorola 68300, PowerPC, and Coldfire-based microprocessor families. Metagraphics provides graphical tools for ATI, Wind River, IPI, ISI, Kadak, Micro Digital, Microtec Research, and Phar Lap RTOSs. Other RTOS-compatible environments include the ObjecTime toolset, a UNIX workstation-based development environment that captures graphical models based on real-time concepts such as concurrent objects, message-based interface ports, and state machines.
Such models are compiled and executed on a simulator that allows the developer to validate them. The simulator provides model visualization capabilities including animation of state machines and message flow (including message sequence charts), and model debugging facilities. Complete code generation is available for workstation operating systems and leading real-time operating systems including VRTX, pSOS+, VxWorks, HP-RT, and QNX.
Users can view and modify different aspects of the CMX multitasking operating system while an application code is running using the CMXBug debugger from Chorus Systems.
Pathfinder puts real-time imaging in space
Designed aboard the Pathfinder spacecraft by the Jet Propulsion Laboratory (Pasadena, CA), Wind River Systems` VxWorks, will participate in three mission phases: trajectory control enroute to Mars, descent to the Martian surface, and data gathering after landing.
After landing, Pathfinder`s stereo camera will examine immediate surroundings and transmit data to earth. Subsequently, a mobile rover named Sojourner, also equipped with a stereo camera, will leave the Pathfinder landing station to examine the Martian surface within about 10 m of the lander.
Data from the two stereo cameras will be relayed to a ground workstation to allow operators to distinguish 3-D features in the returned images. Camera images will be collected in real time while communication with Earth proceeds. To provide the necessary real-time control and multitasking, VxWorks runs on an IBM RAD-6000, a radiation-hardened PowerPC that coordinates data gathering and communication with Earth and the Sojourner.
JPL engineers cite software portability as a key for projects such as the Pathfinder. Pathfinder software development took place on diverse environments, including IBM AIX (the IBM UNIX implementation) and Sun SPARC workstations and a 68k-based VMEbus board. These development platforms simulated the RAD-6000 before it became available. Because VxWorks already ran on commercial PowerPCs, porting to the RAD-6000 was relatively easy.
Mars Pathfinder, with Wind River System`s VxWorks real-time operating system on board, was launched December 4, 1996, on a Delta II rocket. The spacecraft is expected to reach Mars on July 4; VxWorks will then control programs that capture terrain images and relay the data to earth.
Examining the ionosphere with real-time radar
An international collaboration among more than a dozen universities and institutes worldwide, the Super Dual Auroral Radar Network (SuperDARN) project, is examining the ionosphere to predict RF-interference disturbances. Using radar systems employing the QNX Software Systems (Kanata, Ont., Canada) real-time operating system, SuperDARN measures the motion of ionospheric gas caused by RF-interference in the polar regions. Researchers chose the QNX real-time-operating system because it was small enough to allow applications to operate effectively.
Using overlapping pairs of high-frequency Doppler radars, researchers measure the speed and track the direction of ionosphere gas. Paired radars located in Halley Bay and Syowa (Antarctica), Saskatoon, Saskatchewan, and Kapuskasing (Ontario, Canada), and Goose Bay, Labrador, and Stokkseyri, Iceland, reconstruct image data. Eventually, eight radar pairs will be built in the southern and northern hemispheres. Planned sites for the radar include Iceland, Finland, British Columbia, and Alaska.
Time-series plots show three parameters from a single radar beam at Goose Bay, Labrador. Top panel shows the intensity of the backscattered power in decibels (dB) above the noise level; middle panel shows the Doppler velocity in meters per second, and bottom panel shows the estimated width of the Doppler power spectrum.