I was a little confused between these three terms Multitasking, Multithreading and Multiprogramming
Although every one means executing different lines of codes, and for every one we need something like Task State Segment or context to store data for that particular thread/task.
I am missing something, can anyone give me the basic difference between them and how they are actually executed in a processor
Edit: Actually I was a guy from Electronics background and I was poor at OS related issues. The main thing I understood between multiprogramming and multithreading is that in multiprogramming we execute two separate programs where as in multithreading the scheduler produces two different threads which can be executed independently. I think these are a form of multitasking implementation. Am I correct. I was really confused