[comp.lang.ada] tasking under UNIX

PETCHER%SVDSD@eg.ti.COM (06/17/87)

Let's not curse UNIX for its view of computation.  Let's understand UNIX for 
the computational environment for which it was designed.  Like all general 
purpose, multi-user operating systems, its main priority is the efficient 
sharing of computer resources among multiple users.  I will not comment on how 
well it does this, but suffice it to say it was not designed as a real-time 
operating system, and should not be expected to perform well as one.  In fact, 
even systems such as RSX11-M, which DOES purport to be designed to support 
real-time applications, exacts a frequently unacceptable overhead on such 
programs.  In my 10+ years of experience with real-time multitasking, the only 
viable approach has always been the same:  Bypass the operating system.  Sad 
but true, that has been the only way to meet system performance goals in the 
face of the need for concurrent tasking and I/O.  I have pitched, on more than 
one occasion, the need for an effective real-time embedded OS that need not 
compromise performance in order to support multiple interactive users.  In a 
sense, the bare machine Ada systems are meeting this need, perhaps in the only 
way possible, at high cost, but at least in a way that absolves the 
application programmer of having to design and maintain an operating system, 
as was done in the past.  So the answer is, use UNIX if UNIX is what you need, 
but don't use it then curse it if it's the wrong thing to use in the first 
place.

The opinions expressed are my own

Malcolm Petcher
Texas Instruments, Inc.