This is more of a theoretical question.
Assume we have processor P with C number of cores.
We have this software S which can max out one core of P. S is not optimized for multi-core processors; so it can not utilize other cores simultaneously.
Now, assuming we run two instances of S,
- will they both try to run on the same core?
- or the OS (windows/linux) will schedule them on different cores?
If later is true, we should be able to run C number of instances of S on P...right?