Multitasking is a method with multiple processes share common resources like CPU. Multiprocessing is similar to multitasking, but in multiprocessing more than one CPU is involved. In multitasking only one CPU is involved, the CPU is switched from one task to another so quickly, so that each user gets the impression that CPU is used by him only.
There are two types of multitasking: Preemtive and Cooperative multitasking. In preemptive multitasking, operating systems assigns time slice to each processes that are waiting for the execution. When the time slice of an executing program has expired, that process is taken from the CPU and the waiting process gets a chance to use CPU. In cooperative multitasking, each program can control the CPU as long as it needs it. Unlike in preemptive multitasking, here program itself owns the control of CPU.