🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.powerpc
Article #1632

Re: Ask yourself these before you choosing a 32bit OS...

#1632
From: Kazimir Kylheku
Date: Thu, 24 Aug 1995 18:41
40 lines
2793 bytes
In article <41h0kq$75r@nntp5.u.washington.edu>,
Tim Smith <tzs@u.washington.edu> wrote:
>scott goehring <sgoehrin@copper.ucs.indiana.edu> wrote:
>>>True.  Pre-emptive is more efficient and smoother, which is why it was
>>>added into 95.
>>
>>preemptive multitasking is _less_ efficient than nonpreemptive
>>multitasking, because of preemption overhead.  many supercomputers run
>
>You've ignored the extra overhead in cooperative systems that is
>required to keep the system responsive.  Consider an extreme case:
>two compute-bound processes.  A modern preemptive schedular will
>settle into a round robin with these with a very large time quantum,
>and the overhead will approach zero.
>
>On a cooperative system, both of these processes have to repeatedly
>give up the CPU to the OS, just in case there might be an interactive
>process that needs the CPU.

IMHO, it can't be done well, and it can't be done portably. It's
difficult to predict how long some code will take to execute, particularly
so if it will be run under dissimilar implementation of the same
architecture (e.g. 68000 vs 68040) or on completely different machines.
It's anyone's guess whether enough yields have been inserted or not.
Yield calls also mess up your code! I don't want irrelevant instructions
to be generated into what I want to be an optimized piece of
numerical analysis.  Why should my ray-tracer or compiler have to
contain process scheduling decisions? The insertion of extra test/branch
instructions will interfere with the proper optimization of such code.
What about porting software to a crappy cooperative system? You will
have to go hunting through the source to insert yielding in all the
right places. I'd hate to have to do this for GCC!

I think that the advocates of cooperative multitasking are unbelievable
crackpots and lunatics with no grasp on reality, and we are completely
wasting our time.  But this is Usenet---what else is new?

-- 
Finger c2a192@keats.ugrad.cs.ubc.ca for PGP public key. Or contact
one of the public key servers -- the key id is 0xD3C7995D.
Technical Details
Message-ID: <41ih47INN29r@keats.ugrad.cs.ubc.ca>
Path: arc1-ca.pugleaf.net!keats.ugrad.cs.ubc.ca!not-for-mail
References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <41astd$53u@steel.interlog.com> <41c9ut$g73@usenet.ucs.indiana.edu> <41h0kq$75r@nntp5.u.washington.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!keats.ugrad.cs.ubc.ca!not-for-mail
From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku)
Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy,comp.sys.intel,alt.2600,comp.os.ms-windows.advocacy
Subject: Re: Ask yourself these before you choosing a 32bit OS...
Date: 24 Aug 1995 11:41:11 -0700
Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
Message-ID: <41ih47INN29r@keats.ugrad.cs.ubc.ca>
References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <41astd$53u@steel.interlog.com> <41c9ut$g73@usenet.ucs.indiana.edu> <41h0kq$75r@nntp5.u.washington.edu>
NNTP-Posting-Host: keats.ugrad.cs.ubc.ca