Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 UW 5/3/83; site uw-beaver Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!cornell!uw-beaver!info-mac From: info-mac@uw-beaver (info-mac) Newsgroups: fa.info-mac Subject: Message-ID: <1429@uw-beaver> Date: Thu, 9-Aug-84 13:15:22 EDT Article-I.D.: uw-beaver>.1429 Posted: Thu Aug 9 13:15:22 1984 Date-Received: Sat, 11-Aug-84 01:13:01 EDT Sender: daemon@uw-beave Organization: U of Washington Computer Science Lines: 47 From: breuel@harvard.ARPA (Thomas M. Breuel) Neither the MacIntosh operating system, nor the Mac user interface seem to be oriented towards multi-tasking, meaning that it would probably be very hard, or impossible, to get two independent, unco-operative to run at the same time. On a high level: -- how would you handle the different menu bars for different applications running at the same time? -- how would you give the user a chance to switch between tasks? You can't just put them into the Apple menu, because that is managed by the application itself, and usually created via _AddResMenu. Maybe add a desk accessory to do it? What about applications that don't support desk accessories? -- how would you handle windows? Leave behind windows belonging to different tasks? What happens if the user clicks in a window belonging to a background task? Bring it into the foreground? On a low level: -- look what a hack desk accesories are: they have to be 'drivers' to co-exist with an application. -- is the ROM re-entrant? I don't believe so... how would you handle the current grafPort? and all the other global states of the system? save them all? -- there is no memory management unit on the Mac. There is no protection among tasks. -- what about (asynchronous) i/o? What about background tasks doing i/o on windows? Usually the window on which i/o is done is the foremost (active) window. Could one just ignore this convention? -- many more questions... Sorry for the poor organisation of this collection, but I think, altogether, it is likely that the MacIntosh is not going to have a multitasking operating system for quite a while, and not without major changes to the ROM and the user interface. If you want to get multitasking and windows, get a LISA 2/5 with the office system, or, better, get a good SmallTalk implementation (if you can afford the hardware). This is not to say that you'll not be able to get some kind of multitasking -- you can write desk accessories that do things semi-concurrently, or certain interpreted and compiled programming languages may support multitasking, like Basic or Modula2. I believe that running theWord in one window and Sargon in the other will not be possible for quite a while. Thomas.