Linux - provided it recognises all your hardware. I have SLAX running on a Toshiba with 299MHz Celeron, 192Mb RAM and a 4GB HDD. It runs smoothly and doesn't crash. Lots of other Linux distributions will run on older hardware.
Have a look at click here which is a list of LiveCD versions. Burn the iso image of your choice to a CD, make sure your laptop is set to boot from CD and then run the Linux version. It will show you how well your laptop will handle the version (allow for the CD which will be much slower than a HDD). You can normally install directly from the LiveCD to your HDD (Slax is an exception and needs more work).
Look for Linux versions that are specially configured for older hardware. I've used Puppy Linux on systems lesser than yours - it can run entirely from RAM on a system with 128MB and is very fast indeed. click here
In fact with Puppy you can run the whole thing from a CD or memory stick, and never install it on the hard drive (no chance of malware there). It can still save your data and configuration setup to a file on the hard drive though (or back onto a memory stick).
There's even some superb desktop eye-candy for Puppy which makes it all look super-up-to-date! click here
The other well-known version for elderly hardware is DSL.