To: Stephen Leung who wrote (13696 ) 5/18/1998 3:03:00 PM From: Adam Nash Read Replies (1) | Respond to of 213182
Namely preemptive multitasking It's nice you can do all this stuff. However, the Mac still cooperatively multitasks which means you can't do all this at the same time. With Windows 95 I can do several things all at the same time without waiting for the other app to release control. Don't get me wrong, I like the Mac but basically we are seeing very slow incremental changes to the OS. I think OS X will be the transition that had Microsoft going from win 3.1x to win 95. Steve Alright, technical explanation of popular myth: "Preemtive Multitasking means my computer does more than one thing at once" related myth: "Cooperative Multitasking means my computer can only do one thing at once" Debunk Myth: This is a myth on many levels, and it probably isn't worth spending too much time on it, since this is an investment board. However... A basic model of a computer focuses on the central processor. It is important to realize that for all intents and purposes, one CPU can only do one thing at a time. True, modern optimizations fudge this a bit, but this has nothing to do with operating system-level tasking. Operating systems adeptly can switch tasks that the CPU is executing. Since CPUs are so fast, if you do this fast enough, it looks like they are all running at the same time. Pre-emptive multitasking just means that the operating system decides when to switch tasks. Cooperative means the software decides when to switch tasks. Neither is inherently more efficient. I can design you a system that preemptively multitasks and results in less usablity. I could also design you a system based on cooperative tasking that would blow you away. In many cases, you can run more apps on a Mac "simultaneously" than you can on Win95. And yes, they all are "doing something", if by that definition you mean they all are getting to execute thousands of times a second. The interesting thing about this whole issue is that people really don't understand why they see the behavior they do. Even most developers don't - it has now become an area of specialty - operating systems analysis - that is generally beyond even most people in the industry. This is not to say that I think CMT is the way to go - it isn't, and its for precisely the reason above. It is harder to write software for a CMT system that behaves well. Preemtive multitasking effectively says, "I don't trust the developer to know what they are doing. I'll task the system for you." And you know what, they're right. IMHO, developers are getting on average (via dilution really) lazier and less generally knowledgeable about the systems they develop for. In general, you must realize that all modern computers do dozens of things "at once" at the lowest level. Disk controllers fetch data, network controllers poll and fetch all the time, video hardware acts almost autonomously on many cards. This has nothing to do with the tasking of processes by the OS. That is part of the reason why 8.1 (and believe me, 8.5) really start to fly.