Objective is to have some processes running at all times to maximize CPU utility. As known before, time sharing allows multiple users to use the same CPU at the same time.
The process scheduler schedules how processes must be performed. Interrupts are handled by the process scheduler. For a single processor system there will never be more than one running process. Other processes must wait their turn.