Multi-core CPUs and OS schedulers

K.I.L.E.R

Retarded moron
Veteran
I want to clear this up ASAP.
When programs are executed on a multi core system, are they really assigned a CPU by the OS scheduler? Is there a scheduler for each core?

I believed that a program will get a time slice of the next available CPU, that would be determined by a data structure that would auto-sort based on how busy each core would be.
 
Unless the process has an affinity mask it can run on any core at any timeslice on the discretion of the OS. It's not uncommon that a process jumps back and forth between different cores.
 
Thanks.

Could an affinity mask even be set for a multi-core cpu? I'm under the assumption that the number of cores are invisible to the OS on the scheduling level.
 
Back
Top