Does OS allocate each process to a separate core

computer-buildingmulti-core

Ok I know the classic argument for avoiding quad cores. At the application level, most applications haven't been written for multiple cores. Most desktop software doesn't even need parallelization.

However, at the OS level, it seems obvious that the OS would divide up processes across the various cores. Wouldn't this be by itself an argument for getting more cores? Doesn't that help out a lot in many situations? You get a few CPU intensive tasks going–those processes might each be hogging 100% of their cores, but I can still browse the web and ask questions on SuperUser on my last core…. right ?

Best Answer

The OS cannot split an individual single-threaded process across multiple cores (although it may change which core an application is running on, but that's a different question), however it can run multiple processes, each on its own core. So, yes, if you have multiple processor intensive applications running in the background, it is likely you will still have a spare core sitting around doing little or nothing you can use to run other applications.

Related Question