The Linux kernel also provides a level of abstraction on top of the
processor(s) in your system -- allowing for multiple programs to appear to
run simultaneously. The kernel takes care of giving each process a fair
and timely share of the processors' computing resources.
If you're running Linux right now, then the kernel that you are using
now is either UP (uniprocessor) or SMP (symmetric multiprocessor) aware.
If you happen to have an SMP motherboard, but you're using a UP kernel,
Linux won't "see" your extra processors! To fix this, you'll want to
compile a special SMP kernel for your hardware. Currently, SMP kernels
will also work on uniprocessor systems, but at a slight performance
hit.