Xref: utzoo comp.sys.amiga.tech:8159 comp.realtime:306 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!cs.utexas.edu!uunet!cbmvax!amix!ford From: ford@amix.commodore.com (Mike "Ford" Ditto) Newsgroups: comp.sys.amiga.tech,comp.realtime Subject: Re: Realtime and UNIX (Re: An opportunity for Commodore (Re: Windows without Front/Back gadgets)) Keywords: unix Message-ID: <104@amix.commodore.com> Date: 14 Nov 89 01:04:09 GMT References: <22175@gryphon.COM> <4537@sugar.hackercorp.com> <788@jc3b21.UUCP> <4679@cbnewsc.ATT.COM> <4532@sugar.hackercorp.com> Reply-To: ford@amix.commodore.com (Mike "Ford" Ditto) Followup-To: comp.realtime Organization: Commodore Amix development Lines: 80 Disclaimer: Opinions of the poster, not the organization. In article <4532@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes: >UNIX is not real time. Many of the things we now take for granted would just >not be possible under UNIX, or would be unbearably slow. It would kill the >Amiga as a platform for MIDI (and music in general), animation, games, and >other real-time applications. Window and screen updates would slow down by a >factor of 10 (a 25 MHz 80386 under X is less responsive than a 7 MHz 68000 >under Intuition, and it's about a 5 MIPS machine instead of a .7 MIPS one). Everything in the above paragraph is false. Peter doesn't seem to know a trademark from an operating system implementation. There are many things commonly called "Unix", and even the ones to which the trademark actually applies are widely varied and evolve over time. Apparently Peter has never seen one which meets his expectations of a real-time system, and has concluded that if he has not seen it, it can not possibly exist. Ever. "Unix", as people (except Peter) seem to be using the term here, refers to a fairly abstract model of multitasking, and a set of programmer interfaces to it. It typically also implies a set of tools and user interfaces in the form of a set of programs. None of these notions have any relation whatsoever to real-time performance. The details of process scheduling have never been specified as part of any standard AT&T Unix release, although there have been many variations with custom scheduling algorithms designed for particular purposes such as real-time processing. "Unix" and "real-time" are orthogonal concepts. You can have either one without the other, or neither, or both. With AmigaDos we technically have neither, although we are close enough on both sides to do some good things. With a particular implementation of Unix, real-time capability might or might not exist. In article <4537@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes: >In article <22175@gryphon.COM> bagpiper@pnet02.gryphon.com (Michael Hunter) writes: >> Now Now Now...not quite so hasty. There are extensions to Unix' that make >> doing real time work easier. > >I know. I'm in the SCADA business. None of the extensions that make UNIX real >time are generally available. Apparently V.4 will have a preemptable kernel, >and that's a start. But it's not enough: a task can still be indefinitely >deferred by swapping, UNIX floating priorities, etc. In System V, even as far back as release 2, processes are only deferred by swapping if they have not requested to be locked in physical memory. SVr4 does not have a preemptable kernel; it has a real-time process scheduler in its list of scheduling classes from which a process can choose. "Unix floating priorities" only apply to processes in the "time sharing" class, not in the "real-time" class. >It's possible to build a realtime system that looks like UNIX, but Commodore >does not have the resources to do this. If you mean there aren't enough programmers here to implement a real-time OS from scratch in this decade, you're probably right. But Commodore has other resources; for example such a system could be licensed. I won't go so far as to claim that SVr4 will meet Peter's demands for a real-time system because I haven't tried the real-time support nor even examined it closely, but my point is that the term "Unix" implies *nothing* about real-time performance. For someone who wants a real-time system, they should reject particular OS implementations which do not meet their needs, not an entire class of systems with many other appealing properties. > But you've heard what happens to some poorly written music >programs on the Amiga when you start excersising the blitter? In UNIX, that >sort of thing can go on at arbitrary intervals, and the sorts of things you >have to do to make a program real-time aren't possible. Yes, some system facilities to control the real-time properties of processes are necessary. Unix happens to be known for its ability (and tendency) to have new factilies added. SVr4 has them. (I am refering to current beta releases, of course, I can't predict what will actually be released.) -- -=] Ford [=- "Only Nasatine offers (In Real Life: Mike Ditto) fast-acting Mucanol" ditto@amix.commodore.com uunet!cbmvax!ditto ford@kenobi.commodore.com