Well, you can and you can't. You cannot set one processor to only process foreground applications and the other to do background processes. You will need to go into the NT Task Manager, click on Processes, Right-Click on a process and select PROCESS AFFINITY. You have the option of selecting which processor you want that process to take over. You can then go back to the original configuration, which is both (or how ever many processors you have) processors.
The NT Kernel uses a process called
Symmetric Multiprocessing.
(CLIP from
here.)
Scheduling On Multiprocessor Systems
A multiprocessing operating system is one that can run on computer systems that contain more than one processor. Windows NT is a symmetric multiprocessing (SMP) system, meaning that it assumes that all of the processors are equal and that they all have access to the same physical memory. Therefore, Windows NT can run any thread on any available processor regardless of what process, user or Executive, owns the thread.
There are also asymmetric multiprocessing (ASMP) systems in which processors are different from each other--they may address different physical memory spaces, or they may have other differences. These operating systems only run certain processes on certain processors--for instance, the kernel might always execute on a particular processor.
The design of Windows NT supports processor affinity, whereby a process or thread can specify that it is to run on a particular set of processors, but this facility isn't supported in the first release.
Windows NT uses the same rules for scheduling on a multiprocessor system as it does on a single processor system, so at any given time the threads that are ready and have the highest priorities are actually running.