As an experiment, I just resuscitated a Y2K-era notebook with a few inexpensive hardware upgrades, split its hard disk into two 20GB partitions, and installed Windows XP with Service Pack 2 on one and Ubuntu Linux on the other. The results were surprising. (You can read all about it in Linux, XP and my old PC.)
That six-year-old PC turned out to be far from obsolete, which got me thinking about the nature of PC obsolescence.
My first IBM-based computer was built in the early 1980s by a Korean clonemaker and sold under the Leading Edge brand name. It had an Intel 8086 processor running at 8MHz or so and 512K of RAM, if I recall correctly. It had a monochrome monitor, at least one 5.25” floppy drive, and a hard disk whose capacity was measured in some small number of megabytes.
I replaced it with a succession of computers over the next ten years, each with incrementally larger hard disks and slightly faster processors. When I was testing beta versions of Windows 95 (then code-named Chicago) in 1993 and 1994, I was probably using a 33MHz 486 processor with 4MB (or maybe an eye-popping 8MB) of RAM.
Would you expect any of those ancient PCs to be even marginally useful today? Don’t make me laugh. Even the first-generation Pentium 133 and 166 models I spent more than $2000 to purchase in 1996 and 1997 would be nearly useless a mere decade later.
I was able to run the first release of Windows XP (including beta versions from 2000) on PCs built around Intel’s Pentium II series chips from 1998 or so. XP on a 233MHz wasn’t fast, but it worked. I wouldn’t do that today, however, mostly because the cost of the EDO memory chips it used would be prohibitive. It would probably run $100 to bring it up to its max of 192MB!
Basically, I think any computer using the Pentium 3 family or later and built in 1999 or later should probably be usable with Windows XP today, assuming you can find memory upgrades at a reasonable price.