Don't tell me, tell goosnarrggh. He's the one who doesn't know what multi-tasking is.
No, apparently you don't. Or at least, you are stubbornly choosing to apply an extra qualification to the term "multitasking" that simply isn't part of the generally accepted meaning of the term among computer scientists.
"Multitasking" - either cooperative or preemptive - is a feature that has available on mainstream computer systems since at least the mid to late 1980's, long before multiple CPU systems were mainstream. Multitasking means, quite simply, that multiple applications are on the go at once, and the OS is splitting up its resources (including IO peripherals, RAM, and CPU time) amongst all of them to give the perception that they are all progressing at once. Sometimes a task may yield the CPU to other tasks while it's
blocked waiting for an IO task to complete. Other times, the task may cooperatively yield control of the CPU just to be nice. Other times, the OS may force the task out of the CPU to give other tasks a chance to run. All of these meet the definition of multitasking.
This is contrasted with singletasking, in which one foreground application (and only one application) is loaded in the OS at a time, and no other foreground application can even be loaded into the OS at all, let alone do anything, until the first program has finished everything it wants to do, it's terminated, and been unloaded.
The thing you're referring to, where multiple tasks are literally making progress in the CPU simultaneously, can be achieved in some single-CPU systems that are specifically designed for it, such as certain variants of the SPARC architecture, or the Hyperthreading extensions to the x86 architecture. Alternately, it is achieved using multiple cores in a single CPU, or using multiple CPUs; these arrangements are referred to as SMP (
Symmetric MultiProcessing).
Multiprocessing and multitasking are interrelated, but not interdependent, concepts.