Is there any method of determining what process is reading or writing to the hard drive?
(in a terminal) ?
(in a terminal) will tell you more about how to use this useful utility.
If you are runing KDE 3.x.y then <CTRL><ESCAPE> will give you a GUI representation of what processes are running.
You have plenty of RAM so it should not be using swap
which can be a cause of high HDD activity.
Most distros now come with a file-indexing thingy to enable you to find files fast.
This might be locate
or something like beagle
but there are others as well.
They'll all thrash your HDD whilst they try to index everything and build databases of what is located where to help give you almost instant answers to your "where is ...?" questions.
Mostly, they are set up to thrash the HDD only if you are not using it at the time. If you need access to your HDD, they (should) "back off" and let your requests to the HDD take priority, but the moment you have no need of access to the HDD, they'll be busy indexing things for you. Eventually the process will decide it has done its work, go back to sleep, and your PC will be peaceful again.