Xref: utzoo comp.sys.mac:14142 comp.windows.misc:324 Path: utzoo!mnetor!uunet!mcvax!ukc!its63b!csnjr From: csnjr@its63b.ed.ac.uk (Nick Rothwell) Newsgroups: comp.sys.mac,comp.windows.misc Subject: Multifinder - why I *don't* want real multitasking? Message-ID: <1092@its63b.ed.ac.uk> Date: 17 Mar 88 12:33:05 GMT References: <3268@zeus.TEK.COM> Reply-To: nick%ed.lfcs@uk.ac.ucl.cs.nss Organization: LFCS, University of Edinburgh Lines: 41 Keywords: Mac, Multifinder, Multitasking Summary: Why I don't want real multitasking From article <3268@zeus.TEK.COM>, by bobr@zeus.TEK.COM (Robert Reed): > This is the crux of the issue. In your narrowed view of multitasking, IPC > requirements may exclude such systems as Multifinder. Yet, Multifinder fits > broader views of multitasking which rely only on the ability to share > resources among a set of simultaneously executing processes. Consider this a general posting rather than a response to Robert's comments in particular... Is the following a reason to prefer Multifinder's event-driven multitasking to "real" timesliced multitasking? If I'm running some sort of package which does real-time things, like timing events, and doing things at certain times, I presumably don't want the OS occasionally kicking in to attempt a re-scheduling, even if nothing else is runnable. At least with Multifinder's approach, if my time-critical application has the machine, it keeps it until it's finished. In fact, timing things on input is probably OK as long as you have kernel routines to timestamp stuff. But output still seems like a problem. The application which came to mind this morning: MIDI sequencing software. If my sequencer is going flat out, I'm playing into it from my keyboard, and it has to get notes and so on out to the noise boxes within milliseconds. When it's stopped (and awaiting mouse input), then I can "swap" it out and look at something else, but when it's going, I don't want anything else to trip it up. Here's a technical question, out of curiosity - I presume the MacOs's GetNextEvent (or whatever) is a "let me sleep until mouse or window or keyboard event" kind of call. So: how does one extend the set of required events (for example: let me sleep until mouse or window or keyboard or character at the modem port)? Is the set of event types infinitely extensible? Or are there only ever going to be a fixed number? > Robert Reed, Tektronix CAE Systems Division, bobr@zeus.TEK -- Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh. nick%lfcs.ed.ac.uk@nss.cs.ucl.ac.uk !mcvax!ukc!lfcs!nick ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ...while the builders of the cages sleep with bullets, bars and stone, they do not see your road to freedom that you build with flesh and bone.