Can a single process be executed in two or more processors in a multiprocessor system?

2

3

I have heard that one processor can work on only one process at a time. Is this true? If so, then how can a single process be executed in more than one processors at a time? Is this even possible?

Thanks in advance!

Vishnu Vivek

Posted 2013-01-05T09:41:47.737

Reputation: 493

Answers

4

Most operating systems will allow threads to run simultaneously on separate processors/cores. Since processes can have more than one thread, they can in theory run on more than one core. Synchronization may cause one or more threads to wait until others have reached a certain point, but barring that they will run at the same time.

Ignacio Vazquez-Abrams

Posted 2013-01-05T09:41:47.737

Reputation: 100 516

How does sharing of address space work across cores? – Thirupathi Thangavel – 2017-02-28T08:34:26.610

1All cores have access to the same address bus, if that's what you're asking. – Ignacio Vazquez-Abrams – 2017-02-28T08:46:02.900

Ok, what about the cache, registers? Are they not shared by threads of same process? – Thirupathi Thangavel – 2017-02-28T11:09:01.823

In a multi-threaded process, the threads share memory. If different threads are run by different cores, and each core has it's own cache & registers, then how is that memory shared? – Thirupathi Thangavel – 2017-02-28T11:16:48.787

1

One virtual core can work on only one thread of execution at a time. In essence, this is the definition of a virtual core. However, one process can be executed in any number of physical or virtual cores at the same time if it contains multiple threads of execution.

David Schwartz

Posted 2013-01-05T09:41:47.737

Reputation: 58 310