You walk up to your ATM to get some cash. You insert your
card, and expect it to be recognized by the machine immediately. Within a minute,
you’re out of there with your money. You wouldn’t want to wait for, say, two
minutes or so just to get the system to boot, or reach the main menu, would you?
Or let’s say you’re on a flight, 30,000 feet
above sea level. The pilot reconfigures the onboard flight computer, warned of an
impending storm. What if the computer’s OS froze up, or responded after a few
minutes?
A real-time operating system (RTOS) is capable of handling
multiple events simultaneously and within a fixed-time frame. Computers running mission
critical embedded apps need an operating system that responds quickly or within "real
time" to requests. Let’s take another example. A computer program is controlling
an industrial motor. At a certain instant of time, it notices that the motor is running at
a speed higher than the considered safe limit. It immediately sends a signal to another
running program, telling it to shut the motor down. If the operating system running these
two processes doesn’t pass the signal between them fast enough, the motor can get
damaged.
There are two essential features that make an operating
system "real time". The operating system must support multi-tasking with
preemptive, priority-driven context switching with guaranteed interrupt handling. What it
means is that if the operating system receives an outside event, it should be able to
switch between the running process and the event handler process immediately. The OS must
also have a very efficient inter-process communication (IPC) subsystem. If a process
wishes to talk to another, it should be able to do so immediately and without fail.
A real-time operating system should have a very small
memory footprint. Most embedded apps are severely constrained by the amount of memory
available to them. If the OS were to take a large part of this memory, there would be
precious little left for apps. Networking capability is also essential to an RTOS. Most
real-time apps need to communicate with other such systems distributed over large
distances. To do this quickly and efficiently is critical.
Moreover, all subsystems of such an OS need to be highly
fault tolerant. If, for instance, a part of the network fails, the networking subsystem
should be capable of automatically re-routing network traffic through another part of the
network.
RTOSs are finding applications in almost all spheres of
modern life. From household electronics to the defense industry, from your wristwatch to
spacecraft, they are everywhere. Time critical apps depend on such highly responsive OS,
working in small amount of memory without failure. Everyone seems to be talking about an
Internet-enabled microwave or an Internet-enabled refrigerator. Even your watches will
soon be on the Net with their very own IP numbers. All these devices need RTOSs to do
their job. Interested in learning more? Read on about some real-life applications of these
exciting OSs.
The Philips MyWeb settop box for
the Internet
Internet television is now a reality. The Philips MyWeb is
a set-top box that provides access to the Internet through television sets. Just plug in
your telephone line and connect to the Web. This product is ideal for those who don’t
want to invest in a computer but still want access to the Net. Based on an AMD SC410
microprocessor, the device comes with 1 MB ROM, 2 MB flash read-write memory, and 4 MB
RAM.
It uses the QNX real-time operating system (refer the
article "QNX: GUI OS on a floppy") along with the Voyager Web browser. This OS
comes with a powerful graphical user interface called the Photon MicroGUI, which presents
a neat Windows-like environment to the user.
Hands-free driving on automated
highways
Within a few years, your computer could drive you to work.
That’s right, no more navigating through crazy traffic jams, or having to suddenly
slam your brakes because the bus in front of you decides to stop in the middle of the
road. Partners for Advanced Transit and Highways (PATH), CalTrans, GM, Hughes Aircraft,
and 30 other companies have formed a consortium for designing automated highways and
computer-driven vehicles.
Extensive research in this field is already underway, and
again the QNX RTOS is being used for the early prototypes. Real-time information including
distance, relative velocity, acceleration, throttle position are all monitored by apps
running on this OS. RTOSs play a crucial role here. Imagine what would happen if the RTOS
running your "future" car failed to respond in time to that bus right in front
of you? What if it gave an "illegal operation" and crashed?
Airborne warning and control system
AWACS aircraft provides crucial information about enemy
positions and movements to other friendly aircraft, monitoring deep inside enemy
territory. Fighters making deep penetration strikes into hostile territory rely on such
aircraft for up-to-date information on enemy locations, including positions of unfriendly
aircrafts.
The LynxOS, another RTOS, is Boeing’s step 1 mission
computer upgrade for the entire US Airforce’s AWACS fleet. Software running on this
OS will manage interfaces to on-board computers used for surveillance and C3 (command,
control and communication). According to Bill Hogan, president of Lynx, "AWACS is one
of the most technologically demanding systems in the world." As you would be well
aware, a fault tolerant and extremely efficient operating system is imperative for this
kind of an application. There can be no excuse for a failure on the operating
system’s part.
Transmission line monitoring system
Fujikura Corporation in Japan is implementing a system that
monitors ultra-high voltage transmission lines (20,000-50,000V). These power lines go
through the seabed or underground tunnels, and need to be observed constantly. Any faults
that occur need to be repaired immediately since these are the lifelines between the power
station and the cities.
Monitoring nodes are scattered all along the transmission
lines and any fault is immediately relayed to the central controlling units. A RTOS, OS-9,
is being used, mainly for the high reliability that is required. As is typical of an RTOS,
OS-9 is highly compact.
Advanced space vision system
A very high-technology application that an RTOS is being
put to, is the Advanced Space Vision System. The ASVS is a precision guidance system for
astronauts manipulating objects in space. Take the case of the space shuttle. Sometimes,
astronauts have to re-attach a payload to the space shuttle. Previously, all they had was
a few external TV cameras or the shuttle’s small windows to look through. This could
turn out to be a difficult, if not impossible proposition, especially if the cameras
didn’t catch the object of interest at the right angle.
Not any more. The Neptec Design Group has come out with a
system based on the QNX RTOS, which enables them to see exactly what they’re doing,
in real time. The system provides the astronauts exact location, orientation, and motion
information through a computer-generated view of the payload and any important reference
points.
RTOSs are here, and they are here to stay. With the growth
of the Internet and almost all previously mechanical applications now going electronic,
these operating systems will play a prominent part in the way we do things in the future.