From: ttn@cs.tut.fi (Tero Nieminen)
Newsgroups: comp.sys.mac.advocacy
Subject: Re: the NeXT option (Was Re: 7.1 vs. OS/2 and Windows NT)
Date: 5 Nov 92 11:20:51 GMT
	<1992Oct28.151853.17902@rmece49.upr.clu.edu> <6280.2af55c0f@hayes.com>
Organization: Tampere Univ. of Technology, Finland.
NNTP-Posting-Host: mustarastas.cs.tut.fi
In-reply-to: bcoleman@hayes.com's message of 2 Nov 92 16:49:19 EDT

In article <6280.2af55c0f@hayes.com> bcoleman@hayes.com (Bill Coleman) writes:

   True. But such would be a bad application. We can avoid this situation simply
   by not running any such applications. Hence, our cooperative system remains
   pure.

But since the choice of good applications with right set of features is
seldom very large, in paractice, you don't have much choice. You have to
take the application that has the needed features, wether it is a "bad"
application or not. Neither does the buyer have much any controll over
such factors.

   Let's put that in a different light. Is the goal of an operating systems
   multitasking method to benefit the user or the programmer?

And then we come to the question what is the purpose of the operating
system (if any).

   I contend that that multitasking should be optimized to provide the best
   features for the user, even if this causes the programmer some minor
   difficulty.

You aren't saying Mac has done this? Maybe, if your prototype user is a
secrretary..

   Indeed, Macintosh multitasking has almost no affect on typical applications.
   The mere writing of the application in the event-centered model is sufficient
   to provide excellent cooperation.

   For a small segment of applications, a little bit more effort is required 
   by the programmer. But the efforts of the programmer are rewarded by the
   resulting satisfaction of the users.

How about, since preemptivity would make making of every program easier
eliminating the need to spray WNE-calls oll over the place, it should be
done once and for all in the OS. Choose the amiga way of supressing
pre-empting at critical times if the more common unix preempting is so
bad. At least then every programmer didn't have to code the multitasking
themselves..

   > The Macintosh wastes a lot of time in the cooperative multitasking it has.

   Not really. Applications surrender time when they are waiting for an event
   to process. As such, this is the most opportune time to task switch.

That's the simplest time to call it. But if you wan't to make a nice
application, it's hardly sufficent.

   For applications that use WaitNextEvent, the application even
   provides a minimum time it needs service -- so more processor time
   can be spent on those applications that need more frequent service.

I don't quite follow you here. The time you pass to WNE is the time
after which your application will regain execution, wether it has
anything to process or not (for things like to update a clock in a
window, say once in a minute). So typically you call WNE with MAX_INT,
or some such, to sleep until there is an event to process. I don't see
how you can use that to control how much processor time you get, since
that depends on how much time is spent in the other applications and you
don't know how much that is.

It would be a lot easier, if programs are switched, say, 10 times a
second. Then you didn't have to worry if it will be switched out "often
enough, but not too often".

   >    One of the problems with X-windows is that all the user/computer
   > interaction is done through messages, and not directly by a computer
   > monitoring the activities.

   I contend that the problem with X-windows is the structuring of applications
   with the artificial application / terminal division.

I thought the X-system was divided to programs and the X-server and the
window mager.

   This is not efficient for either communications or processing.  With
   the increase in the processing power of the "terminals" it would make
   more sense to move part of the application into the "terminal"
   instead.

That is next to impossible, considering the variety of hardware and cpus
used to make X-terminals. Now if we only had one cpu type to begin
with..

   Hosts would then become information servers, rather than
   application servers.

I think what you are looking for is a X-workstation.
-- 
         Tero Nieminen                      DANGER!
         ttn@cs.tut.fi                   Computer Bytes!
Newsgroups: comp.sys.mac.advocacy