Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!labrea!rocky!ali From: ali@rocky.STANFORD.EDU (Ali Ozer) Newsgroups: comp.sys.mac Subject: Re: Mac Multitasking Message-ID: <496@rocky.STANFORD.EDU> Date: Sun, 16-Aug-87 12:59:50 EDT Article-I.D.: rocky.496 Posted: Sun Aug 16 12:59:50 1987 Date-Received: Sun, 16-Aug-87 22:45:40 EDT References: <6565@eddie.MIT.EDU> <2742@hoptoad.uucp> <3638@cit-vax.Caltech.Edu> <2758@hoptoad.uucp> Reply-To: ali@rocky.UUCP (Ali Ozer) Organization: Stanford University Computer Science Department Lines: 63 In article <2758@hoptoad.uucp> tim@hoptoad.UUCP (Tim Maroney) writes: >Well, as long as the downloading loop cedes control of the processor every >time through, a trivial code change, then synchronous multitasking will >serve this end quite well. ... > I don't think you understand the Mac >very well, frankly. You don't need time-slicing with a notebook and pen, >and for 95% of the things on the Mac you don't need it, either. For the >remaining 5%, MultiFinder makes it pretty easy to write them so they can run >in the background, even in current versions. No coroutines, asynchronous >notifications, or other weird code structures, just periodically giving up >control of the processor. For something like a download or save, it ought >to be nearly trivial. For computation-intensive processing, presumably you >don't want to slow things down to that extent anyway, whether through >synchronous or asynchronous interruptions. I think I understand the Mac, so I will reply to this one... The multitasking we Amiga users talk about is the kind of multitasking that sits there waiting for you to need it. It's not the kind of multitasking that the programmer or the user has to prepare for. Any computer (even the C64) can be made to print in the background, but no programmer of user will take the time to do all the work, because it requires extra effort. Same with most Mac user's attitude towards multitasking --- They think it requires extra work, or means your programs will run twice as slow... Right now, as I'm typing this, I'm running VideoScape 3D, a *computationaly expensive* 3D graphics program. When I started running the program, I had no intention of reading news. But then I decided to create a 100-frame animation, and a pretty hairy one, one that's going to take about 20 minutes. After watching it go through the first 3 frames, I decided it was a waste of time, so I simply went to my CLI window and ran VT100, and here I am. VideoScape is running at priority -5, while VT100 is running at 0, so I feel absolutely no slowdown it my typing. But, VideoScape is already at frame 40, so it's running fine. Maybe a few percent slower, but hey, I got to browse through comp.sys.mac in the meantime, not an easy feat! (And when I say "few percent," I do mean 2 or 3 percent, not 20 percent. Amazing how little CPU typing requires.) I did not need to "change a few lines in my code," nor I did not need to decide before had that I was going to run VT100 during VideoScape. Then there's the programmers life. Think how much better Mac programs would be if you had multitasking. Those convoluted loops to get events! How you have to make sure everything gets done everytime through your loop. How CPU-intensive routines seem to step on user's input! Etc.. With "true" multitasking, an ordinary program can start up any portion of itself (say a function or a procedure) as a seperate task. The code is not duplicated, it just starts running as a task which either dies when the parent things it's had enough of a life, or when it hits its end. Just think about it, Mac programmers, if you had that ability, how much better your programs would look and how much better you would feel not having to do convoluted things... And to the person who said "you don't need messages in a graphics environment" --- well, what better way to get the tasks in a situation like this talking? I appreciate Apple's effort in trying to get the Mac to multitask --- what I don't understand is how they call these current attempts (like the Switcher and now the Multifinder) "multitasking". Ali Ozer, ali@rocky.stanford.edu [Wow I'm upto frame 62.]