Dumb OS question

From: CLASSICCMP_at_trailing-edge.com <(CLASSICCMP_at_trailing-edge.com)>
Date: Sat Apr 17 08:41:39 1999

>I recently found an ancient copy of QNX, which seems to be a light unix like
>OS.
>
>Looking on the WEB, I found that current versions are still around, but
>marketed as a "Real Time" OS. The 80's documentation I have says nothing
>about real time.
>
>My dumb question: What is a real time operating system?

It's not a dumb question! It is, in some respects, a very controversial
question.

In very general terms, a real time operating system is what is used when
a response from the computer to an external event is required in a
"timely" fashion. For example, if it's a fly-by-wire jet,
and the pilot pulls the control stick back, you don't want the
computer to delay in making the control surfaces move because the co-pilot
is doing some lengthy navigational or fuel consumption calculations at
the same time.

For a multi-tasking operating system, this generally means two things:

1. When an external stimulus comes in, there has to be some way of
making sure it will interrupt tasks of lower priority.

2. After the higher-priority task is started, it has to finish in a
fairly predictable amount of time.

Depending on the nature of the real-time task and/or the person defining
"real-time", you also often find some further requirements. There are
also folks who split the definition into "soft real-time", where it's
OK if you're occasionally late with an answer or occasionally take too
long to respond, and into "hard real-time", where the computer is never
ever allowed to be late in responding or answering.

Traditional Unices are not, by any measure, real-time operating systems.
There are Unix-like OS's that are called "real-time operating systems", but
many of the "hard real-timers" will disagree with this.

A more modern approach to "real-timeliness" considers not only the
main CPU, but also subsidiary CPU's and systems. For example, if
a response to a stimulus requires doing any disk reads or writes, you
may need to thoroughly know the worst-case response time of the disk
drive. Modern disk drives (or even many disk drives from a decade ago)
have microprocessors in them and for a truly safety-critical application
it may be necessary to thoroughly review and qualify the firmware that's
in the disk drive to be sure that it will always respond in a certain
minimum amount of time.

Some real-time operating systems can be pressed into service as
general-purpose multi-user OS's. For example, RSX-11M. Others
make quite nice single-user development platforms - for example RT-11.

Modern network-in-the-kernel OS's are very difficult to turn into "real-time"
systems with much functionality. You ever have a NFS server go down
and tie up a campus full of workstations for minutes at a time?

-- 
 Tim Shoppa                        Email: shoppa_at_trailing-edge.com
 Trailing Edge Technology          WWW:   http://www.trailing-edge.com/
 7328 Bradley Blvd		   Voice: 301-767-5917
 Bethesda, MD, USA 20817           Fax:   301-767-5927
Received on Sat Apr 17 1999 - 08:41:39 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:31:43 BST