Real-time UNIX - what is it & who h
aglew at urbsdc.Urbana.Gould.COM
aglew at urbsdc.Urbana.Gould.COM
Sat Jun 25 12:34:00 AEST 1988
..> Real Time UNIX
Gould UTX 32 2.1 on Powernodes (our old line) has a number
of Real Time UNIX features - our former project scientist,
John Gertwagen, was head of the IEEE subcommittee on RT UNIX
for a while (hi John!). Off the top of my head, we have:
(Hold on. First, I should mention that our new NP processor
line, NP, has many of these real time features, and others,
but I'm not so close to that project. Second, I'm not a
marketing guy, so I may have made mistakes in this list.
Finally, I'm not a marketing guy, even though I have made a lot
of Gould booster posts recently. I apologize to the net for
excess enthusiasm, but I think Real Time UNIX, from Gould,
other companies, or from the IEEE committee, is an idea that
has been needed for a while).
- real time scheduler
letting you guarantee that a process will run
before any other (fixed priority) and will only
run on a specific processor (processor targetting)
(by default our dual processors load balance)
- suspend/resume
direct control over process context switch - so you can
say "suspend me and start this process running immediately".
Much faster than signals.
- cyclic scheduler
a low overhead way of setting up process groups
that run repeatedly, in a specified phase relationship
to each other - flight simulator people use it.
- high resolution timers and timeouts (600 ns accuracy)
- directly connected interrupts
let an (appropriately priviliged) user process handle
device interrupts directly
- indirectly connected interrupts
arrange for an arbitrary device interrupt to send a
signal to a process (which is typically running with
RT priority to handle the interrupt fast)
- hardware privilige mode
let the (appropriately priviliged) user execute any instruction
instruction he wants, including those normally denied to users.
Those, you can do anything the machine can do - but still have
the convenience of calling UNIX services.
- prepage and lockdown
- memory classes
Gould processors support several different types of memory:
normal cached memory; "shadow memory" - cache speed SRAM;
"reflective memory" - memory that is shared between multiple
processors (over and above the normal dual processor);
address ranges for I/O, etc.
We have routines that let you handle all this.
- Direct I/O
Gould PN's have an intelligent I/O system - this is a driver
that makes it easier to write your own I/O command chains.
- Direct File System
a contiguous file system
- IPC
BSD and System V (messages, semaphores, etc.) IPC.
Most importantly, shared memory, between processes on the same
system, on different processors of the standard dual processor
configuration, or (using reflective memory, etc.) between
different systems.
> I'm told that HP/UX has some of this, but I haven't seen it
>demonstrated, while the Venturcom people gave an impressive demo to the
>Upstate NY UNIX Users Group.
> bill davidsen (wedu at ge-crd.arpa)
Can you describe what a good demo of Real Time UNIX should be?
Honestly, we've had a bit of trouble coming up with a demo.
Our customers use it for flight simulation and telemetry, not
exactly the sorts of things that you put into a show.
And, it's not very impressive to start processes running, and say
"look, it priority preempted!". Maybe some neat graphics, showing
unreliable performance without RT, and reliable performance with.
Hmm.
Finally, may I say that Real Time UNIX features are useful for
more than Real Time applications? For example, fixed priority
scheduling - there have been many times that I wanted to have
a "deep background" application, that would run only when the
system is otherwise idle. No matter how much you nice, your
process will still take some cycles away when the system isn't
idle. Hell, I got interested in RT UNIX way back in school
- gawk, that's 7 years ago now! - when I tried to write a
keyboard program that timed keystrokes on a UNIX machine...
Not to mention the needs of a lab computer...
Real Time UNIX is an idea whose time has come.
*All* UNIXes should be Real Time.
Andy "Krazy" Glew. Gould CSD-Urbana. 1101 E. University, Urbana, IL 61801
aglew at gould.com - preferred, if you have MX records
aglew at xenurus.gould.com - if you don't
...!ihnp4!uiucuxc!ccvaxa!aglew - paths may still be the only way
My opinions are my own, and are not the opinions of my employer, or any
other organisation. I indicate my company only so that the reader may
account for any possible bias I may have towards our products.
More information about the Comp.unix.questions
mailing list