Talk:Multiprocessor

Latest comment: 10 years ago by Guy Harris

I thought that non-multiprocessor hardware could run any number of processes at once with the proper software. Am I wrong? lifeform (talk) 06:06, 20 July 2012 (UTC)Reply

Yes, you are wrong. 89.144.192.83 (talk) 06:08, 31 July 2012 (UTC)Reply

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)Reply