Before you buy components, be sure that they are supported by the operating system you plan
to use. Almost all current, commonly available devices have drivers available for current
versions of Windows (generally, anything 2000, XP or newer); if you want to run an alternative
operating system, you'll have to do some research -- many alternatives have extensive
'Hardware Compatibility Lists'.
Windows hardware support lists
Most processors and motherboards based on the i386 or x86_64 architectures are supported by
Windows XP. Put more simply, this means all available consumer processors (especially from
AMD or Intel).
For other hardware
Microsoft Compatible http://www.microsoft.com/whdc/hcl/default.mspx/
BSDs hardware support lists
•DesktopBSD, see FreeBSD 5.4/i386 http://www.freebsd.org/releases/5.4R/hardware-i386.html
and FreeBSD 5.4/amd64 http://www.freebsd.org/releases/5.4R/hardware-amd64.html
•Dragonfly BSD http://wiki.dragonflybsd.org/index.php/Supported_Hardware
•PC-BSD, see FreeBSD 6.0/i386 http://www.freebsd.org/releases/6.0R/hardware-i386.html