Acronym: Symmetrical Multi-Processing
A general name for the ability to use multiple CPUs in the same system.
SMP is better utilized if the number of running execution threads is at least the number of processors. That's why applications should be written in a way that allows them to divide their work between threads in order to fully utilize an SMP system.
Some operating systems use SMP better than others. For instance, recent Mac OS X statistics have shown better than a 100% speed increase with the use of a second processor on some systems. Windows 9x systems have none while Windows NT 4.0 had poor SMP capabilities (Windows 2000 and XP have improved). UNIX server OSs such as Solaris and IRIX have had multi-processor support for a long time and are highly efficient. Linux SMP support has always existed but has improved with each version of the Kernel as it continues to approach a greater server-readiness. FreeBSD has SMP support since version 5. OpenBSD has SMP support since 3.6. NetBSD currently unknown. Keep in mind it might not be supported (well) on all architectures.