Whats the difference between multitasking, multiprogramming & multiprocessing
This comes regularly for my university OS exams and I can\'t find a good answer. I
Multi-programming :-
More than one task(job) process can reside into main memory at a time. It is basically design to reduce CPU wastage during I/O operation , example : if a job is executing currently and need I/O operation . I/O operation is done using DMA and processor assign to some Other job from the job queue till I/O operation of job1 completed . then job1 continue again . In this way it reduce CPU wastage .
Multi -Tasking :-
In this type of OS multiple task(process) are performed concurrently (Concurrently does't mean that task executing exactly at same time instant ..as multitasking does't imply parallelism ) . In this system a new task start before other task ended depend on CPU scheduling technique it uses && all processes share common resources .
Multi -Processing :-
Use 2 or more processor within single CPU . So task can execute in parallel .But some synchronization b/w them is needed .