peter@sugar.hackercorp.com (Peter da Silva) (11/13/89)
This message is only tangentially relevent to the Amiga, and the chain is likely to veer off into a UNIX vs realtime discussion. I'm directing followups to comp.realtime, where there is likely to be more light and less heat. In article <22175@gryphon.COM> bagpiper@pnet02.gryphon.com (Michael Hunter) writes: > peter@sugar.hackercorp.com (Peter da Silva) writes: > >UNIX is not real time. Many of the things we now take for granted would just > 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. It's possible to build a realtime system that looks like UNIX, but Commodore does not have the resources to do this. > I think your following comments are more along > the lines of Unix has more overhead then Intuit. [I presume you mean AmigaOS] No. There is more to realtime than performance. You can do realtime work on a Cosmac 1802 (almost a 4-bit machine) at 500 KHz. A realtime problem is one in which if an answer is late, it's wrong. Music, for example, is realtime. If a note is late, you've blown it. I suspect you're thinking of the NeXT here, which has been used for music demos. Given enough MIPS, a simple enough problem, and a controlled environment, you can get close enough to realtime for a canned demo. 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. > which is very true. But it > also is more portable (even BSD to ATT) then any set of micro OS. This is true but irrelevant. A helicopter is more mobile than a car, but it is also prohibitively expensive for individuals. A real-time UNIX would be wonderful, but there's nobody who can afford to do one for a low-end machine. > A curious though that just came to mind is that Ada is suppose to be part of > the POSIX standard....Ada is (suppose to) react to certain real time stimili > so I think that implies that POSIX will be able to be used for real time > tasks...??? ADA is NOT a real-time system. ADA is a language with certain real-time concepts built in. I've done most of my real-time work in Forth, Fortran, PL/M, and C. All of these languages can be used for real-time work. But running under a non-real-time O/S it's just another language. > Personal gripe: The acronym MIPS has no real hard meaning. It is a relative > measurement that is not relative to anything easily tied down.... I'm using commonly accepted VAX MIPS ratings, based on the latest Dhrystone benchmark. That solid enough for you? -- Peter "Have you hugged your wolf today" da Silva <peter@sugar.hackercorp.com> `-_-' "IT'S THE TWO GODDAMNED CULTURES AGAIN !*! Bit-brained nerdery on one 'U` side, effete fin-de-siecle malaise on the other. And kingdoms of hybrid delight abandoned in the middle." -- burns@latcs1.oz (Jonathan Burns)
ford@amix.commodore.com (Mike "Ford" Ditto) (11/14/89)
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
valentin@cbmvax.UUCP (Valentin Pepelea) (11/14/89)
In article <104@amix.commodore.com> ford@amix.commodore.com (Mike "Ford" Ditto) writes: >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 >>... > >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 I think you are a little unfair to Peter here. It is generally accepted by the masses that Unix is not a real-time operating system because most implementations out there do not have any real-time extensions. Whether an OS bearing the Unix name can be easely implemented to support real-time applications is therefore a moot question. >"Unix" and "real-time" are orthogonal concepts. You can have either >one without the other, or neither, or both. For a Unix wizard like you, having ported Unix to our platform this is exact. For a guy like me and Peter, this is fresh news. >With AmigaDos we technically have neither, although we are close enough on >both sides to do some good things. This is highly debatable. I, personally, can guarantee you that any event can be start to be processed under the Amiga's Exec within 200 microseconds, with an average of considerably below that. I can also show you how to break that response time, but then you can do that with any real-time operating system. It's all a question of how you set your priorities. Note though, that there are some on the devellopment team who also think the Exec does not meet precisely the real-time criteria. >>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. The people who came up with OS/9 provide nifty libraries under it that make the OS look like Unix to the programmer. They already have a 680x0 port of OS/9. The problem with licencing another real-time OS is that all the current software would break under it. Another option though is to simply provide a library which runs under AmigaDOS and emulates Unix functions as well as it can. I remember that Deven Cervone had volunteered to do just that. It sound like an interesting university student project. Valentin -- "An operating system without memory is Name: Valentin Pepelea an operating system without virus." Phone: (215) 431-9327 UseNet: cbmvax!valentin@uunet.uu.net - Kodiak Claimer: these are only bad opinions
emery@aries.mitre.org (David Emery) (11/14/89)
peter@sugar.hackercorp.com (Peter da Silva) writes: > A curious though that just came to mind is that Ada is suppose to be part of > the POSIX standard....Ada is (suppose to) react to certain real time stimili > so I think that implies that POSIX will be able to be used for real time > tasks...??? A bit of clarification... Ada is NOT part of POSIX. There is, however, an Ada binding to the basic POSIX services (1003.1) currently under development. Contact me for more information. Another part of POSIX (1003.4) is trying to develop a set of standard real-time oriented extensions to the basic Unix/POSIX interface. It is very likely that we will eventually do an Ada binding to this, too. (Anyone interested in working on this??) One goal of this real-time binding will be that POSIX/real-time threads and Ada tasks are the same thing to the scheduler, eliminating many of the "who's in charge of scheduling" problems that have plagued Ada tasking implementations in a mixed-language environment. dave emery emery@aries.mitre.org P1003.5 (Ada Binding) Tech Editor
peter@ficc.uu.net (Peter da Silva) (11/15/89)
I said: > >>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 > In article <104@amix.commodore.com> ford@amix.commodore.com (Mike "Ford" Ditto) flames: > >Everything in the above paragraph is false. Peter doesn't seem to > >know a trademark from an operating system implementation. There are Get off your high horse and listen up. First of all, I have carried on many debates over the years supporting the position you're espousing here: that UNIX is a family of operating systems that share a common program interface etcetera, etcetera, etcetera. Secondly, insulting someone is not a good way to carry on a discussion. Even if I were a slimy Atari-ST user, it wouldn't be appropriate, but I've been a vocal supporter of the Amiga almost since its inception, I've sold at least 4 of the beasts that I know of, and I've recommended it far and wide (just ask anyone here). I've written a fairly popular utility and co-authored a critically acclaimed game, as well as providing a moderated sources group and contributing a lot of code to the freeware kitty. In short, I've done my share and more of helping pay your salary. I'm not an uncritical sycophant, though, and I have a good idea of the sort of resources Commodore enjoys. They're not enough to properly develop a real-time UNIX, let alone do this while expanding the Amiga product line in other areas and maintaining AmigaDOS. And it's not within the apparent goals of the company to do so, or else AMIX would be based on Mach rather than V.4. So, in context of what is visible of Commodore's UNIX development, everything in my article is true. We're talking about what Commodore is likely to do in future Amiga system software, not what they would do with unlimited time and resources. > >"Unix" and "real-time" are orthogonal concepts. You can have either > >one without the other, or neither, or both. Of course. This is intuitively obvious to the most casual observer. But you can't do it under the V.4 platform Commdoore is working with. In article <8552@cbmvax.UUCP> valentin@cbmvax.UUCP (Valentin Pepelea) writes: > For a Unix wizard like you, having ported Unix to our platform this is exact. > For a guy like me and Peter, this is fresh news. Actually, it's not "fresh news" to me. Masscomp has a workable realtime UNIX, though it's tied to their hardware (:-<). Venturcom and others have done decent real-time patch jobs to UNIX. Personally I'd rather see a from-scratch realtime system with a UNIX program interface built on top of it. Say, starting in the vicinity of Mach... > >With AmigaDos we technically have neither, although we are close enough on > >both sides to do some good things. It's possible to write programs under AmigaOS that meet very stringent realtime constraints. It's not always easy: you may have to write interrupt handlers, run stuff off the copper list, and so on. But it's possible, and these applications remain well-behaved and don't interfere overly with other tasks on the system. And often just careful coding *under* the exec is sufficient. The only way to achieve this sort of response in a conventional UNIX system is to put your real-time stuff in the lower half of a device driver. That's how you get the sort of real-time response things like dumb streaming-tape boards require. > >If you mean there aren't enough programmers here to implement a > >real-time OS from scratch in this decade, you're probably right. That's what I mean. That's almost exactly what I said. > Another option though is to simply provide a library which runs under AmigaDOS > and emulates Unix functions as well as it can. I remember that Deven Cervone > had volunteered to do just that. It sound like an interesting university > student project. Another option I thought of would be to run UNIX tasks as AmigaDOS tasks with appropriate hooks to go into and out of protected mode when you enter and leave the UNIX task's context. This would make AmigaOS a real-time kernel for UNIX. I once wrote this up at great length and posted it to comp.sys.amiga. It was met with a resounding thud (though Deven was interested, as I recall). I think this would be MUCH more promising than writing an AmigaOS emulator for UNIX. But, hey, what of the original plan that started this message chain: using Amiga 500s and 2000s as smart NeWS/X terminals for a 2500UX? This is a niche that's currently only filled by the Sun/Graphon combination, and an Amiga is much more capable than the PC-type platform that the Graphon uses. -- `-_-' Peter da Silva <peter@ficc.uu.net> <peter@sugar.hackercorp.com>. 'U` -------------- +1 713 274 5180. "*Real* wizards don't whine about how they paid their dues" -- Quentin Johnson quent@atanasoff.cs.iastate.edu
nigel@modcomp.UUCP (Nigel Gamble) (11/16/89)
in article <104@amix.commodore.com>, ford@amix.commodore.com (Mike "Ford" Ditto) says: > "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. A realtime UNIX operating system does exist! It is called REAL/IX and it is MODCOMP's port of System V R3. It runs on MODCOMP's 68030-based 9700 series. It is fully compatible with the standard Motorola port of UNIX SVR3 (it will run Motorola UNIX/SYSV68 binaries), but it has a fully preemptive kernel and all the other necessary attributes of a realtime o/s. (MODCOMP, with its proprietary operating system MAX, has been in the realtime business for 20 years). Perhaps Commodore should licence REAL/IX for the Amiga? -- Nigel Gamble "Everything should be made MODCOMP an AEG company as simple as possible, but 1650 W McNab Rd, Ft Lauderdale, FL 33340-6099 not simpler." A. Einstein uunet!modcomp!nigel
nigel@modcomp.UUCP (11/16/89)
in article <104@amix.commodore.com>, ford@amix.commodore.com (Mike "Ford" Ditto) says: > "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. A realtime UNIX operating system does exist! It is called REAL/IX and it is MODCOMP's port of System V R3. It runs on MODCOMP's 68030-based 9700 series. It is fully compatible with the standard Motorola port of UNIX SVR3 (it will run Motorola UNIX/SYSV68 binaries), but it has a fully preemptive kernel and all the other necessary attributes of a realtime o/s. (MODCOMP, with its proprietary operating system MAX, has been in the realtime business for 20 years). Perhaps Commodore should license REAL/IX for the Amiga? Nigel Gamble "Everything should be made MODCOMP an AEG company as simple as possible, but 1650 W McNab Rd, Ft Lauderdale, FL 33340-6099 not simpler." A. Einstein uunet!modcomp!nigel
peter@ficc.uu.net (Peter da Silva) (11/17/89)
> peter@sugar.hackercorp.com (Peter da Silva) writes:
Actaully, I didn't. I'm quite aware of the difference between languages,
operating systems, language binding standards, and so on...
Please be more careful with attributions. If you're not sure, leave it
off. And if it doesn't matter who you're flaming, leave it off, like I
just did.
--
`-_-' Peter da Silva <peter@ficc.uu.net> <peter@sugar.hackercorp.com>.
'U` -------------- +1 713 274 5180.
"vi is bad because it didn't work after I put jelly in my keyboard."
-- Jeffrey W Percival (jwp@larry.sal.wisc.edu)
doug@xdos.UUCP (Doug Merritt) (11/21/89)
In article <104@amix.commodore.com> ford@amix.commodore.com (Mike "Ford" Ditto) writes: >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. Yes. For instance, Lynx OS (Campbell, CA) looks like it might be a good candidate. They rewrote the kernel from scratch to support real time issues, and it apparently conforms to reasonable Unix standards documents (let's not get sidetracked into discussing how "standard" such things are) and claims to run unmodified Unix binaries. I've felt for years that this is the right way to go; the lack of real time facilities in (commonly available/standard) Unix's is aggravating in the extreme even when implementing normal applications. This is usually most visible to folks who implement games on Unix, or to people who are used to facilities like that on the Amiga, or even on (gasp!) the IBM PC (not that it's got "nice" real time facilities, but its sheer primitive and non-multitasking nature allow people to write real time code). Disclaimer: all I know about Lynx is what I've read in their own brochures. >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. That's great news; I hadn't heard this before. That'll certainly help us (at Hunter) in creating more responsive applications with less system overhead. Some of the things we've had to do on Sys V (and even Sun/BSD) are pretty yucky: "well, it got the job done, but wish there was a better way!" Digression: AmigaDOS, of course, makes most such real time programming problems far easier to solve. But as has been pointed out numerous times, AmigaDOS has its own faults. And I'm still trying to figure out how to make my Amiga have as nice of a programming environment as my Sun. Kind of wierd...in many ways it has the potential of being better (lack of memory protection aside), but I dunno...maybe I just haven't gotten the right software together here? If anyone out there (with solid Sun experience as a point of comparison) has put together a development environment on their Amy that they prefer *overall* (not just in little areas), I'd like to hear about it. Doug -- Doug Merritt {pyramid,apple}!xdos!doug Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary
srp@modcomp.UUCP (Steve Pietrowicz) (11/21/89)
in article <531@xdos.UUCP>, doug@xdos.UUCP (Doug Merritt) says: ] ] In article <104@amix.commodore.com> ford@amix.commodore.com (Mike "Ford" Ditto) writes: ]>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. ] ] Yes. For instance, Lynx OS (Campbell, CA) looks like it might be a good ] candidate. They rewrote the kernel from scratch to support real time issues, ] and it apparently conforms to reasonable Unix standards documents (let's ] not get sidetracked into discussing how "standard" such things are) and ] claims to run unmodified Unix binaries. Unfortunately, a kernel re-written from scratch is much harder to port to the platform that Commodore currently has (underline that last part) :V) than something that started out as a System V kernel to begin with. I don't think Commodore would like to toss everything again either. Once was OK, especially since they went to System V 4.0. Tossing everything again would be a big big mistake, especially since they would toss 4.0 out the window to go back a rev. Better to stick with the standards than the hybrids. Besides, there are better realtime solutions available. :*) ] Doug Merritt {pyramid,apple}!xdos!doug ] Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary -- SR Pietrowicz UUCP: ...!uunet!modcomp!srp CIS: 73047,2313
vik@lynx.uucp (Vikram Sohal) (11/22/89)
In article <104@amix.commodore.com> ford@amix.commodore.com (Mike "Ford" Ditto) writes: >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). Actually, we are working with someone right now on porting LynxOS to the Amiga. LynxOS is a real-time UNIX-compatible OS that was written by us completely from scratch for reasons of speed and independence from AT&T. It maintains complete compatibility with the most recent SVID, 4.3BSD, and POSIX 1003.1 and 1003.4 (when it is approved). The version for the Amiga will probably be to a "souped-up" Amiga 2000 with a '030 installed (LynxOS requires the MMU on-board the 68030). I hope somebody from Commodore is out there listening...A real real-time UNIX on the Amiga might just be what Commodore needs to get into a lot of interesting markets that were previously unattainable because of AmigaDOS being incompatible with standard UNIX versions. As far as real-time response goes, we have clocked LynxOS with 450 microsecond worst case task response times on a 20 MHZ 2-wait state 80386 AT (300 and 250 microsecond times are attainable if a a faster CPU with 0-wait state RAM is used). The worst case task response time is similar for 68030-based platforms. ------------------------------------------------------------------------------ Vic Sohal "Jim his brain is gone!!!" Mgr. Tech Marketing Lynx Real-Time Systems (408) 370-2233 ------------------------------------------------------------------------------
tej@tcom.stc.co.uk (Tej Koonar) (11/24/89)
In article <189@modcomp.UUCP> srp@modcomp.UUCP (Steve Pietrowicz) writes:
#
#Besides, there are better realtime solutions available. :*)
e.g. ???????
#
#] Doug Merritt {pyramid,apple}!xdos!doug
#] Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary
#--
#SR Pietrowicz UUCP: ...!uunet!modcomp!srp CIS: 73047,2313
Tej Koonar
srp@modcomp.UUCP (Steve Pietrowicz) (11/25/89)
in article <2067@bute.tcom.stc.co.uk>, tej@tcom.stc.co.uk (Tej Koonar) says: > > In article <189@modcomp.UUCP> srp@modcomp.UUCP (Steve Pietrowicz) writes: > # > #Besides, there are better realtime solutions available. :*) > > e.g. ??????? > > Tej Koonar e.g. REAL/IX from Modcomp. Rather than cross the boundary and talk about our own product (which is against net policy), send me some e-mail and I'll tell you about it. That goes for anyone who wants this information. I think you'll be pleasantly surprised that there are better realtime UNIX solutions available. -- SR Pietrowicz UUCP: ...!uunet!modcomp!srp CIS: 73047,2313