🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #26423

Re: Shy pre-emption++

#26423
From: Ali Ozer
Date: Wed, 16 Mar 1988 16:03
39 lines
2705 bytes
In article <6970@drutx.ATT.COM> clive@drutx.ATT.COM (Clive Steward) writes:
>Here may be a big point that keeps getting missed.  Apple is probably shyer 
>than they should be about Multifinder's real abilities.  This pre-emption 
>issue vs. Unix seems just about pure eyewash -- the two systems look about 
>equally (non-)pre-emptive.
> ...
>Unix is not 'pre-emptive' at all, unless a process stays in it's own
>computation longer than the 'lightning bolt' timer interrupt period,
>which has traditionally been a 1 second interval.
                                ^^^^^^^^
I'd hate to run any sort of interactive program on such a system, especially
if anyone is ray-tracing! 8-) But really, there are some other features that
Unix (and other multitasking systems provide) that you really do need.
Task priorities, for instance. Consider the Amiga: You run a ray tracer
and a word processor. Set the ray tracer's priority to a low value, and leave
the WP at the default. You are assured of getting immediate response as soon
as you hit any key in your WP, while the ray tracer (which we assume
is a CPU hog) will soak up any unused cycles from right between your fingers.
But you won't even know the ray tracer is running.  

Another feature you might find in a multitasking operating system is
interprocess communication, which Multifinder currently doesn't
provide.  Interprocess communication isn't necessary for multitasking; but
many problems are much more easily and gracefully solved with it than 
without it.

Note that I'm not saying MultiFinder can't do these; with enough work
anything is possible. You can kludge up you ray tracer and stick in
calls to check the event queue. You'd need to put these in a lot
places, though, as ray tracers tend to do off and run in floating
point intensive loops for long periods of time. As soon as some event
came in, the ray tracer would have to give up control.  Interprocess
communcation is also possible --- You can write and read files (whose
names have been agreed on by the participating tasks), or you can use
system resource files kept in RAM. Yes, these are possible, but
probably at the cost of speed and memory. And not to mention all the
redundancy in user programs. 

Ali Ozer, ali@polya.stanford.edu
Technical Details
Message-ID: <2154@polya.STANFORD.EDU>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!polya!ali
References: <7670@apple.Apple.Com> <6970@drutx.ATT.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!polya!ali
From: ali@polya.STANFORD.EDU (Ali Ozer)
Newsgroups: comp.sys.mac,comp.windows.misc
Subject: Re: Shy pre-emption++
Message-ID: <2154@polya.STANFORD.EDU>
Date: 16 Mar 88 16:03:11 GMT
References: <7670@apple.Apple.Com> <6970@drutx.ATT.COM>
Reply-To: ali@polya.UUCP (Ali Ozer)
Organization: Stanford University
Lines: 39