Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU.UUCP Newsgroups: comp.sys.mac Subject: Re: multitasking on the Mac Message-ID: <8701240851.AA06613@cory.Berkeley.EDU> Date: Sat, 24-Jan-87 03:51:37 EST Article-I.D.: cory.8701240851.AA06613 Posted: Sat Jan 24 03:51:37 1987 Date-Received: Sat, 24-Jan-87 11:59:12 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California at Berkeley Lines: 33 >What difficulties, specifically, would hamper the implementation of >a true multitasking operating system on the Mac? I'm curious about >the details, hardware and software. What necessary hardware does >the machine lack? What about the existing software would cause >dire headaches for the implementor of a multitasking operating >system on the Mac? >Grobbins. The difficultly is in the fact that the MAC OS was not originally designed for multitasking and also the fact that many programs on the MAC (rightly) assume they own the entire machine. Creating a 'task switcher' is trivial... it took me about 2 hours to write a task-switching signal/wait enviroment for an IBM-PC. The problem was that MSDOS wasn't multiply re-entrant (Only one of the N tasks could actually make MSDOS or BIOS calls). And by the way, multitasking implies "preemption, or switching without notice". Thus SWITCHER doesn't qualify since you have to switch manually. In anycase, getting back to the topic: Assuming that all written programs don't make any assumptions and don't take any short cuts when talking to the MAC's OS, the only problem remaining is to make the system/library calls re-entrant, and to make it appear that each task has its own enviroment (stack, heap, etc...). As far as I can gather, this is what SERVANT does... there's a lot of overhead due to OS manipulations, and a lot of inefficiency due to that fact that there is no notion of 'waiting' for events, but it works. One item of information that I DON'T have is what does SERVANT do about the screen? What happens when you have two tasks running simultaniously, both going into separate but overlapping windows on the MAC screne? And what happens when you run those programs which take over the entire screen such as Asteroids, or the stars demo?? -Matt