SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Apple Inc. -- Ignore unavailable to you. Want to Upgrade?


To: Stephen Leung who wrote (13696)5/17/1998 12:24:00 AM
From: HerbVic  Read Replies (2) | Respond to of 213182
 
Stephen,

Correct me if I am wrong, but Windows NT has preemptive multitasking. Windows 95 is still cooperative multitasking like the Mac OS.

I'm not a programmer, so my information is sketchy, but I think that both Windows 95 and Mac OS 8.1 have cooperative multitasking with the ability to multi-thread. Applications can work in parallel without being aware of each other as long as they are written to take advantage of multi-threading without hogging the processor's time.

We have a few programmers who follow this thread. Anyone care to settle this?

HerbVic



To: Stephen Leung who wrote (13696)5/17/1998 3:30:00 PM
From: Robert Mayo  Read Replies (2) | Respond to of 213182
 
Advertised capabilities in Windows don't always correlate well with reality: pcworld.com.

"Preemptive multitasking" and "memory protection" are often touted as arguments for the superiority of Windows over the Mac OS. The reality is very different See: mackido.com.

Bob



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.