http://www.poegasm.com/computer-uses-in-daily-life/

Multitasking and Multiprogramming, Whats the Minor Difference?
I have gone through Many Atricle related to the above query, but Still i didn’t got it Completely, So Can you explain those two terms by giving simple Example of giving computer applications like listening song, surfing etc….. how We are Using multitasking and multiprogramming both(may be simultaneously) in computer system in daily life….
In WINDOWS TASK MANAGER, there are several .exe are running. , They are example of Multitasking or Multiprogramming, why?
I can understand your confusion when you see answers like these:
http://wiki.answers.com/Q/What_is_multiprogramming
http://en.wikipedia.org/wiki/Computer_multitasking
You know, I’ve been programming for a long time (over 28 years), and I’ve never heard of the term, ‘multi-programming’ before. It sounds like something that was made up by some clueless idiot who was not aware of other computer terms regarding multi-tasking.
“Multi-tasking” is a term used to describe the process of running multiple programs at once. Of course, technically that is not possible. Usually -but not always, what happens is that each program (a.k.a. process or task) is given a time slice, which means that each program is only going to run for a certain amount of time before the operating system switches to another program. (Of course, aside from regular programs, there are other background system functions like interrupt handling that may temporarily interrupt any program running at the time. Look up interrupts and interrupt handling if you don’t know what I mean.) It is important to know that the term, ‘multi-tasking’ does NOT define the method used to provide multi-tasking functionality.
The method of multitasking can have multiple terms.
If you go back to Windows 3.1, that OS was described as a ‘non-pre-emptive’ multi-tasking system. In this system, each program is given a time slice (generally 20ms). However, in certain situations (mainly with the code that handles messages for a window), the program code can hog the system all it wants. For example, If your program creates a window and Windows calls your program’s window handling procedure to send it a window message, Windows wouldn’t get back control until your procedure exited. (The window procedure should just process the message for that window and then quickly exit.) If the procedure never exits, then it can hang the whole system. You can also hog the system by not having the window procedure exit for a long time.
OS2 and Windows 95 had ‘pre-emptive’ multi-tasking, which meant that time slices for each task could not be hogged by a poorly created program. A poorly written window handling procedure on Win95 could never hog the system because it didn’t rely on having the procedure exit in order to give control back to Windows. In general, a pre-emptive multi-tasking system does not rely on having certain code called or having some special event happen within a program in order for the OS to gain back control.
Some other term that you may have heard of is ‘task-swapping.’ It is not considered multi-tasking because even though you can have multiple programs loaded, only the foreground program runs; There are no time slices for the programs in the background.
MSDOS’ DOSHELL program is a good example of task-swapping. It had simple protected mode task-swapping code that allowed users to load multiple DOS programs and then switch between them by pressing a hot key sequence.