JDocs :
Its called a better operating system.
Wrong.
XP and Vista
(and 7) are perfectly capable of balancing loads across (real or virtual) cores,
should the application being run support such behaviour. If you are running single threaded apps, however, then there is nothing to balance. The design of the
(game's) code does not allow for that. By definition, single threaded apps are run as a single process in a single location.
Even in a multi threaded application: All threads Are Not Created Equal. Typically, there will be one main process with smaller supporting functions existing which may be run elsewhere. So even in an application that's designed to be multi threaded, and *is* being 'load balanced', that load isn't exactly the same on all cores.
I have seen people with limited understanding take that to mean that a multi core processor us "useless", but that would also be incorrect. The advantage to be had running a multi core proccy with single threaded software is that a whole core can be entirely dedicated to that process because work can be performed on the (un)loaded core. So your game gets an entire core dedicated to running it as best that core can, and other processes can be handled elsewhere. A processor with only one core has to switch back and forth in order to juggle everything that has to be done.
The short answer is: Play your game and don't worry about it.