- Whiel one program waits for IO, other program can run. This is called time-slicing.
- No Multitasking (e.g. MS DOS)
- Cooperative multitasking (program gives up the CPU by going into wait-state) (MS Windows 3.1) (if not, freezing)
- Pre-emptive multitasking (OS is responsible to switch between running processes) (Unix, Linux, Windows 95/NT and later)