Windows ability to run multiple programs at the same time is

Windows ability to run multiple programs at the same time is supported through multitasking or multithreading? how the processor is switched among different program ?
 
BOTH :) It all started with multitasking - - you see all those processes in the TASKMGR - - that's multitasking.
(aka multi-programming). Then to get better performance multithreading was added. This is somewhat like having the OS find programs that are ready to run (ie not waiting) and then letting the program itself do something while a slow unit of work was running in background.
That's not at all how it works, but gives you an idea - -

how the processor is switched among different program?
when the process WAITS (typically for I-o), the process is put on a que of waiting-tasks and another is found on a different que of ready-to-run tasks. This is a "heavy weight" process switch (ie lots of work). The multithreading implementations is a much "lighter weight" switch.
 
Back