Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!mcsun!goya!turia!esink From: esink@turia.dit.upm.es (Eric Wayne Sink) Newsgroups: comp.sys.mac.system Subject: Re: Changes for preemptive multitasking Summary: I want more than just preemptive multitasking Keywords: MULTITASKING WINDOWS AMIGA Message-ID: <1991May13.081440.12468@dit.upm.es> Date: 13 May 91 08:14:40 GMT References: <811@newave.UUCP> <15931@helios.TAMU.EDU> <1443@cash.cs.utexas.edu> Sender: @dit.upm.es Reply-To: esink@turia.dit.upm.es (Eric Wayne Sink) Distribution: comp Organization: dit Lines: 86 Nntp-Posting-Host: turia.dit.upm.es In article <1443@cash.cs.utexas.edu> mpretzel@cs.utexas.edu (Benjamin Allums) writes: > >Mac - Implementing a pre-emptive multi-tasking OS would guarantee software > incompatibility for all programs. Certainly they could be modified and > recompiled, but Apple will not release a multi-tasking OS until the > Mac memory model has been altered. Currently, applications assume that > they have complete access to all available memory. MultiFinder works > by allowing the user to specify the amount of memory that the program > may take. Under the Amiga, an application may request and release > additional memory on the fly, so memory use is more efficient. > Strong words. I'm not sure if I disagree or not. Apple's engineers are awfully clever people, if not always motivated in the direction I want them to go. I might hope that they could produce a nice preemptive multitasking, MEMORY PROTECTED OS which is still compatible. Maybe not. Yes, the memory model is a problem, but if the OS may assume the presence of a MMU, I believe the use of a virtual address space would avoid the scenario you speak of. Of course, don't expect this to run on a Classic. The Amiga : yes, more efficient. But what happens if a process doesn't explicitly release its allocated memory ? Disclaimer : I like the Amiga. A lot. I confess that I did sell my Amiga to buy something better, but in my case I bought an engagement ring ! > >What I think Apple should do. > >Apple has just completed a total rewrite of system software into C++. No, they rewrote the Finder in C++. They may have rewritten other stuff too, but they did NOT rewrite the WHOLE system. Of course we've waited long enough to start thinking that they had... :-) >Finally, Apple should lay out the structure of how a pre-emptively multi-tasking >program should operate. A new method for dealing with memory could be imple- >mented within new programs, but their more efficient memory handlers would >simply be unnoticed by the System 7.0 MultiFinder. Wasted memory, but program- >mers can know what they need to do. Once again, the compiler can handle the >details of patching upon the code and providing the glue necessary to allow a >program designed to run in the future Mac environment to run in the current one. > >What I'm suggesting is the creation of a hybrid environment which allows pro- >grammers the ability to write applications for System 8 today and have them >run on System 7. And if they choose not to do so, then they do not. Since >all the work will have to be done some day, why not start working now on >smoothing the transistion to System 8? Cool ideas, but the DESIGN of System 8 is perhaps the biggest part (as opposed to the implementation). I am impressed with Apple and how they have been innovative with their OS (any arguments containing the words GNU, Xerox, Windows, legal, Parc Place, or any profanity, should be sent to /dev/null). The Mac OS is not DOS, and I am not interested in the functionality of DOS. Nor is it UNIX, but I want the functionality of UNIX in a Macintosh OS. No, I don't want my Mac to smile at me when I turn it on, and then give me a csh. But I WOULD like to see the Mac OS support protected memory, preemptive multitasking, standard IO, virtual memory, and IAC; ALL of it in a manner that it truly *Macintosh*. Some of this functionality is going to be released today. Some of it is going to be rather difficult to implement. In summary, I want more than just preemptive multitasking. The decision of what features to include in the System, and how to handle them in a Macintoshy way, is just as difficult as cranking out the C++ code to do it. Problems I see : How are we going to let simultaneously running programs share the menu bar ? It would be nice to have a whole program in a window, so I could do two things at once without having to put one in front of the other. How are we going to define an analogy to standard IO ? I would really like to be able to arbitrarily pipe the output of some program to some other program's input. But in a GUI system, what form does this IO stream take ? AppleEvents ? No flames ! The Mac, the Amiga, and whatever UNIX box you like are all great platforms. I am simply interested in seeing the functionality of the Mac advance. Politely expressed opinions, pro or con, are a delight. Eric Eric W. Sink | "If no one is criticizing |Opinions Departamento de Telematica | your work, it is possible |mine - Universidad Politecnica de Madrid| that you are not doing |all of esink@turia.dit.upm.es | anything." -George Verwer |them.