Path: utzoo!utgpu!water!watmath!clyde!att!mtunx!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!decwrl!purdue!i.cc.purdue.edu!j.cc.purdue.edu!pur-ee!uiucdcs!uxc.cso.uiuc.edu!urbsdc!aglew From: aglew@urbsdc.Urbana.Gould.COM Newsgroups: comp.unix.questions Subject: Re: Real-time UNIX - what is it & who h Message-ID: <29500025@urbsdc> Date: 25 Jun 88 02:34:00 GMT References: <649@necis.UUCP> Lines: 109 Nf-ID: #R:necis.UUCP:649:urbsdc:29500025:000:4743 Nf-From: urbsdc.Urbana.Gould.COM!aglew Jun 24 21:34:00 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@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@gould.com - preferred, if you have MX records aglew@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.