This is sooo confusing and both looks like the same.can someone explain this to me?
thanks

I had always thought they were the same. But the wiki knows!

Yeah, well, this is one of those subjects that CS boffins can nuke a penthouse party with by interminable arguing. It's all in how one defines certain terms, and frankly, the differences are minimal. IMO, the main difference is that in multi-programming, a process might not relinquish the CPU until it becomes I/O bound or goes into some sort of wait state. In true multi-tasking, a process can be interrupted at any time in order to allow another task to have CPU cycles, usually according to some scheduling algorithm enforced by the system kernel.

For me that sounds like difference of preemptive true multitasking (like Mac OS X) vs cooperative multitasking by relinquishing control during certain operatin system calls (like Mac OS 8. No I have not realy used Mac, but example is for Griswolf)

For me that sounds like difference of preemptive true multitasking (like Mac OS X) vs cooperative multitasking by relinquishing control during certain operatin system calls (like Mac OS 8. No I have not realy used Mac, but example is for Griswolf)

Yeah, that is pretty much how I read it too. I think there are four points on this continuum

  1. Single tasking
  2. Cooperative multitasking in the application code
  3. Multiprogramming (cooperative but in the OS)
  4. "true" multitasking (preemptive in the OS)

The real problem with multiprogramming (and application-level cooperative multitasking) is that the supervisor (if any) is just another task, so it can be starved if the other tasks don't cooperatively release resources (or call a "swap here" library function that the OS supervisor recognizes).

P.S. I've spent much more time programming in a (Li|U)nix environment than using OS/X. To me they all have much the same flavor (which tastes like bash or ksh ). Eearlier MacOS was a whole different breed of cat.

@griswolf: maybe more Cocoa taste than Korn taste for most users, but sure I am happy that Unix family has gained so much popularity by Apple's effort.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.