From: tsarna@endicor.com (Ty Sarna)
Newsgroups: comp.sys.amiga.advocacy
Subject: Re: Amiga 4000/Atari Falcon
Date: 28 Aug 92 22:31:59 GMT
Organization: Endicor Technologies, Inc., San Antonio, Texas

In article <1992Aug28.213334.121@ctr.columbia.edu> jerry@connection.prospect.com (Jerry Shekhel) writes:
> As far as I know, OS/2 always schedules higher-priority tasks before
> lower-priority tasks.  So it meets this requirement.

Ahem. Well, you're hot to have solid proof on these matters, so "As far
as I know" won't cut it. Many many operating systems don't do that. Unix is
one of them.

> OS/2's VM can easily be disabled (MEMMAN=NOSWAP).  Nevertheless, I can't

In which case you'll get realtime performance if the above is also true,
and assuming that no other factors get in the way (like display DMA
bandwidth on the Amiga as another person pointed out, but as you would
say, that's an hardware (mis-)feature, and we're discussing OSes here)

> see how either OS can guarantee anything about the amount of time it'll
> take to execute a section of code.  After all, any process, no matter how
> high its priority, will be pre-empted in favor of another process of equal
> priority when its quantum expires, no?

Right. Inherent in the guaruntee is that given X amount time amount Y of
work will always get done. Task switches don't affect that (since X is
decreased as Y is), but VM does (since part or all or several quantums
use up X loading pages while work Y isn't getting done).

>  Is it possible, in AmigaOS, to
> designate a task as "non-preemptible"?  If not, there's no difference in
> AmigaOS and OS/2 in this respect.

Well, the answer is "Sorta". A task can disable multitasking for itself
to a point, and that DOES interfere with realtime response. Programs
aren't really supposed to do this, however, but it's a relic from when
better locking mechanisms didn't exist and thus it us used quite a bit.
Again, that's not due to the OS, so the parameters of this discussion
that you yourself set exclude factors like that. The OS is realtime, but
many programs aren't. And, as I said, there is no inbetween. If one of
those programs is running the systems is no longer realtime.

> >It also usually implies that the OS is relatively low-overhead, and the
	   ^^^^^^^^^^^^^^^
> >task switch time is minimized (at the cost of some features)
>
> Relatively low-overhead?!  Relative to what?  Remember, there are no
> relatives; it's either real-time or it isn't -- your words.

(I say one thing is not relative, and you extend that to EVERYTHING....)

Realtive to OSes with VM and/or MP where task switches have to not only
just save/restore registers but also have to remap the address space. 
Overhead has nothing to do with realtime, though.  It's _implied_ not
required; it's a by-product.  See my remark above.  An OS can burn
99.44% of CPU time with NOPs, but as long as performance is consistant
for running programs it's still realtime.  Not particularly useful or
desirable, but realtime. 

> Hey, sorry I flew off the handle; bad day.  However, you really haven't
> pointed out any real differences between the two OS's to justify your claim.

I've proven that the amiga OS is a realtime OS (regardless of external
factors). That is all I have set out to do. If you want to prove that
OS/2 is, that's your job. I'm not going to do all the work while you
relax and enjoy your "as far as I know"'s.

--
Ty Sarna				           tsarna@endicor.com

	"Staring faces, set in celluloid,
		Welcome to the late show, starring null and void"
Newsgroups: comp.sys.amiga.advocacy