Hyperthreading was designed as a way to get better
scheduling behavior out of applications and operating
systems that weren't very good at fully cooperative
multitasking.
No operating systems use cooperative multitasking since Windows 9x/MacOS 9, as it's a nastily inefficient and error-prone system. I can't comment on the comparative merits of Windows XP vs Mac OS X's handling of multitasking, but both were built to use preemptive multitasking.
HyperThreading doesn't really have much to do with either multi-
tasking or operating system design, it's a form of simultaneous multi-
threading, which simply means the ability to make better use of the CPU, to dedicate processing time to a second thread while the first is waiting for data.
The Pentium 4's implementation of HT is a little awkward and dependent on various software factors, but generally speaking simultaneous multi-threading is a
good sort of thing to have.