Path: utzoo!attcan!uunet!cs.utexas.edu!usc!elroy.jpl.nasa.gov!sdd.hp.com!decwrl!decwrl!granite.pa.dec.com!mwm From: mwm@raven.pa.dec.com (Mike (Real Amigas have keyboard garages) Meyer) Newsgroups: comp.sys.amiga Subject: Re: Commodore, Amiga, Apple, and MAC Message-ID: Date: 7 Apr 90 07:09:29 GMT References: <15003@snow-white.udel.EDU> <5463@sugar.hackercorp.com> <40@kalahari.cs.utexas.edu> <23894@usc.edu> <620@lovelady.cs.utexas.edu> Sender: news@decwrl.dec.com Organization: Missionaria Phonibalonica Lines: 48 In-reply-to: s320@cs.utexas.edu's message of 6 Apr 90 04:03:05 GMT In article <620@lovelady.cs.utexas.edu> s320@cs.utexas.edu (Spring 90) writes: >A premptive OS and protected memory have nothing to do with each other. The >Amiga has a preemptive OS and no protected memory. A "preemptive" OS is >TOTALLY TRANSPARENT to the application programs: the OS gives each program >a "quantum" of time and the switches, with the application not even able >to find out about it. Get any good book on Operating Systems and "read >more about it" :-) Guess again!!!! That's right, you get a quantum of time for each program. But what happens if certain things are not protected, like the TIMER???? Probably the same thing that happens on _any_ computer without memory protection when some program does something stupid to the OS - you wind up rebooting the machine. [Example of program crashing a system deleted.] So, we need protected memory if we have preemtive multitasking. It is a good idea, anyway, so my program doesn't overwrite your program's space, either on purpose or accidentally... Actually, your reasoning applies to _any_ system, no matter what kind of tasking it does. After all, doing that means that only the broken program needs to die. Even on a single-tasking system, that means you don't have to restart the OS. Much as some Amiga users may hate to admit it, the difference between preemptive and non-preemptive multitasking isn't that great from the users point of view. Non-preemptive just means that there are more ways (just one?) for a program to be "multi-tasking unfriendly". Once you have such a program enter the twilight zone, you take the same action on either kind of system, said action depending on the rest of the system. The flip side of this is that for the programmer, a preemptive system has one less thing you have to worry about doing right (allowing other tasks to run often enough that users on an 8MHz 68000 won't complain), so you can spend more time making the rest of the program better. But the number of Mac programmers vs. the number of Amiga programmers probably makes up for that.