Multi tasking: It is the logical extension of multi-programming. The idea of multitasking is quite alike to multiprogramming although difference is that the switching among jobs takes place so recurrently that the users can act together with each program while it is running. This idea is also termed as time-sharing systems. The time-shared operating system employs CPU scheduling and multiprogramming to give each user with a small part of time-shared system.