It can't run them at the same time, but it can run one process until it must wait for I/O, at which point it can run another process until it must wait for I/O, at which point it can run some other process (including the first process mentioned, if the I/O is finished), etc.. This is called multitasking.
A system that does multitasking can support preemption, in which case the OS can take the CPU away from the currently-running process and give it to another process, either because a process with higher priority was waiting for I/O to finish and that I/O has completed or because the currently-running process was given a "time slice" and the time slice has completed.
Multitasking can make it look as if multiple processes are running at the same time, but they aren't - only one process is actually running at any given time.
With a multiprocessor system, if it has N processors, at most N processes can be running at any given time. Each CPU can multitask, so that, on an N-processor system, it can look as if more than N processes are running at the same time, but they aren't. Guy Harris (talk) 03:34, 12 November 2013 (UTC)