Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!lll-winken!sun-barr!decwrl!ucbvax!hoptoad!tim From: tim@hoptoad.uucp (Tim Maroney) Newsgroups: comp.sys.mac.programmer Subject: Re: Need info on multitasking capabilities on the mac Message-ID: <9087@hoptoad.uucp> Date: 27 Nov 89 17:49:24 GMT References: <9775@zodiac.ADS.COM> <39178@srcsip.UUCP> <36687@lanl.gov> <74117@tut.cis.ohio-state.edu> <36755@lanl.gov> <1209@radius.UUCP> <2008@atanasoff.cs.iastate.edu> <9071@hoptoad.uucp> <1487@sequent.cs.qmc.ac.uk> Reply-To: tim@hoptoad.UUCP (Tim Maroney) Organization: Eclectic Software, San Francisco Lines: 49 In article <9071@hoptoad.uucp> tim@hoptoad.UUCP (Tim Maroney) writes: >If you start an upload and then go into StuffIt to extract information >from the file you just downloaded, StuffIt will refuse to give any time >to the rest of the system until it completes, and your upload will time >out. This is more of a problem, and it *is* an intrinsic problem that >can only be solved with time-sliced multitasking. In article <1487@sequent.cs.qmc.ac.uk> jeremyr@cs.qmc.ac.uk (Jeremy Roussak) writes: >While not disagreeing with the very valid point you're making, Tim, you >malign StuffIt. There's an option in the preferences dialogue (yes, >I'm English) to tell StuffIt to allow time to background tasks. Yes, so a number of people have informed me. However, they also inform me that it's very slow. I doubt anyone keeps their preferences set to allow background time, for this reason -- StuffIt is already tremendously slow. It can easily take 40 minutes to compress and segment two megabytes. So, if you forget to change your preferences to allow this, your transfer will time out, and even highly skilled computer professionals frequently make this class of error. In any case, I was only using StuffIt as an example. There are plenty of programs that don't allow any time to background tasks, and a programmer can always write more. This is a problem that, again, can only be solved by time-sliced multitasking. But it is not usually a problem -- it has an effect only on a few rare cases like file uploading and downloading in terminal emulators. So I am not using this as a way of condemning non-time-sliced multitasking; an argument could be made that it would be more efficient simply to allow some enhanced time-sliced mini-tasking capability for just those few tasks that need it (like a VBL queue that runs regardless of the current context). It should also be noted that the Communications Toolbox File Transfer Manager is hopelessly incompatible with any such scheduling system. It requires synchronous-level idle-time polling. The TOPS background scheduling mechanism would work in most cases, but of course, it's a proprietary trade secret, and I can't tell you what it is, or use it myself in any products. It would be nice if someone with no privileged knowledge would spend the few hours it would take with a debugger to crack it and post a description to the net, so we could all use this nifty thing. -- Tim Maroney, Mac Software Consultant, sun!hoptoad!tim, tim@toad.com "Starting in a hollowed log of wood -- some thousand miles up a river, with an infinitesimal prospect of returning! I ask myself 'Why?' and the only echo is 'damned fool! ... the Devil drives!" -- Sir Richard Francis Burton in correspondence to Monckton Miles, 1863